bundled_gems 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5af07d56215b7a27658942feb8e9510015195d798a176f31048816b7c4240a1b
4
- data.tar.gz: a3b5a389d425b7dcdff09b5d0dc44bc3b404f803308a4569092079bf30a89351
3
+ metadata.gz: fda1bb7a55e1f2044846b67333cdfc9d4d4ee679837cefaef30cff3d4f06f9e5
4
+ data.tar.gz: d000cb6953d0e7e5682cf1ff3f0ecd457056be97d0648695e35ce08d582f12ef
5
5
  SHA512:
6
- metadata.gz: 615ba65b81005554592c4ef91a727188e7f9abb82117f919b47e463c32f4cd55e996b74fa962828b2f0a593eaa94d461a75d8b2a4ec64c94e14a5b3357046eff
7
- data.tar.gz: 8974fe218ec44e367dd6b240d40a18dfa3a372aa4ba8bfb1aa887317854597c4ba68682ab26e744c77b9e8d20bcd8815cc6c6461758db5c7684d268e8223d921
6
+ metadata.gz: 302b6b130c8614f1ab9546589d6e0f2e453a3719a3def12ac56d657bcc8afae1d0d4b25ebe67433600ccb99f4c887919857793493462eb83515c4181b5e55bd1
7
+ data.tar.gz: 8350de78097cdb9eb2eeb225a703a8293619227d3616e003265a63f35b2eb6ec2a0f11951e8b3d4ac1c087680222f3facda635aed08388f99dd81c8008d75506
data/README.md CHANGED
@@ -1,28 +1,22 @@
1
1
  # BundledGems
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/bundled_gems`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ [![Actions Status](https://github.com/toshimaru/bundled_gems/workflows/Ruby%20Test/badge.svg)](https://github.com/toshimaru/bundled_gems/actions)
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ Install gem specified in `Gemfile.lock` without `bundle install`.
6
6
 
7
7
  ## Installation
8
8
 
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'bundled_gems'
9
+ ```console
10
+ $ gem install bundled_gems
13
11
  ```
14
12
 
15
- And then execute:
16
-
17
- $ gem install bundled_gems
18
-
19
- Or install it yourself as:
20
-
21
- $ bgem install gem_name
13
+ Then, you can use `bgem` command.
22
14
 
23
15
  ## Usage
24
16
 
25
- TODO: Write usage instructions here
17
+ ```console
18
+ $ bgem install gem_name
19
+ ```
26
20
 
27
21
  ## Development
28
22
 
data/bundled_gems.gemspec CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.bindir = "exe"
26
26
  spec.executables = %w[bgem]
27
27
  spec.require_paths = ["lib"]
28
+ spec.required_ruby_version = ">= 2.4.0"
28
29
 
29
30
  spec.add_dependency "bundler"
30
31
  spec.add_dependency "thor"
@@ -1,18 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'open3'
3
4
  require 'thor'
4
5
 
5
6
  module BundledGem
7
+ # bundled_gem CLI class powered by thor
6
8
  class Cli < Thor
7
9
  desc "install [BUNDLED_GEM]", "install [BUNDLED_GEM] from `Gemfile.lock`"
8
10
  option "lockfile", type: :string, default: LOCKFILE, desc: "Use the specified gemfile.lock instead of Gemfile.lock"
9
- def install(bundled_gem)
11
+ def install(*bundled_gems)
12
+ abort "Please specify at least one gem name (e.g. gem build GEMNAME)" if bundled_gems.empty?
13
+
10
14
  reader = LockfileReader.new(lockfile: options[:lockfile])
11
- if reader.gem_listed?(bundled_gem)
12
- version = reader.get_version(bundled_gem)
13
- system "gem install #{bundled_gem} --version #{version}"
14
- else
15
- abort "`#{bundled_gem}` is not listed in Gemfile.lock."
15
+ bundled_gems.each do |bundled_gem|
16
+ if reader.gem_listed?(bundled_gem)
17
+ version = reader.get_version(bundled_gem)
18
+ command = "gem install #{bundled_gem} --version #{version}"
19
+ IO.popen(command) do |f|
20
+ while line = f.gets
21
+ puts line
22
+ end
23
+ end
24
+ else
25
+ warn "`#{bundled_gem}` is not listed in Gemfile.lock."
26
+ end
16
27
  end
17
28
  end
18
29
 
@@ -20,8 +31,8 @@ module BundledGem
20
31
  option "lockfile", type: :string, default: LOCKFILE, desc: "Use the specified gemfile.lock instead of Gemfile.lock"
21
32
  def list
22
33
  puts "Gems included in `#{options[:lockfile]}`:"
23
- LockfileReader.new(lockfile: options[:lockfile]).lockfile_specs.each do |s|
24
- puts " * #{s.name}, #{s.version}"
34
+ LockfileReader.new(lockfile: options[:lockfile]).lockfile_specs.each do |spec|
35
+ puts " * #{spec.name}, #{spec.version}"
25
36
  end
26
37
  end
27
38
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BundledGem
4
- VERSION = "0.0.5"
4
+ VERSION = "0.0.6"
5
5
  end
data/lib/bundled_gems.rb CHANGED
@@ -4,6 +4,7 @@ require 'bundler'
4
4
  require "bundled_gem/version"
5
5
 
6
6
  module BundledGem
7
+ # default bundler lockfile
7
8
  LOCKFILE = "Gemfile.lock"
8
9
 
9
10
  class LockfileReader
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundled_gems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - toshimaru
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-06 00:00:00.000000000 Z
11
+ date: 2019-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -119,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: '0'
122
+ version: 2.4.0
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ">="