Class: MarkdownComposer::PlanBuilder
- Inherits:
-
Object
- Object
- MarkdownComposer::PlanBuilder
- Defined in:
- lib/markdown_composer/plan_builder.rb
Instance Method Summary collapse
- #append(target = nil) ⇒ Object
- #copy(target) ⇒ Object
- #from(source) ⇒ Object
- #include(*items) ⇒ Object
-
#initialize ⇒ PlanBuilder
constructor
A new instance of PlanBuilder.
- #insert_after(target) ⇒ Object
- #insert_before(target) ⇒ Object
- #insert_between(target) ⇒ Object
- #modify(target = nil, transforms: nil) ⇒ Object
- #move(target) ⇒ Object
- #output(format) ⇒ Object
- #prepend(target = nil) ⇒ Object
- #remove_buffer_target(target = nil) ⇒ Object
- #replace(target) ⇒ Object
- #select(selector) ⇒ Object
- #set(target = nil) ⇒ Object
- #target(target) ⇒ Object
- #to_plan ⇒ Object
- #transform(scope, transform, mode, options = {}) ⇒ Object
- #transform_buffer_target(target = nil, transforms: nil) ⇒ Object
Constructor Details
#initialize ⇒ PlanBuilder
Returns a new instance of PlanBuilder.
5 6 7 8 9 10 |
# File 'lib/markdown_composer/plan_builder.rb', line 5 def initialize @rows = [] @transforms = [] @current = {} @output = nil end |
Instance Method Details
#append(target = nil) ⇒ Object
37 38 39 |
# File 'lib/markdown_composer/plan_builder.rb', line 37 def append(target = nil) finish("append", target) end |
#copy(target) ⇒ Object
61 62 63 |
# File 'lib/markdown_composer/plan_builder.rb', line 61 def copy(target) finish("copy", target) end |
#from(source) ⇒ Object
12 13 14 |
# File 'lib/markdown_composer/plan_builder.rb', line 12 def from(source) @current["source"] = source end |
#include(*items) ⇒ Object
20 21 22 23 |
# File 'lib/markdown_composer/plan_builder.rb', line 20 def include(*items) existing = Array(@current["include"]) @current["include"] = existing.concat(items.flatten).compact end |
#insert_after(target) ⇒ Object
49 50 51 |
# File 'lib/markdown_composer/plan_builder.rb', line 49 def insert_after(target) finish("insert_after", target) end |
#insert_before(target) ⇒ Object
45 46 47 |
# File 'lib/markdown_composer/plan_builder.rb', line 45 def insert_before(target) finish("insert_before", target) end |
#insert_between(target) ⇒ Object
53 54 55 |
# File 'lib/markdown_composer/plan_builder.rb', line 53 def insert_between(target) finish("insert_between", target) end |
#modify(target = nil, transforms: nil) ⇒ Object
69 70 71 72 |
# File 'lib/markdown_composer/plan_builder.rb', line 69 def modify(target = nil, transforms: nil) @current["transforms"] = Array(transforms) if transforms finish("modify", target) end |
#move(target) ⇒ Object
65 66 67 |
# File 'lib/markdown_composer/plan_builder.rb', line 65 def move(target) finish("move", target) end |
#output(format) ⇒ Object
29 30 31 |
# File 'lib/markdown_composer/plan_builder.rb', line 29 def output(format) @output = format.to_s end |
#prepend(target = nil) ⇒ Object
41 42 43 |
# File 'lib/markdown_composer/plan_builder.rb', line 41 def prepend(target = nil) finish("prepend", target) end |
#remove_buffer_target(target = nil) ⇒ Object
74 75 76 77 |
# File 'lib/markdown_composer/plan_builder.rb', line 74 def remove_buffer_target(target = nil) target ||= @current["select"] finish("remove_buffer_target", target) end |
#replace(target) ⇒ Object
57 58 59 |
# File 'lib/markdown_composer/plan_builder.rb', line 57 def replace(target) finish("replace", target) end |
#select(selector) ⇒ Object
16 17 18 |
# File 'lib/markdown_composer/plan_builder.rb', line 16 def select(selector) @current["select"] = selector end |
#set(target = nil) ⇒ Object
33 34 35 |
# File 'lib/markdown_composer/plan_builder.rb', line 33 def set(target = nil) finish("set", target) end |
#target(target) ⇒ Object
25 26 27 |
# File 'lib/markdown_composer/plan_builder.rb', line 25 def target(target) @current["target"] = target end |
#to_plan ⇒ Object
93 94 95 96 97 98 |
# File 'lib/markdown_composer/plan_builder.rb', line 93 def to_plan config = { "compose" => @rows } config["transform"] = @transforms if @transforms.any? config["output"] = @output if @output Plan.new(config) end |
#transform(scope, transform, mode, options = {}) ⇒ Object
84 85 86 87 88 89 90 91 |
# File 'lib/markdown_composer/plan_builder.rb', line 84 def transform(scope, transform, mode, = {}) @transforms << { "scope" => scope, "transform" => transform, "mode" => mode, "options" => } end |
#transform_buffer_target(target = nil, transforms: nil) ⇒ Object
79 80 81 82 |
# File 'lib/markdown_composer/plan_builder.rb', line 79 def transform_buffer_target(target = nil, transforms: nil) @current["transforms"] = Array(transforms) if transforms finish("transform_buffer_target", target) end |