2012-03-16 15 views
10

'awesome_engine' adlı bir motor kullanan bir ray 3.1 uygulaması çalıştırıyorum. Awesome_engine, elde etmem gereken bazı şeyler içeriyor ama pusulanın yük yolları, motor varlıkları yolunu içermiyor. Benim anlayışım orada olması gerektiği, ama değil.Bir raylar app içinden bir tam yol gerekir

Pusulanın additional_import_paths yapılandırma ayarını içerecek şekilde config/compass.rb'yi değiştirdiğim için eklemeliyim. Sorun bu ben gerekli mücevher yolunu almak nasıl şöyledir:

begin 
    gem_root = $LOAD_PATH.find{|i| i.include?('/awesome_engine/')}.gsub(/awesome_engine\/.*/, 'awesome_engine/app/assets/stylesheets/scss') 
    additional_import_paths = [gem_root] 
rescue 
end 

Bu işler ancak bir mücevher tam yol almak için daha kolay/daha iyi/daha temiz yolu olmalı var. Kimse?

cevap

25

Gem.loaded_specs istediğim şudur:

ruby-1.9.2-p290 :001 > Gem.loaded_specs['awesome_engine'].full_gem_path 
=> "/Users/younker/dev/engines/awesome_engine" 

ruby-1.9.2-p290 :002 > Gem.loaded_specs['rails'].full_gem_path 
=> "/Users/younker/.rvm/gems/[email protected]/gems/rails-3.1.3" 
İlgili konular