class EdgycircleToolbox::Sonapi::Deserializer
Attributes
blueprint[R]
Public Class Methods
new(blueprint)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/deserializer.rb, line 6 def initialize(blueprint) @blueprint = blueprint end
Public Instance Methods
call(parameters)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/deserializer.rb, line 10 def call(parameters) Hash[ filter_parameter_pairs(parameter_pairs(parameters)) ] end
Private Instance Methods
filter_parameter_pairs(pairs)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/deserializer.rb, line 29 def filter_parameter_pairs(pairs) pairs.select { |pair| blueprint.deserialize_parameter?(pair[0], pair[1]) } end
format_attribute_name(attribute_name)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/deserializer.rb, line 25 def format_attribute_name(attribute_name) attribute_name.to_s.gsub("-", "_").to_sym end
parameter_pairs(parameters)
click to toggle source
# File lib/edgycircle_toolbox/sonapi/deserializer.rb, line 17 def parameter_pairs(parameters) id_pair = [:id, parameters["data"]["id"]] parameters["data"]["attributes"].to_a.map do |pair| [format_attribute_name(pair[0]), pair[1]] end << id_pair end