Hi Colin, On Mon, Sep 28, 2015 at 11:00 PM Colin Law <clan...@gmail.com> wrote:
> I am developing a rails gem. It uses the gon gem so in the gemspec > file I have included > > spec.add_dependency 'gon' > > Then in the Gemfile for the application using my gem I have put > > gem 'my_gem', :path => '/path/to/dir/containing/my_gem' > > When I run bundle install I see that it includes my gem and also the > gon gem as expected. > From a view helper in the app I am calling helper method in a module > in my gem's lib folder, and in there I have code such as > gon.variable = ... > and that code throws an error > ActionView::Template::Error (undefined method `gon' for > #<PlotValuesController:0x000000067bbc30>) > where PlotValuesController is the controller in the app. If I > explicitly include gon in the Gemfile for the app then all works as > correctly. > > Any suggestions as to why I have to explicitly include gon in the > application's Gemfile, when it is included anyway via the dependency > in my gem? > If I recall correctly, your gem is a Rails engine. It's a bit late and I might be wrong, but a gem doesn't auto require other gems. So to fix it, you need to require 'gon' in your gem (probably in your lib/your_gem_name.rb file). A good example is Devise: https://github.com/plataformatec/devise/blob/master/lib/devise.rb. They do also a lot of stuff in between, but you can see the that ir requires the ORM, and Warden and other dependencies. Hope it works, // Marco > Gemfile.lock with and without gon included explicitly can be seen at > http://pastebin.com/vzvNgg3K > > Colin > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-talk+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLuh7_ni44oG%3DTu5yVpAd4B16tzFg%2BEY6ewXcKJ2XPWQXQ%40mail.gmail.com > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CACMkcE5%2BSgQgKA3pCTOieY75-Cw6f__k2wm%2BcWtdtnBhVBuMLA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.