Class: MasterView::DirectiveSet
- Inherits:
-
Object
- Object
- MasterView::DirectiveSet
- Defined in:
- lib/masterview/parser.rb
Instance Attribute Summary collapse
-
#directives ⇒ Object
Returns the value of attribute directives.
Instance Method Summary collapse
- #<<(directive) ⇒ Object
- #create_call_proc(directive, method_name_sym) ⇒ Object
- #determine_dcs(method_name) ⇒ Object
-
#initialize ⇒ DirectiveSet
constructor
A new instance of DirectiveSet.
Constructor Details
#initialize ⇒ DirectiveSet
Returns a new instance of DirectiveSet.
86 87 88 |
# File 'lib/masterview/parser.rb', line 86 def initialize @directives = [] end |
Instance Attribute Details
#directives ⇒ Object
Returns the value of attribute directives.
85 86 87 |
# File 'lib/masterview/parser.rb', line 85 def directives @directives end |
Instance Method Details
#<<(directive) ⇒ Object
90 91 92 93 94 |
# File 'lib/masterview/parser.rb', line 90 def <<(directive) @directives << directive @directives.flatten! self end |
#create_call_proc(directive, method_name_sym) ⇒ Object
107 108 109 110 111 112 |
# File 'lib/masterview/parser.rb', line 107 def create_call_proc(directive, method_name_sym) lambda do |dcs| directive.save_directive_call_stack(dcs) if directive.respond_to? :save_directive_call_stack directive.send(method_name_sym, dcs) end end |
#determine_dcs(method_name) ⇒ Object
96 97 98 99 100 101 102 103 104 105 |
# File 'lib/masterview/parser.rb', line 96 def determine_dcs(method_name) method_name_sym = method_name.to_sym dcs = DirectiveCallStack.new @directives.each do |directive| if directive.respond_to? method_name_sym dcs << create_call_proc(directive, method_name_sym) end end dcs end |