Module: Server::Starter::Helper
- Included in:
- Server::Starter
- Defined in:
- lib/server/starter/helper.rb
Instance Method Summary collapse
- #bundler_with_clean_env(&block) ⇒ Object
- #croak(msg) ⇒ Object
- #die(msg) ⇒ Object
- #warn(msg) ⇒ Object
- #with_local_env(local_env, &block) ⇒ Object
Instance Method Details
#bundler_with_clean_env(&block) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/server/starter/helper.rb', line 30 def bundler_with_clean_env(&block) if defined?(Bundler) begin # Bundler.with_clean_env resets ENV to initial env on loading ruby orig_env = ENV.to_hash ENV.delete_if { |k,_| k[0,7] == 'BUNDLE_' } if ENV.has_key? 'RUBYOPT' ENV['RUBYOPT'] = ENV['RUBYOPT'].sub '-rbundler/setup', '' end %w[RUBYLIB GEM_HOME].each {|key| ENV.delete(key) } yield ensure ENV.replace(orig_env) end else yield end end |
#croak(msg) ⇒ Object
8 9 10 11 |
# File 'lib/server/starter/helper.rb', line 8 def croak(msg) $stderr.puts msg exit 1 end |
#die(msg) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/server/starter/helper.rb', line 13 def die(msg) if $! $stderr.puts "#{msg}:#{$!.class} #{$!.}" else $stderr.puts msg end exit 1 end |
#warn(msg) ⇒ Object
4 5 6 |
# File 'lib/server/starter/helper.rb', line 4 def warn(msg) $stderr.puts msg end |
#with_local_env(local_env, &block) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/server/starter/helper.rb', line 22 def with_local_env(local_env, &block) orig_env = local_env.keys.map {|k| [k, ENV[k]] }.to_h ENV.update(local_env) yield ensure ENV.update(orig_env) end |