class ActiveRecord::VirtualEnumerations::Config
Config
class for VirtualEnumerations
Public Instance Methods
Source
# File lib/active_record/virtual_enumerations.rb, line 176 def [](arg) @enumeration_defs[arg] end
Proxies lookups to @enumeration_defs
Source
# File lib/active_record/virtual_enumerations.rb, line 151 def define(*args, &block) options = args.extract_options! args.compact! args.flatten! args.each do |class_name| camel_name = class_name.to_s.camelize if camel_name.blank? raise ArgumentError, "ActiveRecord::VirtualEnumerations.define - invalid class_name argument (#{class_name.inspect})" end if @enumeration_defs[camel_name.to_sym] raise ArgumentError, "ActiveRecord::VirtualEnumerations.define - class_name already defined (#{camel_name})" end options.assert_valid_keys(:table_name, :extends, :conditions, :order, :on_lookup_failure, :name_column, :alias_name) enum_def = options.clone enum_def[:extends] = if superclass = enum_def[:extends] superclass.to_s.camelize else "ActiveRecord::Base" end enum_def[:customizations_block] = block @enumeration_defs[camel_name.to_sym] = enum_def end end
Creates definition(s) for one or more enums.