trellor 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|