flight_plan_cli 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/flight_plan_cli/initializer.rb +26 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5696bb0476e7d416d142c6cff8f8c4e39f8e94c4
|
4
|
+
data.tar.gz: 3df650be42aed3984fad90f79d89b2f0c3e95709
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3da350d54bcb04f165e421965c3ae619b12ce92a3dd7b0688bf1024a1ce07857402391785382b169eabf574bbb9530fcc07dc5714178bef5ff2b298712ec8162
|
7
|
+
data.tar.gz: d03c055bfd2db101b089fd5e7490f452507dad2fd6ef799bc83fcd5998990c8a67cb6653f71fe4d9453035a2d049e64018069009c1679d6ce8c204118558e442
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
@@ -2,11 +2,14 @@ require 'thor'
|
|
2
2
|
require 'colorize'
|
3
3
|
|
4
4
|
module FlightPlanCli
|
5
|
+
class ApiUnauthorized < StandardError; end
|
6
|
+
class ApiNotFound < StandardError; end
|
7
|
+
|
5
8
|
class Initializer < Thor
|
6
9
|
YAML_FILE = '.flight_plan_cli.yml'.freeze
|
7
10
|
|
8
11
|
def initialize(*args)
|
9
|
-
|
12
|
+
read_config
|
10
13
|
super
|
11
14
|
end
|
12
15
|
|
@@ -18,24 +21,21 @@ module FlightPlanCli
|
|
18
21
|
|
19
22
|
print_swimlane(swimlanes[swimlane_id])
|
20
23
|
end
|
24
|
+
rescue ApiUnauthorized
|
25
|
+
puts 'Unauthorize. Please ensure your key and secret as setup correctly'.red
|
21
26
|
rescue Errno::ECONNREFUSED, SocketError => e
|
22
27
|
# TODO: caching - low timeout (5s) then fallback to cache
|
23
|
-
puts "Network error
|
28
|
+
puts "Network error. #{e.message}".red
|
24
29
|
end
|
25
30
|
|
26
31
|
private
|
27
32
|
|
28
|
-
attr_reader :board_id, :default_swimlane_ids
|
33
|
+
attr_reader :board_id, :repo_id, :default_swimlane_ids
|
29
34
|
attr_reader :api_url, :api_key, :api_secret
|
30
35
|
|
31
|
-
def
|
32
|
-
unless File.exist?(YAML_FILE)
|
33
|
-
puts "Could not file #{YAML_FILE} file."
|
34
|
-
exit 1
|
35
|
-
end
|
36
|
-
config = YAML.load_file(YAML_FILE)
|
37
|
-
|
36
|
+
def read_config
|
38
37
|
@board_id = config['board_id']
|
38
|
+
@repo_id = config['repo_id']
|
39
39
|
@default_swimlane_ids = config['ls']['default_swimlane_ids']
|
40
40
|
|
41
41
|
@api_url = config['api_url']
|
@@ -46,14 +46,15 @@ module FlightPlanCli
|
|
46
46
|
def print_swimlane(swimlane)
|
47
47
|
puts "#{swimlane['name']} (#{swimlane['tickets'].count})".green
|
48
48
|
swimlane['tickets'].each do |ticket|
|
49
|
-
puts "├── #{ticket['remote_number']} : #{ticket['remote_title']}".yellow
|
49
|
+
puts "├── #{ticket['remote_number'].rjust(4)} : #{ticket['remote_title']}".yellow
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
53
|
def tickets_by_swimlane
|
54
|
-
response = client.board_tickets(board_id: board_id)
|
54
|
+
response = client.board_tickets(board_id: board_id, repo_id: repo_id)
|
55
|
+
raise ApiUnauthorized if response.code == 401
|
56
|
+
raise ApiNotFound if response.code == 404
|
55
57
|
|
56
|
-
board = response['board_tickets'].first['board']
|
57
58
|
swimlanes = {}
|
58
59
|
response['board_tickets'].each do |board_ticket|
|
59
60
|
swimlane = board_ticket['swimlane']
|
@@ -63,7 +64,18 @@ module FlightPlanCli
|
|
63
64
|
swimlanes[swimlane['id']]['tickets'] ||= []
|
64
65
|
swimlanes[swimlane['id']]['tickets'] << board_ticket['ticket']
|
65
66
|
end
|
66
|
-
|
67
|
+
swimlanes
|
68
|
+
end
|
69
|
+
|
70
|
+
def config
|
71
|
+
@config ||=
|
72
|
+
begin
|
73
|
+
unless File.exist?(YAML_FILE)
|
74
|
+
puts "Could not file #{YAML_FILE} file."
|
75
|
+
exit 1
|
76
|
+
end
|
77
|
+
YAML.load_file(YAML_FILE)
|
78
|
+
end
|
67
79
|
end
|
68
80
|
|
69
81
|
def client
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flight_plan_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Cleary
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|