Sha256: 85fdba6818e54c1c9538f8a178dace8bc78fa3dd3c102dcac4bc5f5e868290fd

Contents?: true

Size: 1.34 KB

Versions: 3

Compression:

Stored size: 1.34 KB

Contents

module I18nHelperMethods
  def setup_temp_folder
    before(:all) do
      tmp_path     = File.join File.dirname(__FILE__), 'tmp'
      @temp_folder = FileUtils.mkdir(tmp_path)[0]
    end
    after(:all) do
      FileUtils.rm_r(@temp_folder) unless @temp_folder.nil?
      @temp_folder = nil
    end
  end

  def tempfile_exists?(target_filename)
    File.exists? tempfile(target_filename)
  end

  def tempfile_contents(target_filename)
    File.read tempfile(target_filename)
  end

  def yaml_for(target_filename)
    YAML.load(tempfile_contents(target_filename))
  end

  def tempfile(target_filename)
    File.join(@temp_folder, target_filename)
  end

  def remove_temp_files
    return if @temp_folder.nil? || @temp_folder == ''
    Dir.glob(@temp_folder).each do |file_path|
      next if ['.','..',@temp_folder].include?(file_path)
      FileUtils.remove_entry file_path
    end
  end

  def create_source_file(target_path, target_filename)
    target_path = File.join [@temp_folder, target_path].compact
    FileUtils.mkdir_p(target_path) unless Dir.exists?(target_path)

    source_path      = File.join File.dirname(__FILE__), 'source_template.yml'
    target_file_path = File.join target_path, target_filename
    FileUtils.copy source_path, target_file_path
  end

  def delete_config_file
    FileUtils.remove_entry File.dirname(target_file_path)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
talk_like_a_pirate-0.2.3 spec/support/i18n_helper_methods.rb
talk_like_a_pirate-0.2.2 spec/support/i18n_helper_methods.rb
talk_like_a_pirate-0.2.1 spec/support/i18n_helper_methods.rb