cp8_cli 9.0.2 → 9.1.1

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: 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: []