Class: MasterView::TemplateProcessing::DirectiveSet
- Inherits:
-
Object
- Object
- MasterView::TemplateProcessing::DirectiveSet
- Defined in:
- lib/masterview/parser.rb
Overview
List of directives.
Constructed with the directives for a template document element, sorted into processing order by directive priority level
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
95 96 97 |
# File 'lib/masterview/parser.rb', line 95 def initialize @directives = [] end |
Instance Attribute Details
#directives ⇒ Object
Returns the value of attribute directives.
94 95 96 |
# File 'lib/masterview/parser.rb', line 94 def directives @directives end |
Instance Method Details
#<<(directive) ⇒ Object
99 100 101 102 103 |
# File 'lib/masterview/parser.rb', line 99 def <<(directive) @directives << directive @directives.flatten! self end |
#create_call_proc(directive, method_name_sym) ⇒ Object
116 117 118 119 120 121 |
# File 'lib/masterview/parser.rb', line 116 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
105 106 107 108 109 110 111 112 113 114 |
# File 'lib/masterview/parser.rb', line 105 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 |