Sha256: 8fe4ad70c58aa412d4d29958f2296a562b529dec3c718d224e6fe79dce001f49

Contents?: true

Size: 1.7 KB

Versions: 2

Compression:

Stored size: 1.7 KB

Contents

# rubocop:disable Metrics/MethodLength
require 'insert_from_file/version'
require 'line_containing'
require 'string_in_file'

#
module InsertFromFile
  def self.add_before(file_source, file_dest, str_dest)
    str_to_add = StringInFile.read(file_source)
    LineContaining.add_before(str_dest, str_to_add, file_dest)
  end

  def self.add_after(file_source, file_dest, str_dest)
    str_to_add = StringInFile.read(file_source)
    LineContaining.add_after(str_dest, str_to_add, file_dest)
  end

  def self.replace(file_source, file_dest, str_dest)
    str_to_add = StringInFile.read(file_source)
    LineContaining.replace(str_dest, str_to_add, file_dest)
  end

  def self.replace_between(file_source, file_dest, str1, str2)
    LineContaining.delete_between(str1, str2, file_dest)
    InsertFromFile.add_after(file_source, file_dest, str1)
  end

  def self.add_beginning(file_source, file_dest)
    path_old = file_dest
    path_new = "#{path_old}.new"
    file_w = open(path_new, 'w')
    File.readlines(file_source).each do |line|
      file_w.write(line)
    end
    File.readlines(path_old).each do |line|
      file_w.write(line)
    end
    file_w.close
    system("rm #{path_old}")
    system("mv #{path_new} #{path_old}")
  end

  def self.add_end(file_source, file_dest)
    path_old = file_dest
    path_new = "#{path_old}.new"
    file_w = open(path_new, 'w')
    File.readlines(path_old).each do |line|
      file_w.write(line)
    end
    File.readlines(file_source).each do |line|
      file_w.write(line)
    end
    file_w.close
    system("rm #{path_old}")
    system("mv #{path_new} #{path_old}")
  end
end
# Your new gem is a module by default.  You may wish to use a class instead.
# rubocop:enable Metrics/MethodLength

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
insert_from_file-0.0.2 lib/insert_from_file.rb
insert_from_file-0.0.1 lib/insert_from_file.rb