class Object

Public Class Methods

attr_serializer(*args) click to toggle source
# File lib/attr_serializer.rb, line 11
def self.attr_serializer *args
  self.serializer_aliases = self.serializer_aliases.merge(args.extract_options!)
  self.attr_serializers += args + self.serializer_aliases.keys

  define_method :serializable_attributes do
    attr_serializers.each_with_object({}){ |attr,memo| memo[attr] = send(serializer_aliases[attr] || attr) }
  end
  define_method(:serializable_hash){ |opt = nil| send(:serializable_attributes) }
end