Module: StatefulEnum::ActiveRecordEnumExtension
- Defined in:
- lib/stateful_enum/active_record_extension.rb
Instance Method Summary collapse
-
#enum(definitions, &block) ⇒ Object
enum status: 0, assigned: 1, resolved: 2, closed: 3 do event :assign do transition :unassigned => :assigned end end.
Instance Method Details
#enum(definitions, &block) ⇒ Object
enum status: 0, assigned: 1, resolved: 2, closed: 3 do
event :assign do
transition :unassigned => :assigned
end
end
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/stateful_enum/active_record_extension.rb', line 10 def enum(definitions, &block) prefix, suffix = definitions[:_prefix], definitions[:_suffix] if Rails::VERSION::STRING >= '5' enum = super definitions if block definitions.each_key do |column| states = enum[column] StatefulEnum::Machine.new self, column, (states.is_a?(Hash) ? states.keys : states), prefix, suffix, &block end end end |