neojin
neojin

Reputation: 212

How do I copy a file from a gem to my rails application using rake

I have a gem with a default configuration YAML file, some_config.yml. I want to create a rake task to copy that file into the config/ directory of my rails application. How can I achieve this?

Upvotes: 9

Views: 1200

Answers (1)

Martin Harrigan
Martin Harrigan

Reputation: 1044

If we assume the target gem is in your Gemfile and you want to include the Rake task in your Rails Rakefile, then you could try something like:

namespace :config do
  # desc "Copy the config"
  task :copy do
    source = File.join(Gem.loaded_specs["myGem"].full_gem_path, "config", "config.yml")
    target = File.join(Rails.root, "config", "myGemConfig.yml")
    FileUtils.cp_r source, target
  end
end

Upvotes: 11

Related Questions