Class: FileManipulator::Merger
- Inherits:
-
Object
- Object
- FileManipulator::Merger
- Defined in:
- lib/file_manipulator/merger.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#initialize(config = FileManipulator.configuration) ⇒ Merger
constructor
A new instance of Merger.
- #merged_file ⇒ Object
- #run ⇒ Object
Constructor Details
#initialize(config = FileManipulator.configuration) ⇒ Merger
Returns a new instance of Merger.
5 6 7 |
# File 'lib/file_manipulator/merger.rb', line 5 def initialize(config = FileManipulator.configuration) @config = config end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
3 4 5 |
# File 'lib/file_manipulator/merger.rb', line 3 def config @config end |
Instance Method Details
#merged_file ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/file_manipulator/merger.rb', line 19 def merged_file sample_split_file = Dir.glob("#{config.split_files_directory}/#{config.prefix}_*").first basename = File.basename(sample_split_file) extname = File.extname(sample_split_file) basename = basename.sub(/^#{config.prefix}_/, '').sub(/#{extname}$/, '').sub(/_\d*$/, '') File.join(config.merged_file_directory, "#{basename}#{extname}") end |
#run ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/file_manipulator/merger.rb', line 9 def run string_io = StringIO.new Dir.glob("#{config.split_files_directory}/#{config.prefix}_*").sort.each do |file| string_io.puts File.read(file) end File.write(merged_file, string_io.string) end |