bl 0.6.2 → 0.6.3

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
  SHA1:
3
- metadata.gz: '03219c428b23372c28b606539fb8ab84070b71cb'
4
- data.tar.gz: 72a0e687140543a94bd46392d9cc178e2464fb7a
3
+ metadata.gz: 16bd1cac3a14051361cc6988574a9cc8f9cf6697
4
+ data.tar.gz: be527cd14ce53c2bc14c244388731c573a4d015d
5
5
  SHA512:
6
- metadata.gz: 661e4c0aa182113718192fca1882cdde7ec13e7507a428d77990131283af4c047116a18be872760f26030f0ca3320af0a7dec128a41cf94bd9b9e55e20886b6c
7
- data.tar.gz: 3938903a27afbef92d6f2a01c2e3f4261c747abf9d7244b83e6b0306d63d3720db92b483b8a55289d5b84b4860876c6f5979304e0f7ca36178dc5dd83381feb7
6
+ metadata.gz: 2d8af6be1801884f5084eacd2bef859804eece21647c808283fe49832ca4bd213f52a6cb8fa6a9fe808e6442c6273ddfd4986a711cd112c7c8ff0847f28b96f7
7
+ data.tar.gz: 84bc6c4187d7488f3578e83937f16ed543afd28b97d39a74cfbbf50e87c3a92972cf49cfb8e73477195f8d459a7759081e91ac18520c0dd1069584797ef001b8
data/bl.gemspec CHANGED
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_dependency 'thor', '~> 0.19.4'
25
- spec.add_dependency 'backlog_kit', '~> 0.15.0'
24
+ spec.add_dependency 'thor', '~> 0.20.0'
25
+ spec.add_dependency 'backlog_kit', '~> 0.16.0'
26
26
  spec.add_dependency 'paint', '~> 2.0'
27
27
  spec.add_dependency 'hirb', '~> 0.7.3'
28
28
  spec.add_dependency 'hirb-unicode', '~> 0.0.5'
29
29
 
30
- spec.add_development_dependency 'bundler', '~> 1.14.6'
31
- spec.add_development_dependency 'rake', '~> 12.0'
30
+ spec.add_development_dependency 'bundler', '~> 1.16.0'
31
+ spec.add_development_dependency 'rake', '~> 12.2.1'
32
32
  spec.add_development_dependency 'minitest', '~> 5.10'
33
- spec.add_development_dependency 'pry', '~> 0.10.4'
34
- spec.add_development_dependency 'rubocop', '~> 0.48.0'
33
+ spec.add_development_dependency 'pry', '~> 0.11.2'
34
+ spec.add_development_dependency 'rubocop', '~> 0.51.0'
35
35
  end
data/lib/bl.rb CHANGED
@@ -19,6 +19,7 @@ require 'bl/project'
19
19
  require 'bl/recent'
20
20
  require 'bl/file'
21
21
  require 'bl/gitrepo'
22
+ require 'bl/pull_request'
22
23
  require 'bl/users'
23
24
  require 'bl/groups'
24
25
  require 'bl/webhooks'
@@ -9,7 +9,8 @@ module Bl
9
9
  desc 'list', 'list categories'
10
10
  def list
11
11
  res = request(:get, @url)
12
- print_response(res)
12
+ puts 'categories:'
13
+ print_response(res, :category)
13
14
  end
14
15
 
15
16
  desc 'add [NAME...]', 'add categories'
@@ -17,7 +18,7 @@ module Bl
17
18
  names.each do |name|
18
19
  res = request(:post, @url, name: name)
19
20
  puts 'category added'
20
- print_response(res)
21
+ print_response(res, :category)
21
22
  end
22
23
  end
23
24
 
@@ -27,7 +28,7 @@ module Bl
27
28
  ids.each do |id|
28
29
  res = request(:patch, "#{@url}/#{id}", delete_class_options(options))
29
30
  puts 'category updated'
30
- print_response(res)
31
+ print_response(res, :category)
31
32
  end
32
33
  end
33
34
 
@@ -36,14 +37,8 @@ module Bl
36
37
  ids.each do |id|
