module EdgycircleToolbox::Sonapi::Resource::ClassMethods
Public Instance Methods
attribute(attribute_name)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 39 def attribute(attribute_name) @blueprint.add_attribute attribute_name.to_s end
deserialize(parameters)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 35 def deserialize(parameters) Deserializer.new(@blueprint).call(parameters) end
dynamic_attributes(callable)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 43 def dynamic_attributes(callable) @blueprint.dynamic_attributes = callable end
parameter_filter(callable)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 47 def parameter_filter(callable) @blueprint.parameter_filter = callable end
serialize(object, options = {})
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 17 def serialize(object, options = {}) if object.respond_to?(:map) data = object.map { |item| serialize_resource(item) } else data = serialize_resource(object) end result = { "data" => data } if options[:included_resources] result.merge!({ "included" => options[:included_resources] }) end result end
serialize_resource(object)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 13 def serialize_resource(object) Serializer.new(@blueprint).call(object) end
type(type)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/resource.rb, line 9 def type(type) @blueprint = Blueprint.new(type) end