class AbstractSerializer
Public Class Methods
available_attributes()
click to toggle source
# File lib/mealib/abstract_serializer.rb, line 19 def available_attributes [] end
opts()
click to toggle source
# File lib/mealib/abstract_serializer.rb, line 23 def opts @opts end
serialize(model, attributes: available_attributes, opts: {})
click to toggle source
# File lib/mealib/abstract_serializer.rb, line 8 def serialize(model, attributes: available_attributes, opts: {}) @opts = opts unknown_attributes = attributes - available_attributes if unknown_attributes.present? raise StandardError, sprintf('Unknown attributes: %s', unknown_attributes.join(', ')) end attributes.each_with_object({}) { |attribute, result| result.merge!(send(attribute, model)) } end