bl 0.6.2 → 0.6.3

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
  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.