agile-cli 0.0.16 → 0.0.17

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: 6ed766d8eaee010e975e70eb1f48adb7210b473788505fe13b406266bef78572
4
- data.tar.gz: 6dddd5c95654e5b00d9d37d4069da45f521daad61580a384c3a64f9a09dbbbe5
3
+ metadata.gz: 521321c656b38095a889ee5653abc64e365011c5f648b2afbb4922db0669c017
4
+ data.tar.gz: df1d70f25bdf24bda53580f2f38bedfd68ee548794ce693a6f1d0412e78b8a7c
5
5
  SHA512:
6
- metadata.gz: cf126ff658051f1bf646a0bad52dbb4d5617e36bcaec0a123ff3ebcc1aa6aaf5f0d1f117b9cc25a030f7dc2b1017f63ef2ba79f3a983069bd98c5ce40844df11
7
- data.tar.gz: f00751f20fb3e293474e10414596534961e0f7dbb4c35c76b3fc67ccaec039121d38947d955fa4ad3ea49fd29e479a3d757059b9d3c2a7b72910c2f73b3354f0
6
+ metadata.gz: 4ff3af9c47007a471c744ef3507e2970696992d238b915eb653bedc69f6713abc76cd43325aab494b10ccd1be97448e406a6b6eecfad2641aed224ac138afefd
7
+ data.tar.gz: a0728122e058f9a4d19bab9921387afc4b7dddb40422483327188df96994dd0c46e0998a68f21d14a09de70de465d183a3b18597106a7639d654b7b2a9a73a3c
@@ -1,4 +1,3 @@
1
- # :reek:Lint/Syntax
2
1
  module Agile
3
2
  class Projects < Thor
4
3
  desc "create <project>", "Create new project"
@@ -1,3 +1,5 @@
1
+ # :reek:FeatureEnvy
2
+
1
3
  module Agile
2
4
  class Tickets < Thor
3
5
  desc "create <ticket>", "Add new ticket"
@@ -15,7 +17,15 @@ module Agile
15
17
  def list
16
18
  response = RestClient.get "#{CONFIG['current_remote']}/api/v1/tickets/"
17
19
  info = JSON.parse(response)
18
- info.each { |ticket| puts ticket["name"] if ticket["project_id"] == CONFIG["current_project_id"] }
20
+ print_tickets_list(info)
21
+ end
22
+
23
+ desc "my_list", "Tickets list"
24
+ def my_list
25
+ response = RestClient.get "#{CONFIG['current_remote']}/api/v1/tickets/"
26
+ owner = []
27
+ JSON.parse(response).each { |ticket| owner << ticket if ticket["owner"] == CONFIG["current_user"] }
28
+ print_tickets_list(owner)
19
29
  end
20
30
 
21
31
  desc "show <name_ticket>", "Show ticket"
@@ -61,16 +71,6 @@ module Agile
61
71
  end
62
72
  end
63
73
 
64
- # desc "my_list", "Your tickets list"
65
- # def my_list
66
- # CONFIG["tickets"].each do |name|
67
- # if name == CONFIG["tickets"]
68
- # say "* #{name}"
69
- # else
70
- # say name
71
- # end
72
- # end
73
- # end
74
74
  private
75
75
 
76
76
  def output_ticket(row)
@@ -86,7 +86,7 @@ module Agile
86
86
 
87
87
  def ticket_status
88
88
  cli = HighLine.new
89
- puts "0 - ToDo\n1 - Review\n2 - In progress\n3 - Merged\n4 - Done\n5 - Archived"
89
+ puts "0 - ToDo\n1 - Review\n2 - Merged\n3 - In progress\n4 - Done\n5 - Archived"
90
90
  cli.ask("Choose status of ticket (select number): ", Integer)
91
91
  end
92
92
 
@@ -95,7 +95,7 @@ module Agile
95
95
  new_ticket = choice.ask("Enter new name of ticket: ", String)
96
96
  RestClient.put "#{CONFIG['current_remote']}/api/v1/tickets/#{ticket}",