37
38
  res = request(:delete, "#{@url}/#{id}")
38
39
  puts 'category deleted'
39
- print_response(res)
40
+ print_response(res, :category)
40
41
  end
41
42
  end
42
-
43
- private
44
-
45
- def print_response(res)
46
- puts formatter.render(res.body, fields: CATEGORY_FIELDS)
47
- end
48
43
  end
49
44
  end
@@ -217,6 +217,9 @@ module Bl
217
217
  desc 'project SUBCOMMAND ...ARGS', 'manage projects'
218
218
  subcommand 'project', Project
219
219
 
220
+ desc 'pullrequest SUBCOMMAND ...ARGS', 'manage pull requests'
221
+ subcommand 'pullrequest', PullRequest
222
+
220
223
  desc 'recent SUBCOMMAND ...ARGS', 'list recent stuff'
221
224
  subcommand 'recent', Recent
222
225
 
@@ -113,6 +113,22 @@ module Bl
113
113
  subtaskingEnabled: :boolean,
114
114
  textFormattingRule: :boolean
115
115
  }
116
+ PULL_REQUEST_FIELDS = %i(
117
+ id
118
+ projectId
119
+ repositoryId
120
+ number
121
+ summary
122
+ description
123
+ base
124
+ branch
125
+ baseCommit
126
+ branchCommit
127
+ closeAt
128
+ mergeAt
129
+ created
130
+ updated
131
+ )
116
132
  ROLES = [
117
133
  {id: 1, name: 'Administrator'},
118
134
  {id: 2, name: 'Normal User'},
@@ -9,7 +9,7 @@ module Bl
9
9
  desc 'list PATH', 'list files on PATH'
10
10
  def list(path = '')
11
11
  res = request(:get, "#{@url}/files/metadata/#{path}")
12
- print_response(res)
12
+ print_response(res, :file)
13
13
  end
14
14
 
15
15
  desc 'get [ID...]', 'get files'
@@ -22,11 +22,5 @@ module Bl
22
22
  puts "file #{id} #{res.body.filename} downloaded."
23
23
  end
24
24
  end
25
-
26
- private
27
-
28
- def print_response(res)
29
- puts formatter.render(res.body, fields: FILE_FIELDS)
30
- end
31
25
  end
32
26
  end
@@ -10,19 +10,13 @@ module Bl
10
10
  desc 'list', 'list git repositories'
11
11
  def list
12
12
  res = request(:get, @url)
13
- print_response(res)
13
+ print_response(res, :gitrepo)
14
14
  end
15
15
 
16
16
  desc 'show ID', 'show a git repository'
17
17
  def show(id)
18
18
  res = request(:get, "#{@url}/#{id}")
19
- puts formatter.render(res.body, fields: GIT_REPO_FIELDS, vertical: true)
20
- end
21
-
22
- private
23
-
24
- def print_response(res)
25
- puts formatter.render(res.body, fields: GIT_REPO_FIELDS)
19
+ print_response(res, :gitrepo)
26
20
  end
27
21
  end
28
22
  end
@@ -6,20 +6,20 @@ module Bl
6
6
  super
7
7
  end
8
8
 
9
- desc 'list', ''
9
+ desc 'list', 'list groups'
10
10
  options order: :string, offset: :numeric, count: :numeric
11
11
  def list
12
12
  res = request(:get, @url, options.to_h)
13
13
  puts formatter.render(res.body, fields: %i(id name))
14
14
  end
15
15
 
16
- desc 'show GROUP_ID', ''
16
+ desc 'show GROUP_ID', 'show group'
17
17
  def show(id)
18
18
  res = request(:get, "#{@url}/#{id}")
19
19
  puts formatter.render(res.body.members, fields: USER_FIELDS)
20
20
  end
21
21
 
22
- desc 'add GROUP_NAME', ''
22
+ desc 'add GROUP_NAME', 'add group'
23
23
  options members: :array
24
24
  def add(name)
25
25
  res = request(:post, @url, { name: name }.merge(delete_class_options(options)))
@@ -27,7 +27,7 @@ module Bl
27
27
  print_group_and_members(res.body)
28
28
  end
29
29
 
30
- desc 'update GROUP_ID', ''
30
+ desc 'update GROUP_ID', 'update group'
31
31
  options name: :string, members: :array
32
32
  def update(id)
33
33
  res = request(:patch, "#{@url}/#{id}", delete_class_options(options.to_h))
@@ -35,7 +35,7 @@ module Bl
35
35
  print_group_and_members(res.body)
36
36
  end
37
37
 
38
- desc 'delete GROUP_ID', ''
38
+ desc 'delete GROUP_ID', 'delete group'
39
39
  def delete(id)
40
40
  res = request(:delete, "#{@url}/#{id}")
41
41
  puts 'group deleted'
@@ -14,7 +14,8 @@ module Bl
14
14
  else
15
15
  res.body.select! { |m| m.archived == false } unless options[:all]
16
16
  end
17
- print_response(res)
17
+ puts 'milestones:'
18
+ print_response(res, :milestone)
18
19
  end
19
20
 
20
21
  desc 'add [NAME...]', 'add milestones'
@@ -30,7 +31,7 @@ module Bl
30
31
  releaseDueDate: options[:releaseDueDate]
31
32
  )
