Search code examples
rubyironworkeriron.io

How to bundle local gem dependancies in IronWorker


I have a Ruby IronWorker which depends on a private gem that isn't published to RubyGems.

Is there a way to merge this local mygemname-0.0.1.gem into my IronWorker in the .worker file?

I'm hoping to be able to specify something the following in myruby.worker:

gem 'mygemname', '>=0.0.1', :path=> 'vendor/bundle'

Currently this give the following error

.rvm/gems/ruby-1.9.3-p0/gems/iron_worker_ng-0.12.2/lib/iron_worker_ng/code/base.rb:79 :in `eval':
   wrong number of arguments (3 for 2) (ArgumentError)

Hoping for defaults gives:

 gem 'mygemname', '>=0.0.1'

Gives the following error

Could not find gem 'mygemname (>= 0.0.1) ruby' in the gems available on this machine. 

Am I on the right track trying to get this to work via the .worker file? Or should I be looking into specifying a custom build step?


Solution

  • As far as i know, git and local paths unsupported right now. Here is way to manually include local gem: Add these lines to .worker file:

    dir '../vendor/bundle/mygemname', '__gems__/gems'
    file '../vendor/bundle/mygemname/mygemname.gemspec', '__gems__/specifications'