Rails 3 için bir mücevher oluşturmak için kuyumcu kullanıyorum. Taş bir komisyon görevi içeriyor ve yaptığı şeylerden biri de DB'yi siliyor, bu yüzden 'database_cleaner' kullanıyorum .Bir gemin komisyon görevi içinde bir mücevher gerektiren
Ben GEM Gemfile
gem 'database_cleaner'
içeride Ve Rakefile
Jeweler::Tasks.new do |gem|
...
gem.add_dependency 'database_cleaner'
end
Sonra dosyaları oluşturduk lib içine my_gem.rb
ve tasks.rake içinde mücevher bağımlılığını belirterek ediyorum.
module MyGem
class Railtie < Rails::Railtie
rake_tasks do
load 'tasks.rake'
end
end
end
Ve tasks.rake:, my_gem.rb şöyle
task :my_task do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean
end
ben taş (sudo tırmık yükleme) yüklü, boş raylar projeyi oluşturulan ve raylar içinde mücevher bağımlılık eklendi Gemspec (gem 'my_gem'
). Ancak, rake my_task
'u çalıştırmaya çalıştığımda uninitialized constant DatabaseCleaner
hatasını alıyorum.
no such file to load -- database_cleaner
ve hatayı
database_cleaner is not part of the bundle. Add it to Gemfile.
yükseltir
gem 'database_cleaner'
yükseltir görev, içeriden
require 'database_cleaner'
ekleyerek denedim.
Bu raylar projesinin Gemspec'ine gem 'database_cleaner'
eklemeden bunu çözmenin bir yolu var mı?
Teşekkür
GÜNCELLEME (kaynak koduna bağlantı eklemeyi): Burada https://github.com/jordinl/dummy_tasks
database_cleaner gemini eklemekten alıkoyabilirsiniz. raylar uygulaması? – johnmcaliley
hey! Bağlantıyı github repo'ya ekledim. Teşekkürler! – jordinl