Method: Xunch::Codec#initialize
- Defined in:
- lib/xunch/codec/codec.rb
#initialize(klass) ⇒ Codec
Returns a new instance of Codec.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/xunch/codec/codec.rb', line 11 def initialize(klass) raise XunchCodecError.new("Codec class does not defined method '_accessible_attributes', maybe this klass is not a subclass of ActiveRecord::Base.") unless klass.method_defined?(:_accessible_attributes) @klass = klass @type_map = DEFAULT_TYPE_MAP if @klass.const_defined? :TYPE_MAP @type_map = @type_map.merge(@klass::TYPE_MAP) end @set_methods = {} @get_methods = {} @klass.attribute_names.each { |attribute| if attribute.length == 0 next end field = Utils.format_field(attribute) @get_methods[field] = attribute.to_sym @set_methods[field] = (attribute + "=").to_sym } end |