32
33
  puts 'milestone added'
33
- print_response(res)
34
+ print_response(res, :milestone)
34
35
  end
35
36
  end
36
37
 
@@ -41,7 +42,7 @@ module Bl
41
42
  ids.each do |id|
42
43
  res = request(:patch, "#{@url}/#{id}", delete_class_options(options))
43
44
  puts 'milestone updated'
44
- print_response(res)
45
+ print_response(res, milestone)
45
46
  end
46
47
  end
47
48
 
@@ -50,14 +51,8 @@ module Bl
50
51
  ids.each do |id|
51
52
  res = request(:delete, "#{@url}/#{id}")
52
53
  puts 'milestone deleted'
53
- print_response(res)
54
+ print_response(res, :milestone)
54
55
  end
55
56
  end
56
-
57
- private
58
-
59
- def print_response(res)
60
- puts formatter.render(res.body, fields: MILESTONE_FIELDS)
61
- end
62
57
  end
63
58
  end
@@ -4,10 +4,26 @@ module Bl
4
4
 
5
5
  def print_response(res, resource)
6
6
  case resource
7
+ when :category
8
+ puts formatter.render(res.body, fields: CATEGORY_FIELDS)
9
+ when :file
10
+ puts formatter.render(res.body, fields: FILE_FIELDS)
11
+ when :gitrepo
12
+ puts formatter.render(res.body, fields: GIT_REPO_FIELDS)
7
13
  when :issue
8
14
  puts formatter.render(printable_issues(res.body), fields: ISSUE_FIELDS)
15
+ when :milestone
16
+ puts formatter.render(res.body, fields: MILESTONE_FIELDS)
9
17
  when :named
10
18
  puts formatter.render(res.body, fields: %i(id name))
19
+ when :project
20
+ puts formatter.render(res.body, fields: PROJECT_FIELDS)
21
+ when :pull_request
22
+ puts formatter.render(res.body, fields: PULL_REQUEST_FIELDS)
23
+ when :type
24
+ puts formatter.render(res.body, fields: %i(id name color))
25
+ when :user
26
+ puts formatter.render(res.body, fields: USER_FIELDS)
11
27
  when :wiki
12
28
  puts formatter.render(res.body, fields: WIKI_FIELDS)
13
29
  else
@@ -17,13 +17,13 @@ module Bl
17
17
  desc 'list', 'list projects'
18
18
  def list
19
19
  res = request(:get, @url)
20
- print_response(res)
20
+ print_response(res, :project)
21
21
  end
22
22
 
23
23
  desc 'show', 'show project'
24
24
  def show(id)
25
25
  res = request(:get, "#{@url}/#{id}")
26
- print_response(res)
26
+ print_response(res, :project)
27
27
  rescue => e
28
28
  puts e.message
29
29
  end
@@ -37,7 +37,7 @@ module Bl
37
37
  def add(name)
