Class: TarvitHelpers::HashPresenter::WithRules

Inherits:
Cached
  • Object
show all
Defined in:
lib/tarvit-helpers/modules/hash_presenter/with_rules.rb

Direct Known Subclasses

Custom

Defined Under Namespace

Classes: Rule, RulesHolder

Instance Attribute Summary collapse

Attributes inherited from Simple

#_hash, #_levels, #_parent

Instance Method Summary collapse

Methods inherited from Cached

#_value

Methods inherited from Simple

#_root?, #method_missing

Constructor Details

#initialize(hash, levels = [], parent = nil, rules_holder = nil, &rules) ⇒ WithRules

Returns a new instance of WithRules.



7
8
9
10
11
12
# File 'lib/tarvit-helpers/modules/hash_presenter/with_rules.rb', line 7

def initialize(hash, levels=[], parent=nil, rules_holder=nil, &rules)
  super(hash, levels, parent)
  @_rules_holder = rules_holder || RulesHolder.new
  _add_rules(@_rules_holder) if _rules_holder.rules.empty?
  rules.call(_rules_holder) if rules
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TarvitHelpers::HashPresenter::Simple

Instance Attribute Details

#_rules_holderObject (readonly) Also known as: _rules

Returns the value of attribute _rules_holder.



5
6
7
# File 'lib/tarvit-helpers/modules/hash_presenter/with_rules.rb', line 5

def _rules_holder
  @_rules_holder
end

Instance Method Details

#_current_path(method_name) ⇒ Object



14
15
16
# File 'lib/tarvit-helpers/modules/hash_presenter/with_rules.rb', line 14

def _current_path(method_name)
  _levels + [ method_name ]
end