Class: PostIt::Environment
- Inherits:
-
Object
- Object
- PostIt::Environment
- Defined in:
- lib/postit/environment.rb
Instance Method Summary collapse
- #bundler_version ⇒ Object
- #cli_arg_version ⇒ Object
- #env_var_version ⇒ Object
- #gemfile ⇒ Object
-
#initialize(argv) ⇒ Environment
constructor
A new instance of Environment.
- #lockfile ⇒ Object
- #lockfile_version ⇒ Object
Constructor Details
#initialize(argv) ⇒ Environment
Returns a new instance of Environment.
5 6 7 |
# File 'lib/postit/environment.rb', line 5 def initialize(argv) @argv = argv end |
Instance Method Details
#bundler_version ⇒ Object
37 38 39 40 41 42 |
# File 'lib/postit/environment.rb', line 37 def bundler_version @bundler_version ||= begin env_var_version || cli_arg_version || lockfile_version || "#{Gem::Requirement.default}.a" end end |
#cli_arg_version ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/postit/environment.rb', line 13 def cli_arg_version return unless str = @argv.first str = str.dup.force_encoding('BINARY') if str.respond_to?(:force_encoding) if Gem::Version.correct?(str) @argv.shift str end end |
#env_var_version ⇒ Object
9 10 11 |
# File 'lib/postit/environment.rb', line 9 def env_var_version ENV['BUNDLER_VERSION'] end |
#gemfile ⇒ Object
22 23 24 |
# File 'lib/postit/environment.rb', line 22 def gemfile ENV['BUNDLE_GEMFILE'] || 'Gemfile' end |
#lockfile ⇒ Object
26 27 28 29 30 31 |
# File 'lib/postit/environment.rb', line 26 def lockfile File. case File.basename(gemfile) when 'gems.rb' then gemfile.sub(/\.rb$/, gemfile) else "#{gemfile}.lock" end end |