38
38
  res = request(:post, @url, {name: name}.merge(delete_class_options(options.to_h)))
39
39
  puts 'project added'
40
- print_response(res)
40
+ print_response(res, :project)
41
41
  end
42
42
 
43
43
  desc 'update', 'update project'
@@ -45,14 +45,14 @@ module Bl
45
45
  def update(id)
46
46
  res = request(:patch, "#{@url}/#{id}", delete_class_options(options.to_h))
47
47
  puts 'project updated'
48
- print_response(res)
48
+ print_response(res, :project)
49
49
  end
50
50
 
51
51
  desc 'delete', 'delete project'
52
52
  def delete(id)
53
53
  res = request(:delete, "#{@url}/#{id}")
54
54
  puts 'project deleted'
55
- print_response(res)
55
+ print_response(res, :project)
56
56
  end
57
57
 
58
58
  desc 'status ID', 'show project status'
@@ -117,8 +117,5 @@ module Bl
117
117
  ).body.count
118
118
  end
119
119
 
120
- def print_response(res)
121
- puts formatter.render(res.body, fields: PROJECT_FIELDS)
122
- end
123
120
  end
124
121
  end
@@ -0,0 +1,21 @@
1
+ module Bl
2
+ class PullRequest < Command
3
+ def initialize(*)
4
+ @config = Bl::Config.instance
5
+ @url = "projects/#{@config[:project_key]}/git/repositories"
6
+ super
7
+ end
8
+
9
+ desc 'count ID', 'count pull requests'
10
+ def count(id)
11
+ res = request(:get, "#{@url}/#{id}/pullRequests/count")
12
+ puts res.body.count
13
+ end
14
+
15
+ desc 'list ID', 'list pull requests'
16
+ def list(id)
17
+ res = request(:get, "#{@url}/#{id}/pullRequests")
18
+ print_response(res, :pull_request)
19
+ end
20
+ end
21
+ end
@@ -1,6 +1,5 @@
1
1
  module Bl
2
2
  class Type < Command
3
-
4
3
  def initialize(*)
5
4
  @config = Bl::Config.instance
6
5
  @url = "projects/#{@config[:project_key]}/issueTypes"
@@ -10,7 +9,8 @@ module Bl
10
9
  desc 'list', 'list issue types'
11
10
  def list
12
11
  res = request(:get, @url)
13
- print_response(res)
12
+ puts 'types:'
13
+ print_response(res, :type)
14
14
  end
15
15
 
16
16
  desc 'add [NAME...]', 'add types'
@@ -19,7 +19,7 @@ module Bl
19
19
  names.each do |name|
20
20
  res = request(:post, @url, name: name, color: options[:color])
21
21
  puts 'type added'
22
- print_response(res)
22
+ print_response(res, :type)
23
23
  end
24
24
  end
25
25
 
@@ -30,7 +30,7 @@ module Bl
30
30
  ids.each do |id|
31
31
  res = request(:patch, "#{@url}/#{id}", delete_class_options(options))
32
32
  puts 'type updated'
33
- print_response(res)
33
+ print_response(res, :type)
34
34
  end
35
35
  end
36
36
 
@@ -40,21 +40,16 @@ module Bl
40
40
  ids.each do |id|
41
41
  res = request(:delete, "#{@url}/#{id}", delete_class_options(options))
42
42
  puts 'type deleted'
43
- print_response
43
+ print_response(res, :type)
44
44
  end
45
45
  end
46
46
 
47
- desc 'colors', 'list colors'
47
+ desc 'colors', 'list available colors'
48
48
  def colors
49
+ puts 'colors:'
49
50
  TYPE_COLORS.each do |color|
50
51
  puts Paint[color, '#ffffff', color]
51
52
  end
52
53
  end
53
-
54
- private
55
-
56
- def print_response(res)
57
- puts formatter.render(res.body, fields: %i(id name color))
58
- end
59
54
  end
60
55
  end
@@ -9,7 +9,7 @@ module Bl
9
9
  desc 'list', 'list users'
10
10
  def list
11
11
  res = request(:get, 'users')
