flight_plan_cli 0.0.4 → 0.0.5
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 +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
|