smolt 0.1.0 → 0.3.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: e7281537f6def9dda873f6a851c645d3d7fcbc4de280f1458fb28b9cbf7f3623
4
- data.tar.gz: 7ce23c6287dfff718bef49e3aca69e25830195f0ca91f68ccddb545f3ae2901c
3
+ metadata.gz: 4c4c3efd8dda20bc9545cd8feaa4db39336d18fd8b8ec4c0386df85a0a0ad4b2
4
+ data.tar.gz: 927613a0c256a6beae94c7757dc97e66d6a1e056d5222281c8373d6acff266d2
5
5
  SHA512:
6
- metadata.gz: 7354a3917b4442efd98c7261bc02eafc272fff160469aa8a3034cd56871b9def3bcae3025077684987367de54be1a901bf6132571bf2d1116c3f1f7b336db7e1
7
- data.tar.gz: ce91bbbb4f3cfb45fd299d38bc9cd929714fae44f58fff953dba219834727ed3dae18dc3b6153aac0232f13e1ba49c74346a43c3f08bc73806d58e3aa6690f74
6
+ metadata.gz: 810ce4d2f40c4329047ebb019bcaddc5c52096c27c13c12d05e6ae4954aadf39eea2438dab6e31b656b7dfbac9bca82a436d00b4249a6cc8b024bcc4677dc6ed
7
+ data.tar.gz: 5d1398f76518a06cd2895b21cef80c934ad98d31592d8f15bf82c91c5fba4c8768cee2d96c345762be5db90c14e255f5154ac953918135439e46fcb8e1d91a6c
data/.gitignore CHANGED
@@ -29,4 +29,3 @@ Gemfile.lock
29
29
 
30
30
  # Session
31
31
  Session.vim
32
- Sessionx.vim
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.4
2
+ TargetRubyVersion: 2.6
3
3
 
4
4
  Style/StringLiterals:
5
5
  Enabled: true
@@ -11,3 +11,10 @@ Style/StringLiteralsInInterpolation:
11
11
 
12
12
  Layout/LineLength:
13
13
  Max: 120
14
+
15
+ Metrics/BlockLength:
16
+ Exclude:
17
+ - 'spec/**/*'
18
+
19
+ AllCops:
20
+ NewCops: enable
data/Gemfile CHANGED
@@ -6,5 +6,5 @@ gemspec
6
6
 
7
7
  gem "rake", "~> 13.0"
8
8
  gem "rspec", "~> 3.0"
9
- gem 'rspec-mocks'
10
- gem "rubocop", "~> 1.7"
9
+ gem "rspec-mocks"
10
+ gem "rubocop", require: false
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Smolt
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/smolt`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Smolt shows dependencies for homebrew.
6
4
 
7
5
  ## Installation
8
6
 
@@ -21,8 +19,21 @@ Or install it yourself as:
21
19
  $ gem install smolt
22
20
 
23
21
  ## Usage
22
+ ```ruby
23
+ require 'smolt'
24
+ Smolt.full('openssl')
25
+ ```
26
+
27
+ This shows brews installed already and brews you need to install.
28
+ If you installed the brew, Smolt return the message like "{brew} is already installed."
29
+
30
+ ```ruby
31
+ require "smolt"
32
+ Smolt.diff('openssl')
33
+ ```
24
34
 
25
- TODO: Write usage instructions here
35
+ This shows only brews you need to install.
36
+ If you installed the brew, Smolt return the message like "{brew} is already installed."
26
37
 
27
38
  ## Development
28
39
 
data/exe/smolt ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative "../lib/smolt"
6
+
7
+ Smolt::CLI.start
data/lib/smolt/cli.rb ADDED
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../smolt"
4
+ require "thor"
5
+
6
+ module Smolt
7
+ # Smolt's all methods
8
+ class CLI < Thor
9
+ desc "full Brew", "show full dependencies"
10
+ def full(brew)
11
+ brew_params(brew)
12
+ @installed_brews.grep(/#{brew}/)
13
+ return "#{brew} is already installed." unless @installed_brews.grep(/#{brew}/).empty?
14
+
15
+ puts @formatted_full
16
+ end
17
+
18
+ desc "diff Brew", "show differencies of dependencies"
19
+ def diff(brew)
20
+ brew_params(brew)
21
+ return "#{brew} is already installed." unless @installed_brews.grep(/#{brew}/).empty?
22
+
23
+ puts @formatted_diff
24
+ end
25
+
26
+ private
27
+
28
+ def brew_params(brew)
29
+ @brew = brew
30
+ @installed_brews = `brew list`.split("\n")
31
+ dependent_brews = `brew deps #{@brew}`.split("\n")
32
+ diff_brews = dependent_brews - @installed_brews
33
+ divider = "-" * 50
34
+ formatted_installed = "#{divider}\nInstalled brews\n#{divider}\n#{@installed_brews}\n"
35
+ @formatted_diff = "#{divider}\nAdditional brews\n#{divider}\n#{diff_brews}"
36
+ @formatted_full = "#{formatted_installed}\n#{@formatted_diff}"
37
+ end
38
+ end
39
+ end
data/lib/smolt/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Smolt
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.1"
5
5
  end