12
- print_response(res)
12
+ print_response(res, :user)
13
13
  end
14
14
 
15
15
  desc 'show USER_ID', ''
@@ -30,7 +30,7 @@ module Bl
30
30
  roleType: role_type
31
31
  )
32
32
  puts 'user added'
33
- print_response(res)
33
+ print_response(res, :user)
34
34
  end
35
35
 
36
36
  desc 'update USER_ID', ''
@@ -38,20 +38,20 @@ module Bl
38
38
  def update(id)
39
39
  res = request(:patch, "#{@url}/#{id}", delete_class_options(options.to_h))
40
40
  puts 'user updated:'
41
- print_response(res)
41
+ print_response(res, :user)
42
42
  end
43
43
 
44
44
  desc 'delete', ''
45
45
  def delete(id)
46
46
  res = request(:delete, "#{@url}/#{id}")
47
47
  puts 'user deleted'
48
- print_response(res)
48
+ print_response(res, :user)
49
49
  end
50
50
 
51
51
  desc 'myself', ''
52
52
  def myself
53
53
  res = request(:get, "#{@url}/myself")
54
- print_response(res)
54
+ print_response(res, :user)
55
55
  end
56
56
 
57
57
  desc 'icon ID', ''
@@ -83,11 +83,5 @@ module Bl
83
83
  p request(:get, "/users/#{user_id}/stars/count", options.to_h).body.count
84
84
  end
85
85
  end
86
-
87
- private
88
-
89
- def print_response(res)
90
- puts formatter.render(res.body, fields: USER_FIELDS)
91
- end
92
86
  end
93
87
  end
@@ -1,3 +1,3 @@
1
1
  module Bl
2
- VERSION = '0.6.2'.freeze
2
+ VERSION = '0.6.3'.freeze
3
3
  end
@@ -44,14 +44,8 @@ module Bl
44
44
 
45
45
  desc 'show ID', "show a wiki's content"
46
46
  def show(id)
47
- body = request(:get, "#{@url}/#{id}").body
48
- puts "id: #{body.id}"
49
- puts "projectId: #{body.projectId}"
50
- puts "name: #{body.name}"
51
- puts "updated: #{body.updated}"
52
- puts '--'
53
- puts 'content:'
54
- puts body.content
47
+ res = request(:get, "#{@url}/#{id}")
48
+ puts formatter.render(res.body, fields: WIKI_FIELDS.push(:content), vertical: true)
55
49
  end
56
50
 
57
51
  desc 'tags', 'show wiki tags'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - saki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-15 00:00:00.000000000 Z
11
+ date: 2017-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.4
19
+ version: 0.20.0
20
20
  type: :runtime
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: 0.19.4
26
+ version: 0.20.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: backlog_kit
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.15.0
33
+ version: 0.16.0
34
34
  type: :runtime
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: 0.15.0
40
+ version: 0.16.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: paint
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 1.14.6
89
+ version: 1.16.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: 1.14.6
96
+ version: 1.16.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '12.0'
103
+ version: 12.2.1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '12.0'
110
+ version: 12.2.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: minitest
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,28 +128,28 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.10.4
131
+ version: 0.11.2
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.10.4
138
+ version: 0.11.2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.48.0
145
+ version: 0.51.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.48.0
152
+ version: 0.51.0
153
153
  description: bl is a command line tool for Backlog.
154
154
  email:
155
155
  - sakihet@gmail.com
@@ -192,6 +192,7 @@ files:
192
192
  - lib/bl/notifications.rb
193
193
  - lib/bl/printer.rb
194
194
  - lib/bl/project.rb
195
+ - lib/bl/pull_request.rb
195
196
  - lib/bl/recent.rb
196
197
  - lib/bl/requestable.rb
197
198
  - lib/bl/space.rb
@@ -221,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
222
  version: '0'
222
223
  requirements: []
223
224
  rubyforge_project:
224
- rubygems_version: 2.6.11
225
+ rubygems_version: 2.6.13
225
226
  signing_key:
226
227
  specification_version: 4
227
228
  summary: bl is a command line tool for Backlog.