Module: RailsUtils::ActiveRecord::BaseExtensions
- Defined in:
- lib/rails_utils/ordinal.rb
Instance Method Summary collapse
Instance Method Details
#ordinal_field(field_name, options = {}) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/rails_utils/ordinal.rb', line 28 def ordinal_field(field_name, = {}) define_method "#{field_name}" do s = instance_variable_get "@#{field_name}_status" if s.nil? s = OrdinalValue.new [:values], (self[field_name] || [:default]) instance_variable_set "@#{field_name}_status", s end s end define_method "#{field_name}=" do |value| s = self.send(field_name) s.set value self[field_name] = s.to_s s end end |
#ordinal_fields(*args) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/rails_utils/ordinal.rb', line 46 def ordinal_fields(*args) = (Hash === args[-1]) ? args.pop : {} args.each do |field_name| ordinal_field field_name, end end |