gemdiff 2.5.4 → 3.1.0

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: 7b5d64420fe34ccb243d5cb8176931fea325297048d1838f67e3b55a9087a1a9
4
- data.tar.gz: 7d7ac68ec217d6cee61fb4b131f61d9f91e8d4e5a5e0e6ca4dc2747ab6844b5c
3
+ metadata.gz: 816c043aaed3ee188c5cb4637b06ff695b530d8ea8ffa93d804f01e8f4958e90
4
+ data.tar.gz: b8916af6f878439433af752c67d985b8e490bc95debaf8ec3572c4d9cd01603d
5
5
  SHA512:
6
- metadata.gz: 846453115c13ffa9302125c03d9b065fa9b8d17286446700640a3d38ec010aac68e5e46861908328a89d2e84c3926d4c7d85bcf2202918845d8beb8d72a131ec
7
- data.tar.gz: d34c37826dc118117896c4520748cbaf9a2e804be784ffd69c2f7555e25bb8d130f030944d1ea5adfdc6436de89fe4bf878f2524c1e530fe48b009716deb5fe0
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
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "English"
4
3
  require "gemdiff/version"
5
4
  require "gemdiff/colorize"
6
5
  require "gemdiff/cli"
@@ -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 %(A s).include?(response)
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
- return if response == "x"
74
+ break if response == "x"
75
75
  end
76
76
  end
77
77
  map outdated: :each
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Gemdiff
4
4
  class GemUpdater
5
- attr_accessor :name
5
+ attr_reader :name
6
6
 
7
7
  def initialize(name)
8
8
  @name = name
@@ -32,10 +32,10 @@ module Gemdiff
32
32
  twilio-ruby
33
33
  ].freeze
34
34
 
35
- attr_accessor :name, :old_version, :new_version
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{/+}, "/"
@@ -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
- return nil unless (yaml = gemspec(gem_name))
105
+ yaml = gemspec(gem_name)
106
+ return if yaml.to_s.empty?
106
107
  spec = YAML.load(yaml)
107
- return secure_url(spec.homepage) if spec.homepage =~ GITHUB_REPO_REGEX
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 && secure_url(match[0])
110
+ match && clean_url(match[0])
110
111
  end
111
112
 
112
- def secure_url(url)
113
- url.sub(/\Ahttp:/, "https:")
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 nil if result.items.empty?
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
- local = find_local_gemspec(name)
137
- return find_remote_gemspec(name) unless last_shell_command_success?
138
- local.partition("#").first if local =~ GITHUB_REPO_REGEX
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}` if last_shell_command_success?
148
+ `gem spec -r #{name}`
151
149
  end
152
150
  end
153
151
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gemdiff
4
- VERSION = "2.5.4"
4
+ VERSION = "3.1.0"
5
5
  end
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: 2.5.4
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: 2019-03-05 00:00:00.000000000 Z
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.19'
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.19'
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: '12.0'
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: '12.0'
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.3.0
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.0.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