Class: ActiveRecord::Enumerations::EnumBlock

Inherits:
Object
  • Object
show all
Defined in:
lib/ar_enums/enum_block.rb

Instance Method Summary collapse

Constructor Details

#initialize(enum_class, options = {}) ⇒ EnumBlock

Returns a new instance of EnumBlock.



4
5
6
7
8
9
# File 'lib/ar_enums/enum_block.rb', line 4

def initialize enum_class, options = {}
  @enums = []
  @last_id = 0
  @enum_class = enum_class
  @options = options
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, args = {}) ⇒ Object



11
12
13
14
15
# File 'lib/ar_enums/enum_block.rb', line 11

def method_missing method, args = {}
  attrs = @options.merge(args).merge(:name => method)
  attrs[:id] ||= @last_id += 1
  @enums << @enum_class.new(attrs)
end