module Decay::ActiveEnum
Public Instance Methods
active_enum(**rules)
click to toggle source
# File lib/decay/active_enum.rb, line 3 def active_enum(**rules) rules.each do |enum_name, enum_values| enumerated_type_class = if enum_values.is_a?(Hash) ::Decay::EnumeratedType.create(nil, **enum_values) else ::Decay::EnumeratedType.create(nil, *enum_values) end meta = Decay::Metaprogramming.new( class: self, enumerated_type: enumerated_type_class, enumerated_type_name: enum_name ) meta.define_enumerated_type meta.define_active_record_attribute meta.define_active_record_bang_setters meta.define_active_record_question_getters meta.define_active_record_scopes end end