prebundle 0.1.0 → 0.1.1

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: 553e1af26ee0f12dfca559d7c2427d16e8bc5f8af4791d65ca0a75f9e6f4f537
4
- data.tar.gz: dadf0399d71d263a7b68be909cf2603083dbb875a28a36bf2aadd33eda963fd2
3
+ metadata.gz: 6a7b3fc3d5cf7c4774f064363b9df80d6aa9b95f985463f23d8e2ae44f6a6ae0
4
+ data.tar.gz: ebfbefc554cfdb394d0a3e7c168f0875c9742e3bc802aa047876adbdc0397319
5
5
  SHA512:
6
- metadata.gz: 65f8c8321f4c8dd8d4aed0a5fe965f350449356a7c708820e98d918cd24a544593712ab0255100f3822626062217219179cb46736e75add1f441474af3addade
7
- data.tar.gz: d5624a071df5d13f3a9599184dc8bb3fd816c4dddb12fe15245c3b156989ea40a646208096324b441f4616c54e4b0d109c6b51f17d8e37fdbff4bb153fdf81d2
6
+ metadata.gz: f10f247c161e7216163ae4690cded8b5253e93bd985929af03b24b8dd21b88c6ad36dbac26865cbb2f3deb205be660b173c51b420b8107fe5bfd67677a78c04f
7
+ data.tar.gz: f28465c018b5fa9bb164ab95951544464b4aed85ecc769c942459c893d2af596794efc950ea5fa80dfac954ccdcbd4e9d79ca710e2bf41fc585fa5ec0ed9e990
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: add gem-package-info
3
+ about: Which gem requires which package on which os?
4
+ title: "[add]"
5
+ labels: ''
6
+ assignees: kuboon
7
+
8
+ ---
9
+
10
+ **Which os/distribution?**
11
+ paste the result of `lsb_release -sd`
12
+
13
+ **Which gem has error on install?**
14
+ mysql2, etc.
15
+
16
+ **Which command solved the error? Or what the error messages you can't solve yet?**
17
+
18
+ **Additional context**
19
+ Add any other context or screenshots about the feature request here.
data/Gemfile.lock CHANGED
@@ -37,6 +37,7 @@ GEM
37
37
  cucumber-wire (0.0.1)
38
38
  diff-lcs (1.3)
39
39
  ffi (1.10.0)
40
+ gem-release (2.1.1)
40
41
  gherkin (5.1.0)
41
42
  multi_json (1.13.1)
42
43
  multi_test (0.1.2)
@@ -63,6 +64,7 @@ DEPENDENCIES
63
64
  aruba
64
65
  bundler (~> 1.17)
65
66
  cucumber
67
+ gem-release
66
68
  prebundle!
67
69
  rake (~> 10.0)
68
70
  rspec (~> 3.0)
data/README.md CHANGED
@@ -1,38 +1,43 @@
1
1
  # Prebundle
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/prebundle`. To experiment with that code, run `bin/console` for an interactive prompt.
4
3
 
5
- TODO: Delete this and the text above, and describe your gem
6
4
 
7
5
  ## Installation
8
6
 
9
- Add this line to your application's Gemfile:
7
+ Run this line on your shell:
10
8
 
11
- ```ruby
12
- gem 'prebundle'
9
+ ```sh
10
+ gem install prebundle
13
11
  ```
14
12
 
15
- And then execute:
16
-
17
- $ bundle
13
+ ## Usage
18
14
 
19
- Or install it yourself as:
15
+ prebundle is a CLI tool.
20
16
 
21
- $ gem install prebundle
17
+ Execute at the same directory of Gemfile like this:
22
18
 
23
- ## Usage
19
+ $ prebundle all
24
20
 
25
- TODO: Write usage instructions here
21
+ Or specify gem name:
26
22
 
27
- ## Development
23
+ $ prebundle gem mysql2
28
24
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
25
+ Both simply shows shell command and do nothing (for security reason).
26
+ After checking the output, you pipe to sh like this:
30
27
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
28
+ $ prebundle all | sudo sh
32
29
 
33
30
  ## Contributing
