Module: Mixin::Enum

Defined in:
lib/mixin/enum.rb,
lib/mixin/enum/binder.rb,
lib/mixin/enum/version.rb,
lib/mixin/enum/accessor.rb,
lib/mixin/enum/factor/base.rb,
lib/mixin/enum/factor/object.rb,
lib/mixin/enum/factor/struct.rb,
lib/mixin/enum/factor_factory.rb

Defined Under Namespace

Modules: Accessor, Binder, ClassMethods, Factor Classes: FactorFactory

Constant Summary collapse

VERSION =
'0.1.1'.freeze

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/mixin/enum.rb', line 13

def self.included(klass)
  klass.extend ClassMethods
  # NOTE: Ruby 2.0
  if klass.private_methods.include?(:include)
    klass.extend Accessor::ClassMethods
    klass.extend Binder::ClassMethods
  else
    klass.include Accessor
    klass.include Binder
  end
end