module StatefulEnum::ActiveRecordEnumExtension
Public Instance Methods
enum(definitions, &block)
click to toggle source
enum status: {unassigned: 0, assigned: 1, resolved: 2, closed: 3} do
event :assign do transition :unassigned => :assigned end
end
Calls superclass method
# File lib/stateful_enum/active_record_extension.rb, line 12 def enum(definitions, &block) prefix, suffix = definitions[:_prefix], definitions[:_suffix] if Rails::VERSION::MAJOR >= 5 enum = super definitions if block definitions.each_key do |column| states = enum[column] (@_defined_stateful_enums ||= []) << StatefulEnum::Machine.new(self, column, (states.is_a?(Hash) ? states.keys : states), prefix, suffix, &block) end end end