2016-10-17 9 views
2

私は自分自身でGemを構築し始めました。宝石からRubyプロジェクトのルートパスを取得

私の宝石から、私はルビープロジェクトからルートパスを入手する必要があります。

ありがとうございます。

+1

明確にするために、あなたの宝石の中からあなたの宝石を使ってプロジェクトのルートパスにアクセスする必要がありますか?プロジェクトはいつもRailsアプリになりますか? – jeremywoertink

+0

レールエンジンの場合は、 'Rails.root'を使用することができます – max

+0

Jeremywoertink。はい、私は私の宝石の中から私の宝石を使ってレールプロジェクトのルートパスにアクセスする必要があります。 –

答えて

2

このフォーラムチェックアウトのようにこれを行うことができますRubyの宝石withingから:あなたの質問の私の理解からhttps://www.ruby-forum.com/topic/143383 を、あなたはプロジェクトのパスを取得する必要はありませ宝石自体がどこにあるかのパス。

class MyGem 

    def self.get_working_dir 
    Dir.pwd 
    end 

end 

> MyGem.get_working_dir 
> /Users/your_name/my_project_directory 

このソリューションは、私がプロジェクトのファイルツリーを繰り返し実行しなければならなかった宝石を手助けしてくれました。

+1

ありがとうございます。 –

2

はいgem listコマンドを使用できます

ここに例を示します。

$ gem list green_shoes -d 

*** LOCAL GEMS *** 

green_shoes (1.1.374) 
    Author: ashbb 
    Homepage: http://github.com/ashbb/green_shoes 
    Installed at: d:/Ruby/lib/ruby/gems/2.3.0 

    Green Shoes 

この

spec = Gem::Specification.find_by_name("green_shoes") 
puts spec.gem_dir 

# d:/Ruby/lib/ruby/gems/2.3.0/gems/green_shoes-1.1.374 
+0

ピーターさんありがとうございましたが、私の宝石の中から私の宝石を使ってレールプロジェクトのルートパスにアクセスする必要があります。 –

関連する問題