class Enumerize::ActiveRecordSupport::Type
Public Class Methods
new(attr, subtype)
click to toggle source
# File lib/enumerize/activerecord.rb, line 102 def initialize(attr, subtype) @attr = attr @subtype = subtype end
Public Instance Methods
as_json(options = nil)
click to toggle source
# File lib/enumerize/activerecord.rb, line 120 def as_json(options = nil) {attr: @attr.name, subtype: @subtype}.as_json(options) end
deserialize(value)
click to toggle source
# File lib/enumerize/activerecord.rb, line 114 def deserialize(value) @attr.find_value(value) end
Also aliased as: type_cast_from_database
encode_with(coder)
click to toggle source
# File lib/enumerize/activerecord.rb, line 124 def encode_with(coder) coder[:class_name] = @attr.klass.name coder[:attr_name] = @attr.name coder[:subtype] = @subtype end
init_with(coder)
click to toggle source
# File lib/enumerize/activerecord.rb, line 130 def init_with(coder) initialize( coder[:class_name].constantize.enumerized_attributes[coder[:attr_name]], coder[:subtype] ) end
serialize(value)
click to toggle source
# File lib/enumerize/activerecord.rb, line 107 def serialize(value) v = @attr.find_value(value) (v && v.value) || value end
Also aliased as: type_cast_for_database