2013-03-16 20 views
10

Próbowałem dołączyć do mojej aplikacji biegłego gem znajdującego się na githubie. Klejnot ma plik rake, do którego chcę mieć dostęp z mojej aplikacji. Ale ciągle dostaję błędy ładowania.Zadania ładowania Ruby z klejnotem

load 'tasks/deploy.rake' 

Plik gem wygląda coś takiego

# -*- encoding: utf-8 -*- 
require 'rake' 

Gem::Specification.new do |gem| 
    gem.authors  = %w(Hello World) 
    gem.email   = %w([email protected]) 
    gem.description = 'test' 
    gem.summary  = 'test' 
    gem.homepage  = 'https://github.com/..' 
    gem.files   = FileList[ 'lib/**/*.rb', 'tasks/deploy.rake', 'README.md' ].to_a 
    gem.name   = 'test' 
    gem.require_paths = %w(lib) 
    gem.version  = '0.0.1' 
end 

Chcę być w stanie załadować ./tasks/deploy.rake do mojego app, który zawiera ten klejnot, jak mam iść na ten temat ?

dzięki

Odpowiedz

21

Dobra, znalazłem rozwiązanie tego problemu, jeśli ktoś jest zainteresowany:

# Rails.root/Rakefile 

spec = Gem::Specification.find_by_name 'test' 
load "#{spec.gem_dir}/tasks/deploy.rake" 

To wszystko, co potrzebne, aby powiedzieć w moim Rakefile!

+1

dla mnie również praca umieścić 'wymagają '/rake_tasks'' w Rakefile aplikacji (nie klejnot) – msa7

+0

@ SergXIIIth To zależy od struktury klejnotu. Na przykład dla 'sitemap_generator' jest' require 'sitemap_generator/tasks'', dla 'padrino' to' require' padrino-core/cli/rake'' itp. – jibiel