class FlightFacade::BaseHashieDashModel
Attributes
data[R]
Public Class Methods
_jsonapi_serializer_class_name()
click to toggle source
# File lib/flight_facade/models.rb, line 47 def self._jsonapi_serializer_class_name @_jsonapi_serializer_class_name ||= name.split('::').last + 'Serializer' end
_type()
click to toggle source
# File lib/flight_facade/models.rb, line 51 def self._type @_type ||= name.split('::').last.demodulize.tableize.dasherize end
inherited(klass)
click to toggle source
# File lib/flight_facade/models.rb, line 33 def self.inherited(klass) data_class = Class.new(Hashie::Dash) do include Hashie::Extensions::IgnoreUndeclared include ActiveModel::Validations def self.method_added(m) parent.delegate(m, to: :data) end end klass.const_set('DataHash', data_class) klass.delegate(*(ActiveModel::Validations.instance_methods - Object.methods), to: :data) end
method_added(m)
click to toggle source
# File lib/flight_facade/models.rb, line 38 def self.method_added(m) parent.delegate(m, to: :data) end
new(*a)
click to toggle source
# File lib/flight_facade/models.rb, line 57 def initialize(*a) @data = self.class::DataHash.new(*a) end
Public Instance Methods
jsonapi_serializer_class_name()
click to toggle source
# File lib/flight_facade/models.rb, line 61 def jsonapi_serializer_class_name self.class._jsonapi_serializer_class_name end
type()
click to toggle source
# File lib/flight_facade/models.rb, line 65 def type self.class._type end