bundled_gems 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="