Class: YAMLRewriter::Rewriter
- Inherits:
-
Object
- Object
- YAMLRewriter::Rewriter
show all
- Defined in:
- lib/yaml_rewriter/rewriter.rb
Overview
Usage:
class MyRewriter < YAMLRewriter::Rewriter
define_rule ['foo' => 'bar']
define_rule ['one', 'two', 'threeee' => 'three']
end
MyRewriter.new('foo: baz').rewrite
rewriter = MyRewriter.new(" one:\n two:\n threeee: 123\n")
rewriter.rewrite
two:
three: 123
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(yaml, reverse: false) ⇒ Rewriter
22
23
24
25
26
|
# File 'lib/yaml_rewriter/rewriter.rb', line 22
def initialize(yaml, reverse: false)
@yaml = yaml.dup
@reverse = reverse
@offset = 0
end
|
Class Method Details
.define_rule(rule) ⇒ Object
29
30
31
|
# File 'lib/yaml_rewriter/rewriter.rb', line 29
def self.define_rule(rule)
rules.push(Rule.new(rule))
end
|
.rules ⇒ Object
33
34
35
|
# File 'lib/yaml_rewriter/rewriter.rb', line 33
def self.rules
@rules ||= []
end
|
Instance Method Details
#rewrite ⇒ String
38
39
40
41
42
|
# File 'lib/yaml_rewriter/rewriter.rb', line 38
def rewrite
tree = Parser.new.parse(@yaml).handler.root
traverse(tree)
@yaml
end
|