Module: Charyf::Strategy::ClassMethods
- Defined in:
- lib/charyf/utils/strategy.rb
Instance Method Summary collapse
- #_aliases ⇒ Object
- #_subclasses ⇒ Object
- #base ⇒ Object
- #inherited(subclass) ⇒ Object
- #known ⇒ Object
- #list ⇒ Object
- #strategy_name(name = nil) ⇒ Object
Instance Method Details
#_aliases ⇒ Object
26 27 28 |
# File 'lib/charyf/utils/strategy.rb', line 26 def _aliases @_aliases ||= Hash.new end |
#_subclasses ⇒ Object
22 23 24 |
# File 'lib/charyf/utils/strategy.rb', line 22 def _subclasses @_subclasses ||= [] end |
#base ⇒ Object
38 39 40 |
# File 'lib/charyf/utils/strategy.rb', line 38 def base raise Charyf::Utils::NotImplemented.new("No base class found for #{self}") end |
#inherited(subclass) ⇒ Object
9 10 11 |
# File 'lib/charyf/utils/strategy.rb', line 9 def inherited(subclass) base._subclasses << subclass end |
#known ⇒ Object
30 31 32 |
# File 'lib/charyf/utils/strategy.rb', line 30 def known base._subclasses end |
#list ⇒ Object
34 35 36 |
# File 'lib/charyf/utils/strategy.rb', line 34 def list base._aliases end |
#strategy_name(name = nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/charyf/utils/strategy.rb', line 13 def strategy_name(name = nil) if name @_strategy_name = name base._aliases[name] = self end @_strategy_name end |