Module: Charyf::Strategy::BaseClass::ClassMethods

Defined in:
lib/charyf/utils/strategy/base_class.rb

Instance Method Summary collapse

Instance Method Details

#_aliasesObject



31
32
33
# File 'lib/charyf/utils/strategy/base_class.rb', line 31

def _aliases
  @_aliases ||= Hash.new
end

#_subclassesObject



27
28
29
# File 'lib/charyf/utils/strategy/base_class.rb', line 27

def _subclasses
  @_subclasses ||= []
end

#baseObject



43
44
45
# File 'lib/charyf/utils/strategy/base_class.rb', line 43

def base
  @_base_class
end

#inherited(subclass) ⇒ Object



13
14
15
16
# File 'lib/charyf/utils/strategy/base_class.rb', line 13

def inherited(subclass)
  base._subclasses << subclass
  subclass.instance_variable_set('@_base_class', base)
end

#knownObject



35
36
37
# File 'lib/charyf/utils/strategy/base_class.rb', line 35

def known
  base._subclasses
end

#listObject



39
40
41
# File 'lib/charyf/utils/strategy/base_class.rb', line 39

def list
  base._aliases
end

#strategy_name(name = nil) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/charyf/utils/strategy/base_class.rb', line 18

def strategy_name(name = nil)
  if name
    @_strategy_name = name
    base._aliases[name] = self
  end

  @_strategy_name
end