Sha256: 7c4d7b3842ef65863813aa816a43592db34c7afc6b8d208b28c7ef97c12bbb2f

Contents?: true

Size: 375 Bytes

Versions: 3

Compression:

Stored size: 375 Bytes

Contents

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ar-enums-2.0.2 lib/ar_enums/enum_block.rb
ar-enums-2.0.1 lib/ar_enums/enum_block.rb
ar-enums-2.0.0 lib/ar_enums/enum_block.rb