trellor 2.0.1 → 2.0.2
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/lib/cli.rb +16 -15
- data/lib/trellor.rb +8 -3
- data/lib/trellor/version.rb +1 -1
- data/lib/web_trellor.rb +21 -6
- data/lib/webapi.rb +29 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a75332839fc3f9a73606e8bc3edbe10a0df2e72
|
4
|
+
data.tar.gz: 99ea0ab3625ef2894cbdb20ec27368072de0b4ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e49e48215f237b10f0e6c9a2f2410d72dabccd96b656139c864694365009a4337b825818090c736243738b2a6def32c12f81d0959abd00bccdf2977facce1dce
|
7
|
+
data.tar.gz: 5344faf45db12a13166d019b51b2ec72f29fbd0e3fc82325d18991a0724a59f6d0f2bf7e71bdf5e9bf1e52d0ab39df730b94c4128b85fb52a4d37817c526851e
|
data/lib/cli.rb
CHANGED
@@ -7,6 +7,7 @@ module Trellor
|
|
7
7
|
@opts = Trollop::options do
|
8
8
|
banner "Usage: trellor [boardname [listname [cardname [description]]]]"
|
9
9
|
version "trellor #{VERSION}"
|
10
|
+
opt :archive, 'Archive a card', short: '-a'
|
10
11
|
opt :cache, 'Cache (or re-cache)', short: '-c'
|
11
12
|
opt :verbose, 'Run verbosely', short: '-v'
|
12
13
|
opt :webapi, 'Run webapi', short: '-w'
|
@@ -89,22 +90,18 @@ module Trellor
|
|
89
90
|
if board_name.nil?
|
90
91
|
puts "Boards:", '-'*50
|
91
92
|
trellor.board_names.each{ |name| puts name }
|
92
|
-
|
93
|
+
elsif list_name.nil?
|
94
|
+
puts "Lists for Board: #{board_name}", '-'*50
|
95
|
+
trellor.list_names(board_name).each{ |name| puts name }
|
96
|
+
elsif card_name.nil?
|
97
|
+
puts "Cards for List: #{board_name}.#{list_name}", '-'*50
|
98
|
+
trellor.card_names(board_name, list_name).each{ |name| puts name }
|
99
|
+
elsif archive?
|
100
|
+
trellor.archive_card(board_name, list_name, card_name)
|
101
|
+
trellor.card_names(board_name, list_name).each{ |name| puts name }
|
93
102
|
else
|
94
|
-
|
95
|
-
|
96
|
-
puts "Board: #{board_name}", '-'*50
|
97
|
-
trellor.list_names(board_name).each{ |name| puts name }
|
98
|
-
# board.lists.each{ |list| puts list.name }
|
99
|
-
elsif card_name.nil?
|
100
|
-
# list = trellor.list(board_name, list_name)
|
101
|
-
puts "List: #{board_name}.#{list_name}", '-'*50
|
102
|
-
trellor.card_names(board_name, list_name).each{ |name| puts name }
|
103
|
-
# list.cards.each{ |card| puts card.name }
|
104
|
-
else
|
105
|
-
card_names = trellor.create_card(board_name, list_name, card_name, descript)
|
106
|
-
card_names.each{ |name| puts name }
|
107
|
-
end
|
103
|
+
trellor.create_card(board_name, list_name, card_name, descript)
|
104
|
+
trellor.card_names(board_name, list_name).each{ |name| puts name }
|
108
105
|
end
|
109
106
|
end
|
110
107
|
|
@@ -116,6 +113,10 @@ module Trellor
|
|
116
113
|
@opts[:webapi]
|
117
114
|
end
|
118
115
|
|
116
|
+
def self.archive?
|
117
|
+
@opts[:archive]
|
118
|
+
end
|
119
|
+
|
119
120
|
def self.cache?
|
120
121
|
@opts[:cache]
|
121
122
|
end
|
data/lib/trellor.rb
CHANGED
@@ -52,7 +52,11 @@ module Trellor
|
|
52
52
|
card.name = name
|
53
53
|
card.desc = descript if descript
|
54
54
|
card.save
|
55
|
-
card_names(board_name, list_name)
|
55
|
+
# card_names(board_name, list_name)
|
56
|
+
end
|
57
|
+
def archive_card(board_name, list_name, name)
|
58
|
+
card = find_card(board_name, list_name, name)
|
59
|
+
card.close!
|
56
60
|
end
|
57
61
|
|
58
62
|
|
@@ -88,9 +92,10 @@ module Trellor
|
|
88
92
|
list(board_name, list_name).cards
|
89
93
|
end
|
90
94
|
|
91
|
-
def
|
95
|
+
def find_card(board_name, list_name, card_name)
|
96
|
+
card_name = card_name.downcase
|
92
97
|
list(board_name, list_name).cards.detect do |card|
|
93
|
-
card.name
|
98
|
+
card.name.downcase.start_with?(card_name)
|
94
99
|
end
|
95
100
|
end
|
96
101
|
end
|
data/lib/trellor/version.rb
CHANGED
data/lib/web_trellor.rb
CHANGED
@@ -10,24 +10,36 @@ module Trellor
|
|
10
10
|
attr_accessor :be_verbose
|
11
11
|
|
12
12
|
def ensure_webapp_is_running
|
13
|
-
|
13
|
+
v = get_version
|
14
|
+
$stderr.puts "Warning: this version is #{VERSION} but the webapp version is #{v}. You may want to kill the older webapp." unless VERSION == v
|
15
|
+
fail unless v
|
14
16
|
rescue
|
15
17
|
puts "The background webapp wasn't running. Will run it now."
|
18
|
+
run_webapp
|
19
|
+
end
|
20
|
+
|
21
|
+
def run_webapp
|
16
22
|
path = Pathname.new(__FILE__).parent.parent
|
17
23
|
cmd = "cd '#{path}' && ruby lib/webapi.rb &> /dev/null"
|
18
24
|
job = fork do
|
19
25
|
exec cmd
|
20
26
|
end
|
27
|
+
# give webapp time to run before returning
|
28
|
+
(1..15).each do |n|
|
29
|
+
sleep 0.1
|
30
|
+
return if get_version
|
31
|
+
end
|
21
32
|
Process.detach(job)
|
22
|
-
sleep 1.0 # give webapp time to run before returning
|
23
33
|
end
|
24
34
|
|
25
35
|
def get_version
|
26
|
-
response = get_http('/version')
|
36
|
+
response = get_http('/version', nil, false)
|
27
37
|
response.body
|
38
|
+
rescue
|
39
|
+
nil
|
28
40
|
end
|
29
41
|
|
30
|
-
def get_http(url, timeout=nil)
|
42
|
+
def get_http(url, timeout=nil, show_error=true)
|
31
43
|
uri = URI("#{site}#{url}")
|
32
44
|
http = Net::HTTP.new uri.host, uri.port
|
33
45
|
http.open_timeout = default_open_timeout
|
@@ -36,7 +48,7 @@ module Trellor
|
|
36
48
|
# request.basic_auth 'trellor', password if password
|
37
49
|
http.request(request)
|
38
50
|
rescue Exception => e
|
39
|
-
$stderr.puts "ERROR in get_http(#{url})"
|
51
|
+
$stderr.puts "ERROR in get_http(#{url})" if show_error
|
40
52
|
raise e
|
41
53
|
end
|
42
54
|
|
@@ -98,9 +110,12 @@ module Trellor
|
|
98
110
|
end
|
99
111
|
|
100
112
|
def create_card(board_name, list_name, name, descript=nil)
|
101
|
-
JSON.parse(post_http("/boards/#{board_name}/lists/#{list_name}/cards", {card_name: name}).body)
|
113
|
+
JSON.parse(post_http("/boards/#{board_name}/lists/#{list_name}/cards", {card_name: name, descript: descript}).body)
|
102
114
|
end
|
103
115
|
|
116
|
+
def archive_card(board_name, list_name, name)
|
117
|
+
JSON.parse(post_http("/boards/#{board_name}/lists/#{list_name}/cards", {card_name: name, archive: true}).body)
|
118
|
+
end
|
104
119
|
|
105
120
|
|
106
121
|
|
data/lib/webapi.rb
CHANGED
@@ -3,14 +3,35 @@ require 'json'
|
|
3
3
|
require_relative 'trellor/version'
|
4
4
|
require_relative 'trellor'
|
5
5
|
|
6
|
+
|
6
7
|
module Trellor
|
7
8
|
class TrellorWebapi < Sinatra::Base
|
8
|
-
|
9
|
-
|
9
|
+
# enable error handler even in development mode
|
10
|
+
set :show_exceptions, :after_handler
|
11
|
+
|
12
|
+
not_found do
|
13
|
+
'no such path'
|
14
|
+
end
|
15
|
+
|
16
|
+
error do
|
17
|
+
'had an error'
|
10
18
|
end
|
19
|
+
|
11
20
|
end
|
12
21
|
end
|
13
22
|
|
23
|
+
|
24
|
+
set :show_exceptions, false
|
25
|
+
|
26
|
+
not_found do
|
27
|
+
'no such path'
|
28
|
+
end
|
29
|
+
|
30
|
+
error do
|
31
|
+
'had an error'
|
32
|
+
end
|
33
|
+
|
34
|
+
|
14
35
|
def trellor
|
15
36
|
Trellor::Trellor.singleton
|
16
37
|
end
|
@@ -40,13 +61,14 @@ get '/bbboards/:board_name/lists/:list_name/cards/:card_name' do
|
|
40
61
|
end
|
41
62
|
|
42
63
|
post '/boards/:board_name/lists/:list_name/cards' do |board_name, list_name|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
64
|
+
if params['archive']
|
65
|
+
trellor.archive_card(board_name, list_name, params['card_name'])
|
66
|
+
else
|
67
|
+
trellor.create_card(board_name, list_name, params['card_name'], params['descript'])
|
68
|
+
end
|
48
69
|
|
49
70
|
cards = trellor.list(board_name,list_name).cards.collect{ |c| c.name }
|
50
71
|
cards.to_json
|
72
|
+
params.to_json
|
51
73
|
end
|
52
74
|
|