Sha256: afeb0b54cfcdc74b27c0668d927b87eeb3d56324b854dcd99ff6cb831162ccd7
Contents?: true
Size: 822 Bytes
Versions: 1
Compression:
Stored size: 822 Bytes
Contents
require 'active_enum/base' require 'active_enum/extensions' require 'active_enum/acts_as_enum' require 'active_enum/version' module ActiveEnum mattr_accessor :enum_classes self.enum_classes = [] mattr_accessor :use_name_as_value self.use_name_as_value = false mattr_accessor :raise_error_for_not_defined self.raise_error_for_not_defined = false class Configuration def enum(name, &block) class_name = name.to_s.camelize class_def = <<-end_eval class #{class_name} < ActiveEnum::Base end end_eval eval(class_def, TOPLEVEL_BINDING) new_enum = Module.const_get(class_name) new_enum.class_eval(&block) end end def self.define(&block) raise "Define requires block" unless block_given? Configuration.new.instance_eval(&block) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_enum-0.6.2 | lib/active_enum.rb |