smolt 0.3.2 → 0.4.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 +4 -4
- data/.gitignore +3 -0
- data/CHANGELOG.md +46 -1
- data/Gemfile +1 -0
- data/README.md +7 -14
- data/exe/smolt +1 -1
- data/lib/smolt/cli.rb +25 -22
- data/lib/smolt/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2da25ad8b4de2934443748a1d17bcd6b3abdf360d684cca4eabb84b39d41232b
|
|
4
|
+
data.tar.gz: b66b44fe684746f77e8bc59e9d7df9a3b867bc74d94be736bb0f7952740fede6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 918e2726fb20c2f0debb6eb82a5c11340c3e349b0c40eb427b9aadebc885c36ec4ad0a2552e291330ffe91f0efbaf9aae2aff7aab9bf42c41ae03a6f81c8924d
|
|
7
|
+
data.tar.gz: cddeece3782487d82c5c2594af06acc333b9a12fab428b4f745f97f93074a84a13dd67c163aae068ebcff08fb192b128ecac211ec48824472cb467f5b7f8a27c
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
3
|
## [0.1.0] - 2021-12-31
|
|
4
|
-
|
|
5
4
|
- Initial release
|
|
5
|
+
|
|
6
|
+
## [0.2.0] - 2022-01-03
|
|
7
|
+
- Fixed many bugs
|
|
8
|
+
|
|
9
|
+
## [0.3.0] - 2022-05-18
|
|
10
|
+
### Changed
|
|
11
|
+
- `full(brew)` method updated
|
|
12
|
+
|
|
13
|
+
usage example
|
|
14
|
+
|
|
15
|
+
$ smolt full ffmpeg
|
|
16
|
+
|
|
17
|
+
- `diff(brew)` method updated
|
|
18
|
+
|
|
19
|
+
usage example
|
|
20
|
+
|
|
21
|
+
$ smolt diff ffmpeg
|
|
22
|
+
|
|
23
|
+
## [0.3.1] - 2022-05-19
|
|
24
|
+
### Changed
|
|
25
|
+
- Fixed some codes accoding to rubocop
|
|
26
|
+
|
|
27
|
+
## [0.3.2] - 2022-05-19
|
|
28
|
+
### Added
|
|
29
|
+
- `version` command
|
|
30
|
+
|
|
31
|
+
usage
|
|
32
|
+
|
|
33
|
+
$ smolt version
|
|
34
|
+
|
|
35
|
+
## [0.3.3] - 2022-05-19
|
|
36
|
+
### Fixed
|
|
37
|
+
- Show message like `{berw} is already installed.`
|
|
38
|
+
|
|
39
|
+
## [0.4.0] - 2022-05-24
|
|
40
|
+
### Change
|
|
41
|
+
- the word 'brew' to 'formula'
|
|
42
|
+
|
|
43
|
+
### Removed
|
|
44
|
+
- Show message like `{formula} is already installed.`
|
|
45
|
+
- Pattern like 'the formula is already installed'. Because 'does not require any dependencies covers it'
|
|
46
|
+
- Method `full`. Because you can find out formulas already installed by `brew list` command
|
|
47
|
+
|
|
48
|
+
## [0.4.1] - 2022-05-26
|
|
49
|
+
### Change
|
|
50
|
+
- path for `require` in exe/smolt
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -4,6 +4,10 @@ Smolt shows dependencies for homebrew.
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
+
### Using gem command
|
|
8
|
+
$ gem install smolt
|
|
9
|
+
|
|
10
|
+
### Using Bundler
|
|
7
11
|
Add this line to your application's Gemfile:
|
|
8
12
|
|
|
9
13
|
```ruby
|
|
@@ -19,21 +23,10 @@ Or install it yourself as:
|
|
|
19
23
|
$ gem install smolt
|
|
20
24
|
|
|
21
25
|
## Usage
|
|
22
|
-
|
|
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
|
-
```
|
|
26
|
+
$ smolt diff {formula}
|
|
34
27
|
|
|
35
|
-
This
|
|
36
|
-
If you
|
|
28
|
+
This will show any additional dependent packages that need to be installed in order to install the package given in the argument.
|
|
29
|
+
If you don't need any additional packeges, Smolt returns the message like "{formula} does not require any additional dependencies."
|
|
37
30
|
|
|
38
31
|
## Development
|
|
39
32
|
|
data/exe/smolt
CHANGED
data/lib/smolt/cli.rb
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
require "./lib/smolt"
|
|
4
4
|
require "./lib/smolt/version"
|
|
5
5
|
require "thor"
|
|
6
|
+
require "uri"
|
|
7
|
+
require "net/http"
|
|
8
|
+
require "json"
|
|
9
|
+
require "byebug"
|
|
6
10
|
|
|
7
11
|
module Smolt
|
|
8
12
|
# Smolt's all methods
|
|
@@ -12,34 +16,33 @@ module Smolt
|
|
|
12
16
|
puts "smolt #{VERSION}"
|
|
13
17
|
end
|
|
14
18
|
|
|
15
|
-
desc "
|
|
16
|
-
def
|
|
17
|
-
|
|
18
|
-
@installed_brews.grep(/#{brew}/)
|
|
19
|
-
return "#{brew} is already installed." unless @installed_brews.grep(/#{brew}/).empty?
|
|
20
|
-
|
|
21
|
-
puts @formatted_full
|
|
19
|
+
desc "diff deps", "return differencies of dependencies"
|
|
20
|
+
def diff(formula)
|
|
21
|
+
puts brew_deps(formula)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
def diff(brew)
|
|
26
|
-
brew_params(brew)
|
|
27
|
-
return "#{brew} is already installed." unless @installed_brews.grep(/#{brew}/).empty?
|
|
24
|
+
private
|
|
28
25
|
|
|
29
|
-
|
|
26
|
+
def brew_deps(formula)
|
|
27
|
+
installed = brew_list
|
|
28
|
+
deps_array = fetch_deps(formula)
|
|
29
|
+
deps = []
|
|
30
|
+
deps_array.each { |f| deps << f unless installed.include?(f) }
|
|
31
|
+
if deps.empty?
|
|
32
|
+
"#{formula} does not require any additional dependencies."
|
|
33
|
+
else
|
|
34
|
+
":::Differencies of dependencies:::\n#{deps}"
|
|
35
|
+
end
|
|
30
36
|
end
|
|
31
37
|
|
|
32
|
-
|
|
38
|
+
def fetch_deps(formula)
|
|
39
|
+
uri = URI("https://formulae.brew.sh/api/formula/#{formula}.json")
|
|
40
|
+
res = Net::HTTP.get_response(uri)
|
|
41
|
+
JSON.parse(res.body)["dependencies"] if res.is_a?(Net::HTTPSuccess)
|
|
42
|
+
end
|
|
33
43
|
|
|
34
|
-
def
|
|
35
|
-
|
|
36
|
-
@installed_brews = `brew list`.split("\n")
|
|
37
|
-
dependent_brews = `brew deps #{@brew}`.split("\n")
|
|
38
|
-
diff_brews = dependent_brews - @installed_brews
|
|
39
|
-
divider = "-" * 50
|
|
40
|
-
formatted_installed = "#{divider}\nInstalled brews\n#{divider}\n#{@installed_brews}\n"
|
|
41
|
-
@formatted_diff = "#{divider}\nAdditional brews\n#{divider}\n#{diff_brews}"
|
|
42
|
-
@formatted_full = "#{formatted_installed}\n#{@formatted_diff}"
|
|
44
|
+
def brew_list
|
|
45
|
+
`brew list`.split("\n")
|
|
43
46
|
end
|
|
44
47
|
end
|
|
45
48
|
end
|
data/lib/smolt/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: smolt
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.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-05-
|
|
11
|
+
date: 2022-05-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|