agile-cli 0.0.16 → 0.0.17

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