Class: Junoser::Squash
- Inherits:
-
Object
- Object
- Junoser::Squash
- Defined in:
- lib/junoser/squash.rb
Instance Method Summary collapse
-
#initialize(io_or_string) ⇒ Squash
constructor
A new instance of Squash.
- #transform ⇒ Object
Constructor Details
#initialize(io_or_string) ⇒ Squash
Returns a new instance of Squash.
6 7 8 9 10 11 |
# File 'lib/junoser/squash.rb', line 6 def initialize(io_or_string) @input = io_or_string @lines = [] @parser = Junoser::Parser.new @transformer = Junoser::Transformer.new end |
Instance Method Details
#transform ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/junoser/squash.rb', line 13 def transform config = Junoser::Input.new(@input).read.split("\n") config.each do |l| l.strip! case l when /^(set|deactivate) / @lines << l when /^delete / delete_lines delete_pattern(l.gsub(/^delete /, 'set ')) when /^activate / delete_lines l.gsub(/^activate /, 'deactivate ') when /^insert (.*) before (.*)/ insert_before "set #{$1}", $2 when /^insert (.*) after (.*)/ insert_after "set #{$1}", $2 end end @lines.uniq! remove_subcommand(@lines).map(&:strip).join("\n") end |