Class: Prism::Merge::BeginNodePlanEmitter
- Inherits:
-
Object
- Object
- Prism::Merge::BeginNodePlanEmitter
- Includes:
- SourceLineLookup
- Defined in:
- lib/prism/merge/begin_node_plan_emitter.rb
Instance Attribute Summary collapse
-
#merger ⇒ Object
readonly
Returns the value of attribute merger.
Instance Method Summary collapse
- #emit(template_node:, dest_node:, node_preference:, decision:, template_inline_by_line:, dest_inline_by_line:) ⇒ Object
-
#initialize(merger:) ⇒ BeginNodePlanEmitter
constructor
A new instance of BeginNodePlanEmitter.
Constructor Details
#initialize(merger:) ⇒ BeginNodePlanEmitter
Returns a new instance of BeginNodePlanEmitter.
10 11 12 |
# File 'lib/prism/merge/begin_node_plan_emitter.rb', line 10 def initialize(merger:) @merger = merger end |
Instance Attribute Details
#merger ⇒ Object (readonly)
Returns the value of attribute merger.
8 9 10 |
# File 'lib/prism/merge/begin_node_plan_emitter.rb', line 8 def merger @merger end |
Instance Method Details
#emit(template_node:, dest_node:, node_preference:, decision:, template_inline_by_line:, dest_inline_by_line:) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/prism/merge/begin_node_plan_emitter.rb', line 14 def emit(template_node:, dest_node:, node_preference:, decision:, template_inline_by_line:, dest_inline_by_line:) begin_clause_line_map = merger.send(:begin_node_clause_line_map, template_node, dest_node) merger.send( :begin_node_merge_planner, template_node: template_node, dest_node: dest_node, node_preference: node_preference ).plan.each do |step| emit_step( step, node_preference: node_preference, decision: decision, template_inline_by_line: template_inline_by_line, dest_inline_by_line: dest_inline_by_line, begin_clause_line_map: begin_clause_line_map ) end end |