Reverse 821525e and wrap run_generator call

Ruby 2.1.0 includes the json gem 1.8.1 by default so we need bundler 1.5.1
for `bundle install` to work. To fix this reverse the downgrade to 1.3.5
and wrap the `run_generator` call with a block that resets `THOR_DEBUG`.
This commit is contained in:
Andrew White 2014-01-02 10:06:29 +00:00
parent 02d366842c
commit a1d0c0fa3d
2 changed files with 14 additions and 4 deletions

@ -1,6 +1,6 @@
script: 'ci/travis.rb'
before_install:
- travis_retry gem install bundler -v 1.3.5
- travis_retry gem install bundler
- "rvm current | grep 'jruby' && export AR_JDBC=true || echo"
rvm:
- 1.9.3

@ -61,11 +61,13 @@ def destination(path)
# You can provide a configuration hash as second argument. This method returns the output
# printed by the generator.
def run_generator(args=self.default_arguments, config={})
without_thor_debug do
capture(:stdout) do
args += ['--skip-bundle'] unless args.include? '--dev'
self.generator_class.start(args, config.reverse_merge(destination_root: destination_root))
end
end
end
# Instantiate the generator.
def generator(args=self.default_arguments, options={}, config={})
@ -100,6 +102,14 @@ def migration_file_name(relative) # :nodoc:
dirname, file_name = File.dirname(absolute), File.basename(absolute).sub(/\.rb$/, '')
Dir.glob("#{dirname}/[0-9]*_*.rb").grep(/\d+_#{file_name}.rb$/).first
end
# TODO: remove this once Bundler 1.5.2 is released
def without_thor_debug # :nodoc:
thor_debug, ENV['THOR_DEBUG'] = ENV['THOR_DEBUG'], nil
yield
ensure
ENV['THOR_DEBUG'] = thor_debug
end
end
end
end