cp8_cli 9.0.2 → 9.1.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: a092edab095f55038da8d02d2f5b82dad16e1b71157e3b16136e7bdf793db0b1
4
- data.tar.gz: c8cacade222c91290dec308da54cd55f6dfcbade0e0370c9fe592f30d7124791
3
+ metadata.gz: 29ab2484e007b1b19cd0af5c52319417135918fdfb46637022931f34600ebf80
4
+ data.tar.gz: 0cf69b9e577715ccff76d6990dabd4ded0aecb49733c1c2271fe701840e62614
5
5
  SHA512:
6
- metadata.gz: d393930c3621d3bbde4c2eba5573110968957bfdd4049867eef33137547634aead28a6f182c16b82edac7ef2505887f43d3a89266e7d147641f991f6db953702
7
- data.tar.gz: 8f5cc94536289b90a5b69e6557c36785f4d51602f24fe62cfc5ebabd198af275818628d2af18a42c088756f955d32df248a2e3da9409f003b86ec3c77ef2fe41
6
+ metadata.gz: 80faa689697af925613f19bc75c53265dd958f3781d2bef4fc82f86748d5c0428aa95e6908f6068044b04e700f4f51a5f0a74ed446b758b8fbe1d3317fae54ed
7
+ data.tar.gz: 3436c4bc08e59512458da1fafc3d3bbf3855e3861e91c5db71376b2b7de9f6f7456faf828d26d4078e82aec32a0470e2e46bc2939e22c1398c34b826b1703fe9
data/README.md CHANGED
@@ -1,4 +1,7 @@
1
- # CP-8 Cli
1
+ # CP8 Cli
2
+ CP8 is a command line tool which aids in interacting with Github.
3
+
4
+ CP8 helps you open draft pull requests, suggests branch names and opens your CI for a branch.
2
5
 
3
6
  ## Installation
4
7
 
data/cp8_cli.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 2.0"
23
- spec.add_development_dependency "rake", "~> 10.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,7 +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", "~> 4.18"
35
+ spec.add_dependency "octokit", "~> 4.21"
36
36
  spec.add_dependency "thor"
37
37
  spec.add_dependency "tty-prompt"
38
+ spec.add_dependency "os"
38
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 `master` back to `origin/master`."
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
@@ -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
- `open \"#{url}\"`
18
+ `#{OS.open_file_command} \"#{url}\"`
18
19
  end
19
20
 
20
21
  def title(message)
@@ -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 File.exists?(path)
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
@@ -16,7 +16,7 @@ module Cp8Cli
16
16
  def self.find_by_url(url)
17
17
  url = ParsedUrl.new(url)
18
18
  issue = client.issue(url.repo, url.number).to_h
19
- new issue.merge(number: url.number, repo: url.repo)
19
+ new(**issue.merge(number: url.number, repo: url.repo))
20
20
  end
21
21
 
22
22
  def title
@@ -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: "master", title: nil, body: nil, expand: 1, html_url: nil, **attributes)
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
@@ -45,6 +45,10 @@ module Cp8Cli
45
45
 
46
46
  attr_reader :from, :to, :title, :body, :expand, :html_url
47
47
 
48
+ def default_branch
49
+ client.repo(repo.shorthand).default_branch
50
+ end
51
+
48
52
  def url
49
53
  html_url || new_pr_url
50
54
  end
@@ -2,10 +2,11 @@ require "cp8_cli/config_store"
2
2
 
3
3
  module Cp8Cli
4
4
  class GlobalConfig
5
- PATH = ENV["HOME"] + "/.trello_flow"
5
+ LEGACY_PATH = ENV["HOME"] + "/.trello_flow"
6
+ PATH = ENV["HOME"] + "/.cp8_cli"
6
7
 
7
8
  def initialize(store = nil)
8
- @store = store || ConfigStore.new(PATH)
9
+ @store = store || initialize_store
9
10
  end
10
11
 
11
12
  def github_token
@@ -16,6 +17,29 @@ 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
@@ -1,5 +1,5 @@
1
1
  module Cp8Cli
2
- VERSION = "9.0.2"
2
+ VERSION = "9.1.1"
3
3
 
4
4
  class Version
5
5
  def self.latest?
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: 9.0.2
4
+ version: 9.1.1
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: 2020-04-08 00:00:00.000000000 Z
11
+ date: 2022-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
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: '10.0'
40
+ version: 12.3.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '4.18'
187
+ version: '4.21'
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: '4.18'
194
+ version: '4.21'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: thor
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +220,20 @@ dependencies:
220
220
  - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: os
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
223
237
  description: Cookpad Global CLI.
224
238
  email:
225
239
  - jens@balvig.com
@@ -265,7 +279,7 @@ homepage: https://github.com/balvig/cp8_cli
265
279
  licenses:
266
280
  - MIT
267
281
  metadata: {}
268
- post_install_message:
282
+ post_install_message:
269
283
  rdoc_options: []
270
284
  require_paths:
271
285
  - lib
@@ -280,8 +294,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
280
294
  - !ruby/object:Gem::Version
281
295
  version: '0'
282
296
  requirements: []
283
- rubygems_version: 3.0.3
284
- signing_key:
297
+ rubygems_version: 3.2.3
298
+ signing_key:
285
299
  specification_version: 4
286
300
  summary: Cookpad Global CLI.
287
301
  test_files: []