Module: EdgycircleToolbox::Sonapi::Resource::ClassMethods
- Defined in:
- lib/edgycircle_toolbox/sonapi/resource.rb
Instance Method Summary collapse
- #attribute(attribute_name) ⇒ Object
- #deserialize(parameters) ⇒ Object
- #dynamic_attributes(callable) ⇒ Object
- #parameter_filter(callable) ⇒ Object
- #serialize(object, options = {}) ⇒ Object
- #serialize_resource(object) ⇒ Object
- #type(type) ⇒ Object
Instance Method Details
#attribute(attribute_name) ⇒ Object
39 40 41 |
# File 'lib/edgycircle_toolbox/sonapi/resource.rb', line 39 def attribute(attribute_name) @blueprint.add_attribute attribute_name.to_s end |
#deserialize(parameters) ⇒ Object
35 36 37 |
# File 'lib/edgycircle_toolbox/sonapi/resource.rb', line 35 def deserialize(parameters) Deserializer.new(@blueprint).call(parameters) end |
#dynamic_attributes(callable) ⇒ Object
43 44 45 |
# File 'lib/edgycircle_toolbox/sonapi/resource.rb', line 43 def dynamic_attributes(callable) @blueprint.dynamic_attributes = callable end |
#parameter_filter(callable) ⇒ Object
47 48 49 |
# File 'lib/edgycircle_toolbox/sonapi/resource.rb', line 47 def parameter_filter(callable) @blueprint.parameter_filter = callable end |
#serialize(object, options = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/edgycircle_toolbox/sonapi/resource.rb', line 17 def serialize(object, = {}) if object.respond_to?(:map) data = object.map { |item| serialize_resource(item) } else data = serialize_resource(object) end result = { "data" => data } if [:included_resources] result.merge!({ "included" => [:included_resources] }) end result end |
#serialize_resource(object) ⇒ Object
13 14 15 |
# File 'lib/edgycircle_toolbox/sonapi/resource.rb', line 13 def serialize_resource(object) Serializer.new(@blueprint).call(object) end |