cp8_cli 8.2.1 → 9.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 +5 -5
- data/README.md +4 -1
- data/cp8_cli.gemspec +4 -4
- data/exe/cp8 +1 -1
- data/lib/cp8_cli/command.rb +2 -1
- data/lib/cp8_cli/config_store.rb +10 -1
- data/lib/cp8_cli/current_user.rb +1 -0
- data/lib/cp8_cli/github/issue.rb +1 -1
- data/lib/cp8_cli/github/pull_request.rb +11 -5
- data/lib/cp8_cli/global_config.rb +30 -3
- data/lib/cp8_cli/pull_request_title.rb +1 -1
- data/lib/cp8_cli/story.rb +4 -4
- data/lib/cp8_cli/version.rb +1 -1
- metadata +18 -27
- data/exe/git-cleanup +0 -7
- data/exe/git-finish +0 -20
- data/exe/git-open +0 -8
- data/exe/git-start +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7814c1971d98c081f83039b7532cd09643310307b23563c04a6e4e67dc187861
|
4
|
+
data.tar.gz: fcdc9860f33add2f70ce25de66c3b70961516b21377d77cb538266af2a2d02e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b57fc650a6714b0b27c297eee936a9ae62911586625e6ce340dc0a231170d973ee43d4b8da2895e30c1f1dd47773ee1102bb39cc5e4c401f23e7accb59c894d2
|
7
|
+
data.tar.gz: f8005a679e7740ed961ab48230a294af0ac78ba9c584515d36d0ad8d723c9b725a74ff4243b7f05d63f1f3ae2eaa7f7442c8fd4cd13b065a87355ab2193afba0
|
data/README.md
CHANGED
data/cp8_cli.gemspec
CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_development_dependency "bundler", "~>
|
23
|
-
spec.add_development_dependency "rake", "
|
22
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
23
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
24
24
|
spec.add_development_dependency "minitest", "~> 5.0"
|
25
25
|
spec.add_development_dependency "minitest-line"
|
26
26
|
spec.add_development_dependency "minitest-reporters"
|
@@ -32,8 +32,8 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_dependency "colored"
|
33
33
|
spec.add_dependency "highline"
|
34
34
|
spec.add_dependency "launchy"
|
35
|
-
spec.add_dependency "octokit"
|
35
|
+
spec.add_dependency "octokit", "~> 4.18"
|
36
36
|
spec.add_dependency "thor"
|
37
|
-
spec.add_dependency "trollop"
|
38
37
|
spec.add_dependency "tty-prompt"
|
38
|
+
spec.add_dependency "os"
|
39
39
|
end
|
data/exe/cp8
CHANGED
@@ -27,7 +27,7 @@ module Cp8Cli
|
|
27
27
|
main.ci
|
28
28
|
end
|
29
29
|
|
30
|
-
desc "suggest", "Creates a suggestion branch from new commits, pushes it, opens URL and resets
|
30
|
+
desc "suggest", "Creates a suggestion branch from new commits, pushes it, opens URL, and resets the base branch."
|
31
31
|
def suggest
|
32
32
|
main.suggest
|
33
33
|
end
|
data/lib/cp8_cli/command.rb
CHANGED
@@ -2,6 +2,7 @@ require "colored"
|
|
2
2
|
require "active_support/core_ext/module/delegation"
|
3
3
|
require "highline"
|
4
4
|
require "tty-prompt"
|
5
|
+
require "os"
|
5
6
|
|
6
7
|
module Cp8Cli
|
7
8
|
class Command
|
@@ -14,7 +15,7 @@ module Cp8Cli
|
|
14
15
|
|
15
16
|
def open_url(url)
|
16
17
|
return title(url) if ENV['BROWSER'] == 'echo'
|
17
|
-
|
18
|
+
`#{OS.open_file_command} \"#{url}\"`
|
18
19
|
end
|
19
20
|
|
20
21
|
def title(message)
|
data/lib/cp8_cli/config_store.rb
CHANGED
@@ -10,9 +10,18 @@ module Cp8Cli
|
|
10
10
|
data[key]
|
11
11
|
end
|
12
12
|
|
13
|
+
def exist?
|
14
|
+
File.exist?(path)
|
15
|
+
end
|
16
|
+
|
17
|
+
def move_to(new_path)
|
18
|
+
File.rename(path, new_path)
|
19
|
+
@path = new_path
|
20
|
+
end
|
21
|
+
|
13
22
|
def save(key, value)
|
14
23
|
data[key] = value
|
15
|
-
File.new(path, "w") unless
|
24
|
+
File.new(path, "w") unless exist?
|
16
25
|
File.open(path, "w") { |f| f.write(data.to_yaml) }
|
17
26
|
value
|
18
27
|
end
|
data/lib/cp8_cli/current_user.rb
CHANGED
data/lib/cp8_cli/github/issue.rb
CHANGED
@@ -7,18 +7,18 @@ module Cp8Cli
|
|
7
7
|
include Api::Client
|
8
8
|
|
9
9
|
def self.create(attributes = {})
|
10
|
-
new(attributes).save
|
10
|
+
new(**attributes).save
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.find_by(repo:, branch:)
|
14
14
|
client.pull_requests(repo.shorthand, head: "#{repo.user}:#{branch}").map do |data|
|
15
|
-
new(data)
|
15
|
+
new(**data)
|
16
16
|
end.first
|
17
17
|
end
|
18
18
|
|
19
|
-
def initialize(from: nil, to:
|
19
|
+
def initialize(from: nil, to: nil, title: nil, body: nil, expand: 1, html_url: nil, **attributes)
|
20
20
|
@from = from
|
21
|
-
@to = to
|
21
|
+
@to = to || default_branch
|
22
22
|
@title = title
|
23
23
|
@body = body
|
24
24
|
@expand = expand
|
@@ -35,7 +35,9 @@ module Cp8Cli
|
|
35
35
|
to,
|
36
36
|
from,
|
37
37
|
title,
|
38
|
-
body
|
38
|
+
body,
|
39
|
+
draft: true,
|
40
|
+
accept: "application/vnd.github.shadow-cat-preview" # waiting for https://github.com/octokit/octokit.rb/pull/1114
|
39
41
|
)
|
40
42
|
end
|
41
43
|
|
@@ -43,6 +45,10 @@ module Cp8Cli
|
|
43
45
|
|
44
46
|
attr_reader :from, :to, :title, :body, :expand, :html_url
|
45
47
|
|
48
|
+
def default_branch
|
49
|
+
client.repo(repo.shorthand).default_branch
|
50
|
+
end
|
51
|
+
|
46
52
|
def url
|
47
53
|
html_url || new_pr_url
|
48
54
|
end
|
@@ -2,10 +2,11 @@ require "cp8_cli/config_store"
|
|
2
2
|
|
3
3
|
module Cp8Cli
|
4
4
|
class GlobalConfig
|
5
|
-
|
5
|
+
LEGACY_PATH = ENV["HOME"] + "/.trello_flow"
|
6
|
+
PATH = ENV["HOME"] + "/.cp8_cli"
|
6
7
|
|
7
8
|
def initialize(store = nil)
|
8
|
-
@store = store ||
|
9
|
+
@store = store || initialize_store
|
9
10
|
end
|
10
11
|
|
11
12
|
def github_token
|
@@ -16,12 +17,38 @@ module Cp8Cli
|
|
16
17
|
|
17
18
|
attr_reader :store
|
18
19
|
|
20
|
+
def initialize_store
|
21
|
+
migrate_legacy_store if uses_legacy_store?
|
22
|
+
|
23
|
+
default_store
|
24
|
+
end
|
25
|
+
|
26
|
+
def uses_legacy_store?
|
27
|
+
legacy_store.exist?
|
28
|
+
end
|
29
|
+
|
30
|
+
def migrate_legacy_store
|
31
|
+
Command.say("#{LEGACY_PATH} was deprecated, moving to #{PATH}")
|
32
|
+
legacy_store.move_to(PATH)
|
33
|
+
end
|
34
|
+
|
35
|
+
def default_store
|
36
|
+
@_default_store ||= ConfigStore.new(PATH)
|
37
|
+
end
|
38
|
+
|
39
|
+
def legacy_store
|
40
|
+
@_legacy_store ||= ConfigStore.new(LEGACY_PATH)
|
41
|
+
end
|
42
|
+
|
19
43
|
def env_github_token
|
20
44
|
ENV["OCTOKIT_ACCESS_TOKEN"]
|
21
45
|
end
|
22
46
|
|
23
47
|
def configure_github_token
|
24
|
-
store.save
|
48
|
+
store.save(
|
49
|
+
:github_token,
|
50
|
+
Command.ask("Input GitHub access token with repo access scope (https://github.com/settings/tokens):")
|
51
|
+
)
|
25
52
|
end
|
26
53
|
end
|
27
54
|
end
|
data/lib/cp8_cli/story.rb
CHANGED
@@ -6,9 +6,9 @@ module Cp8Cli
|
|
6
6
|
checkout_branch
|
7
7
|
create_empty_commit
|
8
8
|
push_branch
|
9
|
-
|
9
|
+
create_draft_pull_request
|
10
10
|
assign
|
11
|
-
Command.title "Created
|
11
|
+
Command.title "Created draft PR, run `cp8 open` to view."
|
12
12
|
end
|
13
13
|
|
14
14
|
private
|
@@ -33,10 +33,10 @@ module Cp8Cli
|
|
33
33
|
branch.push
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
36
|
+
def create_draft_pull_request
|
37
37
|
Github::PullRequest.create(
|
38
38
|
from: branch.name,
|
39
|
-
title: PullRequestTitle.new(title
|
39
|
+
title: PullRequestTitle.new(title).run,
|
40
40
|
body: PullRequestBody.new(self).run
|
41
41
|
)
|
42
42
|
end
|
data/lib/cp8_cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cp8_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 9.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Balvig
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 12.3.3
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 12.3.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,16 +182,16 @@ dependencies:
|
|
182
182
|
name: octokit
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
|
-
- - "
|
185
|
+
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
187
|
+
version: '4.18'
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
|
-
- - "
|
192
|
+
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
194
|
+
version: '4.18'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: thor
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,7 +207,7 @@ dependencies:
|
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '0'
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
210
|
+
name: tty-prompt
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - ">="
|
@@ -221,7 +221,7 @@ dependencies:
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
224
|
+
name: os
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
227
|
- - ">="
|
@@ -239,10 +239,6 @@ email:
|
|
239
239
|
- jens@balvig.com
|
240
240
|
executables:
|
241
241
|
- cp8
|
242
|
-
- git-cleanup
|
243
|
-
- git-finish
|
244
|
-
- git-open
|
245
|
-
- git-start
|
246
242
|
extensions: []
|
247
243
|
extra_rdoc_files: []
|
248
244
|
files:
|
@@ -255,10 +251,6 @@ files:
|
|
255
251
|
- Rakefile
|
256
252
|
- cp8_cli.gemspec
|
257
253
|
- exe/cp8
|
258
|
-
- exe/git-cleanup
|
259
|
-
- exe/git-finish
|
260
|
-
- exe/git-open
|
261
|
-
- exe/git-start
|
262
254
|
- lib/cp8_cli.rb
|
263
255
|
- lib/cp8_cli/adhoc_story.rb
|
264
256
|
- lib/cp8_cli/branch.rb
|
@@ -287,7 +279,7 @@ homepage: https://github.com/balvig/cp8_cli
|
|
287
279
|
licenses:
|
288
280
|
- MIT
|
289
281
|
metadata: {}
|
290
|
-
post_install_message:
|
282
|
+
post_install_message:
|
291
283
|
rdoc_options: []
|
292
284
|
require_paths:
|
293
285
|
- lib
|
@@ -302,9 +294,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
302
294
|
- !ruby/object:Gem::Version
|
303
295
|
version: '0'
|
304
296
|
requirements: []
|
305
|
-
|
306
|
-
|
307
|
-
signing_key:
|
297
|
+
rubygems_version: 3.0.3
|
298
|
+
signing_key:
|
308
299
|
specification_version: 4
|
309
300
|
summary: Cookpad Global CLI.
|
310
301
|
test_files: []
|
data/exe/git-cleanup
DELETED
data/exe/git-finish
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
-
|
5
|
-
require "cp8_cli"
|
6
|
-
require "trollop"
|
7
|
-
|
8
|
-
|
9
|
-
options = Trollop::options do
|
10
|
-
banner <<-EOS
|
11
|
-
Pushes branch to GitHub and opens a PR
|
12
|
-
|
13
|
-
Usage:
|
14
|
-
git finish
|
15
|
-
EOS
|
16
|
-
opt :wip, "Open [WIP] PR"
|
17
|
-
end
|
18
|
-
|
19
|
-
puts "git finish is DEPRECATED, please use cp8 submit".red
|
20
|
-
Cp8Cli::Main.new.submit(options)
|
data/exe/git-open
DELETED