Module: FlexFields::Base::ClassMethods
- Defined in:
- lib/flex_fields/base.rb
Instance Method Summary collapse
- #flex_accessor(options) ⇒ Object
- #flex_fields(options = {}) ⇒ Object
- #set_flex_options(options) ⇒ Object
Instance Method Details
#flex_accessor(options) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/flex_fields/base.rb', line 37 def flex_accessor() .each_pair do |name,type| setter = (name.to_s + '=').to_sym define_method(name) {self.read_flex_field(name)} define_method(setter) {|val| self.write_flex_field(name, val)} end end |
#flex_fields(options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/flex_fields/base.rb', line 10 def flex_fields(={}) () serialize(self.flex_fields_column, Hash) unless self.serialized_attributes.keys.include?(self.flex_fields_column) include InstanceMethods flex_accessor() end |
#set_flex_options(options) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/flex_fields/base.rb', line 21 def () class_attribute :flex_fields_column unless self.respond_to?(:flex_fields_column) class_attribute :flex_fields_config unless self.respond_to?(:flex_fields_config) self.flex_fields_config ||= {} if !self.flex_fields_column column_name = .delete(:column_name) || :flex self.flex_fields_column = column_name.to_sym if column_name self.flex_fields_config = else self.flex_fields_config = flex_fields_config.merge() end end |