97
97
  name: ticket, new_name: new_ticket, type: 1,
98
- user: CONFIG["current_user"]
98
+ user: CONFIG["current_user"], project_id: CONFIG["current_project_id"]
99
99
  say "Updated from #{ticket} to #{new_ticket}"
100
100
  end
101
101
 
@@ -107,6 +107,91 @@ module Agile
107
107
  user: CONFIG["current_user"]
108
108
  say "Updated description to #{new_description}"
109
109
  end
110
+
111
+ def print_arr_to_do(arr)
112
+ @s_to_do = ""
113
+ arr.each do |element|
114
+ @s_to_do += element.to_s + "\n"
115
+ end
116
+ end
117
+
118
+ def print_arr_review(arr)
119
+ @s_review = ""
120
+ arr.each do |element|
121
+ @s_review += element.to_s + "\n"
122
+ end
123
+ end
124
+
125
+ def print_arr_merged(arr)
126
+ @s_merged = ""
127
+ arr.each do |element|
128
+ @s_merged += element.to_s + "\n"
129
+ end
130
+ end
131
+
132
+ def print_arr_in_progress(arr)
133
+ @s_in_progress = ""
134
+ arr.each do |element|
135
+ @s_in_progress += element.to_s + "\n"
136
+ end
137
+ end
138
+
139
+ def print_arr_done(arr)
140
+ @s_done = ""
141
+ arr.each do |element|
142
+ @s_done += element.to_s + "\n"
143
+ end
144
+ end
145
+
146
+ # rubocop:disable Metrics/MethodLength
147
+ def tickets_to_arrays(my_tickets)
148
+ @to_do = []
149
+ @review = []
150
+ @merged = []
151
+ @in_progress = []
152
+ @done = []
153
+
154
+ my_tickets.each do |ticket|
155
+ case ticket["status"]
156
+ when "todo"
157
+ @to_do.push(ticket["name"])
158
+ when "review"
159
+ @review.push(ticket["name"])
160
+ when "merged"
161
+ @merged.push(ticket["name"])
162
+ when "in_progress"
163
+ @in_progress.push(ticket["name"])
164
+ when "done"
165
+ @done.push(ticket["name"])
166
+ end
167
+ end
168
+ end
169
+ # rubocop:enable Metrics/MethodLength
170
+
171
+ def parse_tickets(all_tickets)
172
+ my_tickets = []
173
+ all_tickets.each { |ticket| my_tickets << ticket if ticket["project_id"] == CONFIG["current_project_id"] }
174
+ tickets_to_arrays(my_tickets)
175
+ end
176
+
177
+ def print_all_arrays
178
+ print_arr_to_do(@to_do)
179
+ print_arr_review(@review)
180
+ print_arr_merged(@merged)
181
+ print_arr_in_progress(@in_progress)
182
+ print_arr_done(@done)
183
+ end
184
+
185
+ def print_tickets_list(all_tickets)
186
+ parse_tickets(all_tickets)
187
+ print_all_arrays
188
+ table = Terminal::Table.new do |tbl|
189
+ tbl.title = CONFIG["current_project"]
190
+ tbl.headings = %w[todo review merged in_progress done]
191
+ tbl.rows = [[@s_to_do, @s_review, @s_merged, @s_in_progress, @s_done]]
192
+ end
193
+ say table
194
+ end
110
195
  end
111
196
 
112
197
  class CLI < Thor
@@ -1,5 +1,5 @@
1
1
  module Agile
2
- VERSION = "0.0.16".freeze
2
+ VERSION = "0.0.17".freeze
3
3
  GITHUB_URL = %(https://github.com/login).freeze
4
4
  TERMINAL_STYLE = { border_x: "=", border_i: "x", padding_left: 3 }.freeze
5
5
  CLIENT_ID = "8bf42da7e4f9032ac5d8".freeze
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agile-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - rubizza-camp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-31 00:00:00.000000000 Z
11
+ date: 2019-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline