gemdiff 2.5.4 → 3.1.0
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/README.md +22 -0
- data/lib/gemdiff.rb +0 -1
- data/lib/gemdiff/cli.rb +2 -2
- data/lib/gemdiff/gem_updater.rb +1 -1
- data/lib/gemdiff/outdated_gem.rb +8 -2
- data/lib/gemdiff/repo_finder.rb +12 -14
- data/lib/gemdiff/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 816c043aaed3ee188c5cb4637b06ff695b530d8ea8ffa93d804f01e8f4958e90
|
4
|
+
data.tar.gz: b8916af6f878439433af752c67d985b8e490bc95debaf8ec3572c4d9cd01603d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b74933f842115b3725e477ac697f0b95f932f845742fc489330e6e68591893bff0c0ddb3ec272c932c0262dbb2c7bfbfd093b71a4461c1f1b01f155ffba62d9
|
7
|
+
data.tar.gz: 2f4954b0a299d1ea135116eadc0cbd30d8272764f1dcf9f7da3bdc190cd4415b2f7f440f80cec5b593ddaa1786f660cb0e0f2967b5ae7bc6bec9cf26e6bf17ad
|
data/README.md
CHANGED
@@ -146,6 +146,15 @@ to run with the `open` command with a URL argument):
|
|
146
146
|
$ gemdiff open pundit
|
147
147
|
```
|
148
148
|
|
149
|
+
You may also use `.` as a shortcut for the current directory name.
|
150
|
+
This is helpful if you would like to quickly open the gem you are developing, for example:
|
151
|
+
|
152
|
+
```sh
|
153
|
+
$ pwd
|
154
|
+
/Users/you/projects/somegem
|
155
|
+
$ gemdiff open .
|
156
|
+
```
|
157
|
+
|
149
158
|
### `gemdiff compare [gem] [version] [version]`
|
150
159
|
|
151
160
|
Open a compare view for an individual outdated gem in your bundle:
|
@@ -202,6 +211,19 @@ $ gemdiff f pundit
|
|
202
211
|
https://github.com/varvet/pundit
|
203
212
|
```
|
204
213
|
|
214
|
+
All commands that have a gem name argument can now use "." as an alias for the current directory name.
|
215
|
+
|
216
|
+
For example:
|
217
|
+
|
218
|
+
```sh
|
219
|
+
pwd
|
220
|
+
/Users/you/ruby/somegem
|
221
|
+
gemdiff find .
|
222
|
+
gemdiff open .
|
223
|
+
gemdiff master .
|
224
|
+
gemdiff compare . 1.2.3 master
|
225
|
+
```
|
226
|
+
|
205
227
|
### Authenticated GitHub API requests
|
206
228
|
|
207
229
|
If GitHub returns rate limit errors, you can make authenticated API
|
data/lib/gemdiff.rb
CHANGED
data/lib/gemdiff/cli.rb
CHANGED
@@ -68,10 +68,10 @@ module Gemdiff
|
|
68
68
|
inspector.list.each do |outdated_gem|
|
69
69
|
puts outdated_gem.compare_message
|
70
70
|
response = open_all || ask("Open? (y to open, x to exit, A to open all, s to show all to stdout, else skip)")
|
71
|
-
open_all = response if %
|
71
|
+
open_all = response if %w[s A].include?(response)
|
72
72
|
outdated_gem.compare if %w[y A].include?(response)
|
73
73
|
puts outdated_gem.compare_url if response == "s"
|
74
|
-
|
74
|
+
break if response == "x"
|
75
75
|
end
|
76
76
|
end
|
77
77
|
map outdated: :each
|
data/lib/gemdiff/gem_updater.rb
CHANGED
data/lib/gemdiff/outdated_gem.rb
CHANGED
@@ -32,10 +32,10 @@ module Gemdiff
|
|
32
32
|
twilio-ruby
|
33
33
|
].freeze
|
34
34
|
|
35
|
-
|
35
|
+
attr_reader :name, :old_version, :new_version
|
36
36
|
|
37
37
|
def initialize(name, old_version = nil, new_version = nil)
|
38
|
-
@name = name
|
38
|
+
@name = find_name(name)
|
39
39
|
set_versions old_version, new_version
|
40
40
|
end
|
41
41
|
|
@@ -97,6 +97,12 @@ module Gemdiff
|
|
97
97
|
|
98
98
|
private
|
99
99
|
|
100
|
+
# When ".", use the name of the current directory
|
101
|
+
def find_name(name)
|
102
|
+
return File.basename(Dir.getwd) if name == "."
|
103
|
+
name
|
104
|
+
end
|
105
|
+
|
100
106
|
def clean_url(url)
|
101
107
|
uri = URI.parse(url)
|
102
108
|
uri.path.gsub! %r{/+}, "/"
|
data/lib/gemdiff/repo_finder.rb
CHANGED
@@ -102,21 +102,23 @@ module Gemdiff
|
|
102
102
|
if (full_name = REPO_EXCEPTIONS[gem_name.to_sym])
|
103
103
|
return github_repo(full_name)
|
104
104
|
end
|
105
|
-
|
105
|
+
yaml = gemspec(gem_name)
|
106
|
+
return if yaml.to_s.empty?
|
106
107
|
spec = YAML.load(yaml)
|
107
|
-
return
|
108
|
+
return clean_url(spec.homepage) if spec.homepage =~ GITHUB_REPO_REGEX
|
108
109
|
match = spec.description.to_s.match(GITHUB_REPO_REGEX)
|
109
|
-
match &&
|
110
|
+
match && clean_url(match[0])
|
110
111
|
end
|
111
112
|
|
112
|
-
|
113
|
-
|
113
|
+
# return https URL with anchors stripped
|
114
|
+
def clean_url(url)
|
115
|
+
url.sub(/\Ahttp:/, "https:").partition("#").first
|
114
116
|
end
|
115
117
|
|
116
118
|
def search(gem_name)
|
117
119
|
query = "#{gem_name} language:ruby in:name"
|
118
120
|
result = octokit_client.search_repositories(query)
|
119
|
-
return
|
121
|
+
return if result.items.empty?
|
120
122
|
github_repo result.items.first.full_name
|
121
123
|
end
|
122
124
|
|
@@ -133,13 +135,9 @@ module Gemdiff
|
|
133
135
|
end
|
134
136
|
|
135
137
|
def gemspec(name)
|
136
|
-
|
137
|
-
return
|
138
|
-
|
139
|
-
end
|
140
|
-
|
141
|
-
def last_shell_command_success?
|
142
|
-
$CHILD_STATUS.success?
|
138
|
+
yaml = find_local_gemspec(name)
|
139
|
+
return yaml unless yaml.to_s.empty?
|
140
|
+
find_remote_gemspec(name)
|
143
141
|
end
|
144
142
|
|
145
143
|
def find_local_gemspec(name)
|
@@ -147,7 +145,7 @@ module Gemdiff
|
|
147
145
|
end
|
148
146
|
|
149
147
|
def find_remote_gemspec(name)
|
150
|
-
`gem spec -r #{name}`
|
148
|
+
`gem spec -r #{name}`
|
151
149
|
end
|
152
150
|
end
|
153
151
|
end
|
data/lib/gemdiff/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemdiff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tee Parham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: launchy
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0
|
47
|
+
version: '1.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0
|
54
|
+
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '13.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '13.0'
|
97
97
|
description: Command-line utility to find source repositories for ruby gems, open
|
98
98
|
common GitHub pages, compare gem versions, and simplify gem update workflow in git.
|
99
99
|
email:
|
@@ -126,14 +126,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
requirements:
|
127
127
|
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: 2.
|
129
|
+
version: 2.4.0
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
132
|
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
rubygems_version: 3.
|
136
|
+
rubygems_version: 3.1.3
|
137
137
|
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: Find source repositories for ruby gems. Open, compare, and update outdated
|