Sha256: c76bc9b913ca9273685db843bf58b9f8f0c308d7d0aae8c31382dcc3ba9f2652
Contents?: true
Size: 913 Bytes
Versions: 3
Compression:
Stored size: 913 Bytes
Contents
module RevealCK module Changers # # Public: A Splicer knows how to insert a list of lines into a file. # class Splicer def initialize(lines) @lines = lines end def insert(new_lines, opts) index = @lines.each.with_index do |line, i| break i + 1 if line.include? opts[:after] end @lines.insert(index, new_lines).flatten end def self.insert!(to_insert, opts) to_insert_lines = readlines to_insert insert_into_file = opts[:into] insert_into_lines = readlines insert_into_file splicer = Splicer.new insert_into_lines spliced_lines = splicer.insert to_insert_lines, after: opts[:after] File.open(insert_into_file, 'w') { |file| file << spliced_lines.join } end private def self.readlines(file) File.open(file).readlines end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
reveal-ck-0.2.0 | lib/reveal-ck/changers/splicer.rb |
reveal-ck-0.1.8 | lib/reveal-ck/changers/splicer.rb |
reveal-ck-0.1.7 | lib/reveal-ck/changers/splicer.rb |