data/lib/smolt.rb CHANGED
@@ -1,33 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "smolt/version"
4
+ require_relative "smolt/cli"
4
5
 
6
+ # Service to check the dependencies from the formula you want to install by homebrew
5
7
  module Smolt
6
- def self.dependency(brew, opt=nil)
7
- if opt
8
- options = opt.split(' ')
9
- opt_diff = options.any?(/-*d*/)
10
- end
11
- installed_brews = `brew list`.split("\n")
12
- dependent_brews = `brew deps #{brew}`.split("\n")
13
- diff_brews = dependent_brews - installed_brews
14
- divider = divider('-', 50)
15
- formatted_installed = "#{divider}\nInstalled brews\n#{divider}\n#{installed_brews}\n"
16
- formatted_diff = "#{divider}\nAdditional brews\n#{divider}\n#{diff_brews}"
17
- formatted_full = "#{formatted_installed}\n#{formatted_diff}"
18
-
19
- if opt_diff
20
- return puts formatted_diff
21
- end
22
-
23
- unless installed_brews.grep(/#{brew}/).empty?
24
- return "#{brew} is already installed."
25
- end
26
-
27
- puts formatted_full
28
- end
29
-
30
- def self.divider(letter, length)
31
- letter * length
32
- end
8
+ class Error < StandardError; end
33
9
  end
data/smolt.gemspec CHANGED
@@ -9,13 +9,12 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ["39.ishida@gmail.com"]
10
10
 
11
11
  spec.summary = "Smolt is dependency checker for the homebrew."
12
- spec.description = "You can check if there are any dependencies with the formula you're going to install before you do."
12
+ spec.description = "You can check if there are any dependencies with the formula you're going to install."
13
13
  spec.homepage = "https://rubygems.org/gems/smolt"
14
14
  spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.4.0"
15
+ spec.required_ruby_version = ">= 2.6.0"
16
16
 
17
17
  # spec.metadata["allowed_push_host"] = "TODO: Set to 'https://mygemserver.com'"
18
-
19
18
  spec.metadata["homepage_uri"] = spec.homepage
20
19
  spec.metadata["source_code_uri"] = "https://github.com/Naoyuk/smolt"
21
20
  spec.metadata["changelog_uri"] = "https://github.com/Naoyuk/smolt/blob/main/CHANGELOG.md"
@@ -34,4 +33,7 @@ Gem::Specification.new do |spec|
34
33
 
35
34
  # For more information and examples about making a new gem, checkout our
36
35
  # guide at: https://bundler.io/guides/creating_gem.html
36
+ spec.metadata["rubygems_mfa_required"] = "true"
37
+
38
+ spec.add_dependency "thor"
37
39
  end
metadata CHANGED
@@ -1,20 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smolt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naoyuki Ishida
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-02 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2022-05-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: You can check if there are any dependencies with the formula you're going
14
- to install before you do.
28
+ to install.
15
29
  email:
16
30
  - 39.ishida@gmail.com
17
- executables: []
31
+ executables:
32
+ - smolt
18
33
  extensions: []
19
34
  extra_rdoc_files: []
20
35
  files:
@@ -30,7 +45,9 @@ files:
30
45
  - Rakefile
31
46
  - bin/console
32
47
  - bin/setup
48
+ - exe/smolt
33
49
  - lib/smolt.rb
50
+ - lib/smolt/cli.rb
34
51
  - lib/smolt/version.rb
35
52
  - smolt.gemspec
36
53
  homepage: https://rubygems.org/gems/smolt
@@ -40,6 +57,7 @@ metadata:
40
57
  homepage_uri: https://rubygems.org/gems/smolt
41
58
  source_code_uri: https://github.com/Naoyuk/smolt
42
59
  changelog_uri: https://github.com/Naoyuk/smolt/blob/main/CHANGELOG.md
60
+ rubygems_mfa_required: 'true'
43
61
  post_install_message:
44
62
  rdoc_options: []
45
63
  require_paths:
@@ -48,14 +66,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
48
66
  requirements:
49
67
  - - ">="
50
68
  - !ruby/object:Gem::Version
51
- version: 2.4.0
69
+ version: 2.6.0
52
70
  required_rubygems_version: !ruby/object:Gem::Requirement
53
71
  requirements:
54
72
  - - ">="
55
73
  - !ruby/object:Gem::Version
56
74
  version: '0'
57
75
  requirements: []
58
- rubygems_version: 3.2.22
76
+ rubygems_version: 3.3.7
59
77
  signing_key:
60
78
  specification_version: 4
61
79
  summary: Smolt is dependency checker for the homebrew.