Module: LooseAttr::ActiveRecordExt::ClassMethods
- Defined in:
- lib/loose_attr/active_record_ext.rb
Instance Method Summary collapse
- #loose_attr(name, cast_type: :string, default_value: nil, option: {}) ⇒ Object
- #loose_attr_column_name ⇒ Object
- #modify_loose_attr_column_name(name) ⇒ Object
Instance Method Details
#loose_attr(name, cast_type: :string, default_value: nil, option: {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/loose_attr/active_record_ext.rb', line 12 def loose_attr(name, cast_type: :string, default_value: nil, option: {}) # read attr define_method name do value = hashed_ext.send(name.to_s) || default_value cast(value, cast_type, option) end # write attr define_method "#{name}=" do |value| hashed_ext.send("#{name}=", value) end end |
#loose_attr_column_name ⇒ Object
29 30 31 |
# File 'lib/loose_attr/active_record_ext.rb', line 29 def loose_attr_column_name @loose_attr_column_name ||= 'ext_field' end |
#modify_loose_attr_column_name(name) ⇒ Object
25 26 27 |
# File 'lib/loose_attr/active_record_ext.rb', line 25 def modify_loose_attr_column_name(name) @loose_attr_column_name = name.to_sym end |