Module: ScopedEnum::ClassMethods
- Defined in:
- lib/scoped_enum.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(base) ⇒ Object
10 11 12 13 |
# File 'lib/scoped_enum.rb', line 10 def self.extended(base) base.class_attribute(:defined_enum_scopes) base.defined_enum_scopes = HashWithIndifferentAccess.new end |
Instance Method Details
#scoped_enum(enum_name, enum_entries, scopes = {}) {|scope_creator| ... } ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/scoped_enum.rb', line 15 def scoped_enum(enum_name, enum_entries, scopes = {}) enum(enum_name => enum_entries) scopes = HashWithIndifferentAccess.(scopes) scope_creator = ScopeCreator.new(self, enum_name) scopes.each do |scope_name, scope_enum_keys| scope_creator.scope scope_name, scope_enum_keys end yield scope_creator if block_given? scope_creator.generate_enum_scopes_method end |