Module: Bundler::Add
- Defined in:
- lib/bundler/add.rb,
lib/bundler/add/version.rb
Constant Summary collapse
- VERSION =
'0.0.1'
Class Method Summary collapse
- .fetch_version(gem) ⇒ Object
- .parse_options(argv) ⇒ Object
- .show_define(gem, options) ⇒ Object
- .show_defines(argv) ⇒ Object
Class Method Details
.fetch_version(gem) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/bundler/add.rb', line 27 def fetch_version(gem) gemspec = JSON.parse(open("https://rubygems.org/api/v1/gems/#{gem}.json", &:read)) gemspec['version'] rescue OpenURI::HTTPError '0.0.0' end |
.parse_options(argv) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/bundler/add.rb', line 35 def (argv) groups = [] req = nil opts = OptionParser.new opts.on('-g GROUP', '--group GROUP', Array) do |group| groups = group end gems = opts.parse!(argv) { gems: gems, groups: groups } end |
.show_define(gem, options) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/bundler/add.rb', line 18 def show_define(gem, ) if [:groups].any? groups = [:groups] puts %Q{gem '#{gem}', '~> #{fetch_version(gem)}', group: [#{groups.map{|g| g.sub(/^/, ':') }.join(', ')}]} else puts %Q{gem '#{gem}', '~> #{fetch_version(gem)}'} end end |
.show_defines(argv) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/bundler/add.rb', line 10 def show_defines(argv) = (argv) [:gems].each do |gem| show_define(gem, ) end end |