trello-client 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.
@@ -1,5 +1,11 @@
1
1
  = Trello::Client History
2
2
 
3
+ == YYYY-MM-DD v0.0.5
4
+
5
+ * Added +trello2todo.rb+
6
+ * Trello::Client bug fixes
7
+ * Add +to_s()+ method to +Board+, +Card+, +List+ and +Member+ to dump JSON objects
8
+
3
9
  == 2012-04-02 v0.0.4
4
10
 
5
11
  * Added Trello::Client#list()
@@ -89,8 +89,10 @@ https://github.com/blairc/trello-client/
89
89
 
90
90
  == To Do
91
91
 
92
- * Memoize API calls
93
- * Add script
94
92
  * DRY +Card+, +Board+, +List+ and +Member+
93
+ * DRY +board()+, +list()+ and +member()+
94
+ * Make +trello2todo+ configurable
95
+ * Actual API test that can be run on demand
96
+ * Memoize API calls
95
97
  * Lazy fetching of data that wasn't requested?
96
98
 
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #
4
+ # TODO Extract to Trello::Client::???
5
+ # TODO More configurable
6
+ #
7
+
8
+ require 'trello-client'
9
+
10
+ USAGE = "USAGE: #{ File.basename(__FILE__) } [-h] <board name>"
11
+
12
+ name = ARGV.shift
13
+ unless name
14
+ warn USAGE
15
+ exit(1)
16
+ end
17
+ if %w( -h -help --help help ).include?(name)
18
+ puts USAGE
19
+ exit
20
+ end
21
+
22
+
23
+ Trello::Client.new do |client|
24
+ client.api_key = ENV['TRELLO_API_KEY']
25
+ client.api_token = ENV['TRELLO_API_TOKEN']
26
+
27
+ client.member( 'me', :boards => 'all' ) do |member|
28
+ board = member.boards.find { |b| name == b['name'] }
29
+ unless board
30
+ warn "ERROR: board '#{name}' not found"
31
+ exit(1)
32
+ end
33
+ client.board( board['id'], :lists => 'all' ).lists.each do |list|
34
+ puts "#{ list['name'] }\n#{ '~' * list['name'].length }"
35
+ client.list( list['id'], :cards => 'open' ).cards.each do |card|
36
+ puts "- #{ card['name'] }"
37
+ end
38
+ 1.upto(2) { puts }
39
+ end
40
+ end
41
+
42
+ end
43
+
@@ -102,9 +102,12 @@ require 'trello-client/version'
102
102
  #
103
103
  # == To Do
104
104
  #
105
- # * Memoize API calls
106
- # * Add script
105
+ # * Add +card()+
107
106
  # * DRY +Card+, +Board+, +List+ and +Member+
107
+ # * DRY +board()+, +list()+ and +member()+
108
+ # * Make +trello2todo+ configurable
109
+ # * Actual API test that can be run on demand
110
+ # * Memoize API calls
108
111
  # * Lazy fetching of data that wasn't requested?
109
112
  #
110
113
  module Trello # :nodoc:
@@ -151,7 +154,9 @@ module Trello # :nodoc:
151
154
  #
152
155
  def board(id, options = {} )
153
156
  raise('invalid id') if id.nil? || id.empty?
154
- Trello::Client::Board.new( _get( "#{api}/board/#{id}", options ) )
157
+ b = Trello::Client::Board.new( _get( "#{api}/board/#{id}", options ) )
158
+ yield b if block_given?
159
+ b
155
160
  end
156
161
 
157
162
  #
@@ -165,7 +170,9 @@ module Trello # :nodoc:
165
170
  #
166
171
  def list(id, options = {} )
167
172
  raise('invalid id') if id.nil? || id.empty?
168
- Trello::Client::Member.new( _get( "#{api}/list/#{id}", options ) )
173
+ l = Trello::Client::List.new( _get( "#{api}/list/#{id}", options ) )
174
+ yield l if block_given?
175
+ l
169
176
  end
170
177
 
171
178
 
@@ -180,7 +187,9 @@ module Trello # :nodoc:
180
187
  #
181
188
  def member(id, options = {} )
182
189
  raise('invalid id') if id.nil? || id.empty?
183
- Trello::Client::Member.new( _get( "#{api}/members/#{id}", options ) )
190
+ m = Trello::Client::Member.new( _get( "#{api}/members/#{id}", options ) )
191
+ yield m if block_given?
192
+ m
184
193
  end
185
194
 
186
195
 
@@ -39,6 +39,13 @@ module Trello # :nodoc:
39
39
  @lists
40
40
  end
41
41
 
42
+ #
43
+ # String representation.
44
+ #
45
+ def to_s
46
+ @board.to_s
47
+ end
48
+
42
49
  end # class Board
43
50
 
44
51
  end # class Client
@@ -29,6 +29,13 @@ module Trello # :nodoc:
29
29
  @card[key]
30
30
  end
31
31
 
32
+ #
33
+ # String representation.
34
+ #
35
+ def to_s
36
+ @card.to_s
37
+ end
38
+
32
39
  end # class Card
33
40
 
34
41
  end # class Client
@@ -39,6 +39,13 @@ module Trello # :nodoc:
39
39
  @cards
40
40
  end
41
41
 
