Sha256: 5f79b0ce34944d59bdb877832fef21024bf7a4d5e0001745e9041c89beb85bfa

Contents?: true

Size: 1.04 KB

Versions: 10

Compression:

Stored size: 1.04 KB

Contents

require 'monkey/string'

namespace :test do

  desc 'Create the test data mp3 files from their album.dat files.'
  task :data do
    Dir.glob('test/data/**/album.dat') do |album_dat_file_path|
      puts "auto-generating album files for #{album_dat_file_path}"
      album_folder = File.dirname(album_dat_file_path)
      album_file_list = File.readlines(album_dat_file_path).map {|l| l.chomp}
      album_file_list.each do |file_name|
        puts "auto-generating album file #{file_name}"
        file_name = file_name.chomp
        file_path = File.join(album_folder, file_name)
        create_fake_file file_path
      end
    end
  end

  def create_fake_file(file_path)
    if is_mp3_file?(file_path)
      create_mp3_fake_file file_path
    else
      create_empty_fake_file file_path
    end
  end

  def is_mp3_file?(file_path)
    file_path.ends_with?('.mp3')
  end

  def create_empty_fake_file(file_path)
    system %Q[touch "#{file_path}"]
  end

  def create_mp3_fake_file(file_path)
    system %Q[cp test/data/mp3_template_file "#{file_path}"]
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
tagomatic-0.1.9 lib/tasks/test_data.rb
tagomatic-0.1.8 lib/tasks/test_data.rb
tagomatic-0.1.7 lib/tasks/test_data.rb
tagomatic-0.1.6 lib/tasks/test_data.rb
tagomatic-0.1.5 lib/tasks/test_data.rb
tagomatic-0.1.4 lib/tasks/test_data.rb
tagomatic-0.1.3 lib/tasks/test_data.rb
tagomatic-0.1.2 lib/tasks/test_data.rb
tagomatic-0.1.1 lib/tasks/test_data.rb
tagomatic-0.1.0 lib/tasks/test_data.rb