34
31
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/prebundle. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
32
+ If your problem did not solved by prebundle, please [create new issue](https://github.com/kuboon/prebundle/issues/new?assignees=kuboon&labels=&template=add-gem-package-info.md&title=[add]).
33
+
34
+ Other bug reports and pull requests are welcome on GitHub at https://github.com/kuboon/prebundle. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
35
+
36
+ ## Development
37
+
38
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
39
+
40
+ To install this gem onto your local machine, run `bundle exec rake install`.
36
41
 
37
42
  ## License
38
43
 
@@ -40,4 +45,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
40
45
 
41
46
  ## Code of Conduct
42
47
 
43
- Everyone interacting in the Prebundle project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/prebundle/blob/master/CODE_OF_CONDUCT.md).
48
+ Everyone interacting in the Prebundle project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/kuboon/prebundle/blob/master/CODE_OF_CONDUCT.md).
data/lib/prebundle/cli.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require "thor"
2
- class Ubuntu
2
+
3
+
4
+ class Linux; end
5
+ class Ubuntu < Linux
3
6
  def initialize(gems)
4
7
  @gems = gems
5
8
  end
@@ -7,6 +10,7 @@ class Ubuntu
7
10
  def packages
8
11
  @gems.map do |gem|
9
12
  case gem
13
+ when 'curses'; "libncursesw5-dev"
10
14
  when 'mysql2'; "libmysqlclient-dev"
11
15
  end
12
16
  end.flatten.uniq
@@ -17,21 +21,39 @@ class Ubuntu
17
21
  end
18
22
  end
19
23
 
24
+ class CentOS < Linux; end
25
+ class AmazonLinux < CentOS
26
+ #yum install mysql-devel
27
+ end
28
+
29
+
20
30
  module Prebundle
31
+ def self.distribution_class(hint = `lsb_release -sd`)
32
+ case hint
33
+ when /\AUbuntu/; Ubuntu
34
+ else raise "Unknown distribution"
35
+ end
36
+ end
37
+
38
+ def self.list_all_gems_in_Gemfile
39
+ %w[mysql2 curses]
40
+ end
41
+
21
42
  class CLI < Thor
22
- desc "show", "Reads Gemfile on current dir and outputs required setup commands."
23
- def show
24
- # load Gemfile
25
- # get list of gems
26
- gems = ['mysql2']
27
-
28
- # get os/distribution
29
- klass = Ubuntu
30
- # get list of required packages
31
- # get install command
32
- # show result
33
- puts klass.new(gems).command # yum install mysql-devel
34
- puts "# prebundle show | sudo sh"
43
+ desc "all", "Reads Gemfile on current dir and outputs required setup commands."
44
+ def all
45
+ gems = ::Prebundle::list_all_gems_in_Gemfile
46
+
47
+ puts Prebundle::distribution_class.new(gems).command
48
+ puts "# prebundle all | sudo sh"
49
+ STDERR.puts "# Unless it helped you, please report the issue https://github.com/kuboon/prebundle/issues/new?assignees=kuboon&labels=&template=add-gem-package-info.md&title=[add]"
50
+ end
51
+
52
+ desc "gem [gemname]", "outputs required setup commands for the gem"
53
+ def gem(gemname)
54
+ puts Prebundle::distribution_class.new([gemname]).command
55
+ puts "# prebundle gem #{gemname} | sudo sh"
56
+ STDERR.puts "# Unless it helped you, please report the issue https://github.com/kuboon/prebundle/issues/new?assignees=kuboon&labels=&template=add-gem-package-info.md&title=[add]"
35
57
  end
36
58
  end
37
59
  end
@@ -1,3 +1,3 @@
1
1
  module Prebundle
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/prebundle.gemspec CHANGED
@@ -43,4 +43,5 @@ Gem::Specification.new do |spec|
43
43
  spec.add_development_dependency "rspec", "~> 3.0"
44
44
  spec.add_development_dependency "cucumber"
45
45
  spec.add_development_dependency "aruba"
46
+ spec.add_development_dependency "gem-release"
46
47
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prebundle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - kuboon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-09 00:00:00.000000000 Z
11
+ date: 2020-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: gem-release
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: 'I will output required actions like "yum install hogehoge", "apt install
98
112
  fugafuga" etc '
99
113
  email:
@@ -103,6 +117,7 @@ executables:
103
117
  extensions: []
104
118
  extra_rdoc_files: []
105
119
  files:
120
+ - ".github/ISSUE_TEMPLATE/add-gem-package-info.md"
106
121
  - ".gitignore"
107
122
  - ".rspec"
108
123
  - ".travis.yml"