从Gem获取Ruby项目根路径

时间:2016-10-17 21:44:25

标签: ruby-on-rails ruby rubygems

我已经开始自己制作宝石了。

现在从我的Gem我需要从ruby项目中获取正在使用它的根路径。

谢谢。

2 个答案:

答案 0 :(得分:3)

查看此论坛: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

这个解决方案最终帮助我制作了一个Gem,我必须遍历项目的文件树。

答案 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

从使用Ruby gem可以像这样完成

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
相关问题