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 +4 -4
- data/lib/agile/commands/projects.rb +0 -1
- data/lib/agile/commands/tickets.rb +98 -13
- data/lib/agile/constants.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 521321c656b38095a889ee5653abc64e365011c5f648b2afbb4922db0669c017
|
4
|
+
data.tar.gz: df1d70f25bdf24bda53580f2f38bedfd68ee548794ce693a6f1d0412e78b8a7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ff3af9c47007a471c744ef3507e2970696992d238b915eb653bedc69f6713abc76cd43325aab494b10ccd1be97448e406a6b6eecfad2641aed224ac138afefd
|
7
|
+
data.tar.gz: a0728122e058f9a4d19bab9921387afc4b7dddb40422483327188df96994dd0c46e0998a68f21d14a09de70de465d183a3b18597106a7639d654b7b2a9a73a3c
|
@@ -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
|
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 -
|
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
|
data/lib/agile/constants.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2019-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|