42
+ #
43
+ # String representation.
44
+ #
45
+ def to_s
46
+ @list.to_s
47
+ end
48
+
42
49
  end # class List
43
50
 
44
51
  end # class Client
@@ -39,6 +39,13 @@ module Trello # :nodoc:
39
39
  @boards
40
40
  end
41
41
 
42
+ #
43
+ # String representation.
44
+ #
45
+ def to_s
46
+ @member.to_s
47
+ end
48
+
42
49
  end # class Member
43
50
 
44
51
  end # class Client
@@ -5,6 +5,6 @@ module Trello
5
5
  #
6
6
  # Trello::Client version
7
7
  #
8
- VERSION = '0.0.4'
8
+ VERSION = '0.0.5'
9
9
  end
10
10
  end
@@ -15,6 +15,14 @@ class TestBoard < Test::Unit::TestCase
15
15
  @test_data = File.join( @test_dir, 'data' )
16
16
  end
17
17
 
18
+ def test_to_s
19
+ Trello::Client.new do |client|
20
+ json = open( File.join( @test_data, 'board.json' ) ).read
21
+ board = Trello::Client::Board.new(json)
22
+ assert_equal MultiJson.decode(json).to_s, board.to_s
23
+ end
24
+ end
25
+
18
26
  def test_lists
19
27
  Trello::Client.new do |client|
20
28
  json = open( File.join( @test_data, 'board_with_lists.json' ) ).read
@@ -15,6 +15,14 @@ class TestList < Test::Unit::TestCase
15
15
  @test_data = File.join( @test_dir, 'data' )
16
16
  end
17
17
 
18
+ def test_to_s
19
+ Trello::Client.new do |client|
20
+ json = open( File.join( @test_data, 'list.json' ) ).read
21
+ list = Trello::Client::List.new(json)
22
+ assert_equal MultiJson.decode(json).to_s, list.to_s
23
+ end
24
+ end
25
+
18
26
  def test_cards
19
27
  Trello::Client.new do |client|
20
28
  json = open( File.join( @test_data, 'list_with_cards.json' ) ).read
@@ -15,6 +15,14 @@ class TestMember < Test::Unit::TestCase
15
15
  @test_data = File.join( @test_dir, 'data' )
16
16
  end
17
17
 
18
+ def test_to_s
19
+ Trello::Client.new do |client|
20
+ json = open( File.join( @test_data, 'member.json' ) ).read
21
+ member = Trello::Client::Member.new(json)
22
+ assert_equal MultiJson.decode(json).to_s, member.to_s
23
+ end
24
+ end
25
+
18
26
  def test_boards
19
27
  Trello::Client.new do |client|
20
28
  json = open( File.join( @test_data, 'member_with_boards.json' ) ).read
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trello-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-02 00:00:00.000000000 Z
12
+ date: 2012-04-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
- requirement: &70339636455920 !ruby/object:Gem::Requirement
16
+ requirement: &70111793381340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70339636455920
24
+ version_requirements: *70111793381340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fakeweb
27
- requirement: &70339636455100 !ruby/object:Gem::Requirement
27
+ requirement: &70111793379980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70339636455100
35
+ version_requirements: *70111793379980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mocha
38
- requirement: &70339636474840 !ruby/object:Gem::Requirement
38
+ requirement: &70111793379100 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70339636474840
46
+ version_requirements: *70111793379100
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70339636473960 !ruby/object:Gem::Requirement
49
+ requirement: &70111793378480 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70339636473960
57
+ version_requirements: *70111793378480
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &70339636473020 !ruby/object:Gem::Requirement
60
+ requirement: &70111793377900 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70339636473020
68
+ version_requirements: *70111793377900
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rdoc-readme
71
- requirement: &70339636472320 !ruby/object:Gem::Requirement
71
+ requirement: &70111793377080 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.1.2
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70339636472320
79
+ version_requirements: *70111793377080
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: simplecov
82
- requirement: &70339636471580 !ruby/object:Gem::Requirement
82
+ requirement: &70111793376300 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,20 +87,22 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70339636471580
90
+ version_requirements: *70111793376300
91
91
  description: Trello API client
92
92
  email:
93
93
  - blair.christensen@gmail.com
94
- executables: []
94
+ executables:
95
+ - trello2todo.rb
95
96
  extensions: []
96
97
  extra_rdoc_files: []
97
98
  files:
98
99
  - .gitignore
99
100
  - Gemfile
100
- - History.rdoc
101
+ - HISTORY.rdoc
101
102
  - LICENSE
102
103
  - README.rdoc
103
104
  - Rakefile
105
+ - bin/trello2todo.rb
104
106
  - lib/trello-client.rb
105
107
  - lib/trello-client/board.rb
106
108
  - lib/trello-client/card.rb
@@ -132,7 +134,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
132
134
  version: '0'
133
135
  segments:
134
136
  - 0
135
- hash: -2574410681571816951
137
+ hash: 4017662574721932785
136
138
  required_rubygems_version: !ruby/object:Gem::Requirement
137
139
  none: false
138
140
  requirements:
@@ -141,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
143
  version: '0'
142
144
  segments:
143
145
  - 0
144
- hash: -2574410681571816951
146
+ hash: 4017662574721932785
145
147
  requirements: []
146
148
  rubyforge_project:
147
149
  rubygems_version: 1.8.11