smolt 0.1.0 → 0.3.1

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: 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.