trello-client 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,10 @@
1
1
  = Trello::Client History
2
2
 
3
+ == 2012-03-30 v0.0.3
4
+
5
+ * Added Trello::Client#board()
6
+ * Added Trello::Client::List
7
+
3
8
  == 2012-03-29 v0.0.2
4
9
 
5
10
  * Added Trello::Client::Board
@@ -34,8 +34,26 @@ Get user token:
34
34
  # Returns Trello::Client::Board objects
35
35
  b['id'] # => board identifier
36
36
  b['name'] # => board name
37
- b['url'] # => board url
38
37
  end
38
+
39
+ # Get board
40
+ client.board( '<identifier>' ) do |b|
41
+ # Returns Trello::Client::Board object
42
+ b['id'] # => board identifier
43
+ b['name'] # => board name
44
+ b['url'] # => board url
45
+ end
46
+
47
+ # Get board with lists
48
+ client.board( '<identifier>', :lists => 'all' ) do |b|
49
+ # Returns Trello::Client::Board object
50
+ b.lists.each do |l|
51
+ # Returns Trello::Client::List object
52
+ l['id'] # => list identifier
53
+ l['idBoard'] # => list board identifier
54
+ l['name'] # => list name
55
+ end
56
+ end
39
57
  end
40
58
 
41
59
  == Author
@@ -52,11 +70,10 @@ https://github.com/blairc/trello-client/
52
70
 
53
71
  == To Do
54
72
 
55
- * Get lists
73
+ * Trello::Client#list()
56
74
  * Get cards
57
75
  * Memoize API calls
58
76
  * Add script
59
- * DRY +Board+ and +Member+
60
- * +Board+ initialization should take JSON or +Hash+
61
- * Member#boards() should fetch boards if not present?
77
+ * DRY +Board+, +List+ and +Member+
78
+ * Lazy fetching of data that wasn't requested?
62
79
 
data/Rakefile CHANGED
@@ -27,21 +27,21 @@ end
27
27
  desc 'Update test data files'
28
28
  task :update_test_data do
29
29
  $LOAD_PATH << 'lib'
30
- require 'open-uri'
31
30
  require 'trello-client'
32
31
 
33
32
  Trello::Client.new do |client|
34
33
  client.api_key = ENV['TRELLO_API_KEY']
35
34
  client.api_token = ENV['TRELLO_API_TOKEN']
36
-
35
+
37
36
  {
37
+ 'board' => [ :board, '4f4f9d55cf2e679318098c5b' ],
38
+ 'board_with_lists' => [ :board, '4f4f9d55cf2e679318098c5b', :lists => 'all' ],
38
39
  'member' => [ :member, 'me' ],
39
40
  'member_with_boards' => [ :member, 'me', :boards => 'all' ]
40
41
  }.each_pair do |file, request|
41
42
  fn = File.join( File.dirname(__FILE__), 'test', 'data', "#{file}.json" )
42
- meth = request.shift
43
- args = request
44
- File.open(fn, 'w') { |fh| fh.puts( client.send meth, *args ) }
43
+ uri = "#{ client.api }/#{ request.shift }/#{ request.shift }"
44
+ File.open(fn, 'w') { |fh| fh.puts client.send( :_get, uri, *request ) }
45
45
  end
46
46
  end
47
47
 
@@ -5,6 +5,7 @@ require 'open-uri'
5
5
  require 'uri'
6
6
 
7
7
  require 'trello-client/board'
8
+ require 'trello-client/list'
8
9
  require 'trello-client/member'
9
10
  require 'trello-client/version'
10
11
 
@@ -45,8 +46,26 @@ require 'trello-client/version'
45
46
  # # Returns Trello::Client::Board objects
46
47
  # b['id'] # => board identifier
47
48
  # b['name'] # => board name
48
- # b['url'] # => board url
49
49
  # end
50
+ #
51
+ # # Get board
52
+ # client.board( '<identifier>' ) do |b|
53
+ # # Returns Trello::Client::Board object
54
+ # b['id'] # => board identifier
55
+ # b['name'] # => board name
56
+ # b['url'] # => board url
57
+ # end
58
+ #
59
+ # # Get board with lists
60
+ # client.board( '<identifier>', :lists => 'all' ) do |b|
61
+ # # Returns Trello::Client::Board object
62
+ # b.lists.each do |l|
63
+ # # Returns Trello::Client::List object
64
+ # l['id'] # => list identifier
65
+ # l['idBoard'] # => list board identifier
66
+ # l['name'] # => list name
67
+ # end
68
+ # end
50
69
  # end
51
70
  #
52
71
  # == Author
@@ -63,13 +82,12 @@ require 'trello-client/version'
63
82
  #
64
83
  # == To Do
65
84
  #
66
- # * Get lists
85
+ # * Trello::Client#list()
67
86
  # * Get cards
68
87
  # * Memoize API calls
69
88
  # * Add script
70
- # * DRY +Board+ and +Member+
71
- # * +Board+ initialization should take JSON or +Hash+
72
- # * Member#boards() should fetch boards if not present?
89
+ # * DRY +Board+, +List+ and +Member+
90
+ # * Lazy fetching of data that wasn't requested?
73
91
  #
74
92
  module Trello # :nodoc:
75
93
 
@@ -104,6 +122,20 @@ module Trello # :nodoc:
104
122
  self
105
123
  end
106
124
 
125
+ #
126
+ # Get Trello::Client::Board object
127
+ #
128
+ # See https://trello.com/docs/api/board/index.html
129
+ #
130
+ # Params:
131
+ # +id+:: Board identifier
132
+ # +options+:: (optional) Additional API parameters
133
+ #
134
+ def board(id, options = {} )
135
+ raise('invalid id') if id.nil? || id.empty?
136
+ Trello::Client::Board.new( _get( "#{api}/board/#{id}", options ) )
137
+ end
138
+
107
139
  #
108
140
  # Get Trello::Client::Member object
109
141
  #
@@ -115,7 +147,7 @@ module Trello # :nodoc:
115
147
  #
116
148
  def member(id, options = {} )
117
149
  raise('invalid id') if id.nil? || id.empty?
118
- _get "#{api}/members/#{id}", options
150
+ Trello::Client::Member.new( _get( "#{api}/members/#{id}", options ) )
119
151
  end
120
152
 
121
153
 
@@ -14,10 +14,10 @@ module Trello # :nodoc:
14
14
  # Initialize Trello::Client::Board
15
15
  #
16
16
  # Params:
17
- # +board+:: Hash'ified JSON board
17
+ # +board+:: Hash'ified JSON board or JSON string
18
18
  #
19
19
  def initialize(board)
20
- @board = board
20
+ @board = board.kind_of?(Hash) ? board : MultiJson.decode(board)
21
21
  yield self if block_given?
22
22
  self
23
23
  end
@@ -29,6 +29,16 @@ module Trello # :nodoc:
29
29
  @board[key]
30
30
  end
31
31
 
32
+ #
33
+ # Get +Array+ of Trello::Client::List objects
34
+ #
35
+ def lists
36
+ unless @lists
37
+ @lists = ( @board['lists'] || [] ).collect { |l| Trello::Client::List.new(l) }
38
+ end
39
+ @lists
40
+ end
41
+
32
42
  end # class Board
33
43
 
34
44
  end # class Client
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ module Trello # :nodoc:
4
+ class Client # :nodoc:
5
+
6
+ #
7
+ # Trello::Client::List object
8
+ #
9
+ # See https://trello.com/docs/api/list/index.html
10
+ #
11
+ class List
12
+
13
+ #
14
+ # Initialize Trello::Client::List
15
+ #
16
+ # Params:
17
+ # +list+:: Hash'ified JSON list or JSON string
18
+ #
19
+ def initialize(list)
20
+ @list = list.kind_of?(Hash) ? list : MultiJson.decode(list)
21
+ yield self if block_given?
22
+ self
23
+ end
24
+
25
+ #
26
+ # Get Trello::Client::List property
27
+ #
28
+ def[](key)
29
+ @list[key]
30
+ end
31
+
32
+ #
33
+ # TODO Get +Array+ of cards
34
+ #
35
+ def cards
36
+ #unless @lists
37
+ # @lists = ( @list['lists'] || [] ).collect { |l| Trello::Client::List.new(l) }
38
+ #end
39
+ #@lists
40
+ @list['cards'] || []
41
+ end
42
+
43
+ end # class List
44
+
45
+ end # class Client
46
+ end # module Trello
47
+
@@ -30,7 +30,7 @@ module Trello # :nodoc:
30
30
  end
31
31
 
32
32
  #
33
- # Get +Array+ of boards
33
+ # Get +Array+ of Trello::Client::Board objects
34
34
  #
35
35
  def boards
36
36
  unless @boards
@@ -5,6 +5,6 @@ module Trello
5
5
  #
6
6
  # Trello::Client version
7
7
  #
8
- VERSION = '0.0.2'
8
+ VERSION = '0.0.3'
9
9
  end
10
10
  end
@@ -0,0 +1 @@
1
+ {"id":"4f4f9d55cf2e679318098c5b","name":"Welcome Board","desc":"","closed":false,"pinned":true,"url":"https://trello.com/board/welcome-board/4f4f9d55cf2e679318098c5b","prefs":{"selfJoin":false,"invitations":"members","comments":"members","voting":"members","permissionLevel":"private"}}
@@ -0,0 +1 @@
1
+ {"id":"4f4f9d55cf2e679318098c5b","name":"Welcome Board","desc":"","closed":false,"pinned":true,"url":"https://trello.com/board/welcome-board/4f4f9d55cf2e679318098c5b","prefs":{"selfJoin":false,"invitations":"members","comments":"members","voting":"members","permissionLevel":"private"},"lists":[{"id":"4f4f9d55cf2e679318098c53","name":"Basics","closed":false,"idBoard":"4f4f9d55cf2e679318098c5b","pos":16384},{"id":"4f4f9d55cf2e679318098c54","name":"Intermediate","closed":false,"idBoard":"4f4f9d55cf2e679318098c5b","pos":32768},{"id":"4f4f9d55cf2e679318098c55","name":"Advanced","closed":false,"idBoard":"4f4f9d55cf2e679318098c5b","pos":49152}]}
@@ -1 +1 @@
1
- {"id":"4f4f9d55cf2e679318098c45","fullName":"blair christensen","initials":"BC","username":"blairchristensen","avatarHash":"65fcb89a59ff96b68b11332686c8f4f9","bio":"","url":"https://trello.com/blairchristensen"}
1
+ {"id":"4f4f9d55cf2e679318098c45","avatarHash":"65fcb89a59ff96b68b11332686c8f4f9","avatarSource":"gravatar","bio":"","fullName":"blair christensen","gravatarHash":"8a591569129ed7bdea3890d118b808c7","idBoards":["4f4f9d55cf2e679318098c5b","4f4d0477e4ba0e4f09af1c6c","4f6c9a79c3974b4d730a5533"],"idBoardsInvited":[],"idBoardsPinned":["4f4f9d55cf2e679318098c5b","4f4d0477e4ba0e4f09af1c6c","4f6c9a79c3974b4d730a5533","4d5ea62fd76aa1136000000c"],"idOrganizations":[],"idOrganizationsInvited":[],"initials":"BC","prefs":{"minutesBetweenSummaries":60,"sendSummaries":true},"status":"idle","url":"https://trello.com/blairchristensen","username":"blairchristensen"}
@@ -1 +1 @@
1
- {"id":"4f4f9d55cf2e679318098c45","fullName":"blair christensen","initials":"BC","username":"blairchristensen","avatarHash":"65fcb89a59ff96b68b11332686c8f4f9","bio":"","url":"https://trello.com/blairchristensen","boards":[{"id":"4f4d0477e4ba0e4f09af1c6c","name":"5E - Survey Database Site Features","desc":"","closed":false,"idOrganization":"","pinned":true,"url":"https://trello.com/board/5e-survey-database-site-features/4f4d0477e4ba0e4f09af1c6c","prefs":{"selfJoin":false,"invitations":"members","comments":"members","voting":"members","permissionLevel":"private"}},{"id":"4f4f9d55cf2e679318098c5b","name":"Welcome Board","desc":"","closed":false,"pinned":true,"url":"https://trello.com/board/welcome-board/4f4f9d55cf2e679318098c5b","prefs":{"selfJoin":false,"invitations":"members","comments":"members","voting":"members","permissionLevel":"private"}},{"id":"4f6c9a79c3974b4d730a5533","name":"uchicago","desc":"","closed":false,"idOrganization":"","pinned":true,"url":"https://trello.com/board/uchicago/4f6c9a79c3974b4d730a5533","prefs":{"selfJoin":false,"invitations":"members","comments":"members","voting":"members","permissionLevel":"private"}}]}
1
+ {"id":"4f4f9d55cf2e679318098c45","avatarHash":"65fcb89a59ff96b68b11332686c8f4f9","avatarSource":"gravatar","bio":"","fullName":"blair christensen","gravatarHash":"8a591569129ed7bdea3890d118b808c7","idBoards":["4f4f9d55cf2e679318098c5b","4f4d0477e4ba0e4f09af1c6c","4f6c9a79c3974b4d730a5533"],"idBoardsInvited":[],"idBoardsPinned":["4f4f9d55cf2e679318098c5b","4f4d0477e4ba0e4f09af1c6c","4f6c9a79c3974b4d730a5533","4d5ea62fd76aa1136000000c"],"idOrganizations":[],"idOrganizationsInvited":[],"initials":"BC","prefs":{"minutesBetweenSummaries":60,"sendSummaries":true},"status":"idle","url":"https://trello.com/blairchristensen","username":"blairchristensen","boards":[{"id":"4f4d0477e4ba0e4f09af1c6c","name":"5E - Survey Database Site Features","closed":false,"idOrganization":"","pinned":true},{"id":"4f4f9d55cf2e679318098c5b","name":"Welcome Board","closed":false,"pinned":true},{"id":"4f6c9a79c3974b4d730a5533","name":"uchicago","closed":false,"idOrganization":"","pinned":true}]}
@@ -0,0 +1,59 @@
1
+ # encoding: utf-8
2
+
3
+ require 'simplecov'
4
+ SimpleCov.start
5
+
6
+ require 'fakeweb'
7
+ require 'trello-client'
8
+ require 'test/unit'
9
+
10
+
11
+ class TestBoard < Test::Unit::TestCase
12
+
13
+ def setup
14
+ @test_dir = File.dirname(__FILE__)
15
+ @test_data = File.join( @test_dir, 'data' )
16
+ end
17
+
18
+ def test_lists
19
+ Trello::Client.new do |client|
20
+ json = open( File.join( @test_data, 'board_with_lists.json' ) ).read
21
+ b = Trello::Client::Board.new(json)
22
+
23
+ assert_not_nil b
24
+ assert_kind_of Trello::Client::Board, b
25
+
26
+ assert_not_nil b.lists
27
+ assert_kind_of Array, b.lists
28
+ assert_equal 3, b.lists.size
29
+
30
+ first = b.lists.first
31
+ assert_not_nil first
32
+ assert_kind_of Trello::Client::List, first
33
+ assert_equal false, first['closed']
34
+ assert_equal '4f4f9d55cf2e679318098c53', first['id']
35
+ assert_equal '4f4f9d55cf2e679318098c5b', first['idBoard']
36
+ assert_equal 16384, first['pos']
37
+ assert_equal 'Basics', first['name']
38
+
39
+ assert_not_nil first.cards
40
+ assert_kind_of Array, first.cards
41
+ assert_equal 0, first.cards.size
42
+
43
+ last = b.lists.last
44
+ assert_not_nil last
45
+ assert_kind_of Trello::Client::List, last
46
+ assert_equal false, last['closed']
47
+ assert_equal '4f4f9d55cf2e679318098c55', last['id']
48
+ assert_equal '4f4f9d55cf2e679318098c5b', last['idBoard']
49
+ assert_equal 49152, last['pos']
50
+ assert_equal 'Advanced', last['name']
51
+
52
+ assert_not_nil last.cards
53
+ assert_kind_of Array, last.cards
54
+ assert_equal 0, last.cards.size
55
+ end
56
+ end
57
+
58
+ end
59
+
@@ -39,6 +39,77 @@ class TestClient < Test::Unit::TestCase
39
39
  end
40
40
  end
41
41
 
42
+ def test_board_parameter_validation
43
+ Trello::Client.new do |client|
44
+ assert_raise(RuntimeError, 'invalid id') { client.board(nil) }
45
+ assert_raise(RuntimeError, 'invalid id') { client.board('') }
46
+
47
+ assert_nil client.api_key
48
+ assert_raise(RuntimeError, 'invalid API key') { client.board('id') }
49
+ client.api_key = ''
50
+ assert_equal '', client.api_key
51
+ assert_raise(RuntimeError, 'invalid API key') { client.board('id') }
52
+ client.api_key = @api_key
53
+ assert_equal @api_key, client.api_key
54
+
55
+ assert_nil client.api_token
56
+ assert_raise(RuntimeError, 'invalid API token') { client.board('id') }
57
+ client.api_token = ''
58
+ assert_equal '', client.api_token
59
+ assert_raise(RuntimeError, 'invalid API token') { client.board('id') }
60
+ end
61
+ end
62
+
63
+ def test_board
64
+ Trello::Client.new do |client|
65
+ json = open( File.join( @test_data, 'board.json' ) ).read
66
+ b = Trello::Client::Board.new(json)
67
+ client.stubs(:board).with('id').returns(b)
68
+
69
+ assert_not_nil b
70
+ assert_kind_of Trello::Client::Board, b
71
+
72
+ assert_equal '4f4f9d55cf2e679318098c5b', b['id']
73
+ assert_equal 'Welcome Board', b['name']
74
+ assert_equal '', b['desc']
75
+ assert_equal false, b['closed']
76
+ assert_equal true, b['pinned']
77
+ assert_equal 'https://trello.com/board/welcome-board/4f4f9d55cf2e679318098c5b', b['url']
78
+ assert_not_nil b['prefs']
79
+ assert_kind_of Hash, b['prefs']
80
+ assert_equal 5, b['prefs'].size
81
+
82
+ assert_not_nil b.lists
83
+ assert_kind_of Array, b.lists
84
+ assert_equal 0, b.lists.size
85
+ end
86
+ end
87
+
88
+ def test_board_with_lists
89
+ Trello::Client.new do |client|
90
+ json = open( File.join( @test_data, 'board_with_lists.json' ) ).read
91
+ b = Trello::Client::Board.new(json)
92
+ client.stubs(:board).with('id').returns(b)
93
+
94
+ assert_not_nil b
95
+ assert_kind_of Trello::Client::Board, b
96
+
97
+ assert_equal '4f4f9d55cf2e679318098c5b', b['id']
98
+ assert_equal 'Welcome Board', b['name']
99
+ assert_equal '', b['desc']
100
+ assert_equal false, b['closed']
101
+ assert_equal true, b['pinned']
102
+ assert_equal 'https://trello.com/board/welcome-board/4f4f9d55cf2e679318098c5b', b['url']
103
+ assert_not_nil b['prefs']
104
+ assert_kind_of Hash, b['prefs']
105
+ assert_equal 5, b['prefs'].size
106
+
107
+ assert_not_nil b.lists
108
+ assert_kind_of Array, b.lists
109
+ assert_equal 3, b.lists.size
110
+ end
111
+ end
112
+
42
113
  def test_member_parameter_validation
43
114
  Trello::Client.new do |client|
44
115
  assert_raise(RuntimeError, 'invalid id') { client.member(nil) }
@@ -62,7 +133,7 @@ class TestClient < Test::Unit::TestCase
62
133
 
63
134
  def test_member
64
135
  Trello::Client.new do |client|
65
- json = open( File.join( @test_data, 'member.json' ) )
136
+ json = open( File.join( @test_data, 'member.json' ) ).read
66
137
  m = Trello::Client::Member.new(json)
67
138
  client.stubs(:member).with('me').returns(m)
68
139
 
@@ -86,7 +157,7 @@ class TestClient < Test::Unit::TestCase
86
157
 
87
158
  def test_member_with_boards
88
159
  Trello::Client.new do |client|
89
- json = open( File.join( @test_data, 'member_with_boards.json' ) )
160
+ json = open( File.join( @test_data, 'member_with_boards.json' ) ).read
90
161
  m = Trello::Client::Member.new(json)
91
162
  client.stubs(:member).with('me').returns(m)
92
163
 
@@ -4,7 +4,6 @@ require 'simplecov'
4
4
  SimpleCov.start
5
5
 
6
6
  require 'fakeweb'
7
- require 'mocha'
8
7
  require 'trello-client'
9
8
  require 'test/unit'
10
9
 
@@ -18,9 +17,8 @@ class TestMember < Test::Unit::TestCase
18
17
 
19
18
  def test_boards
20
19
  Trello::Client.new do |client|
21
- json = open( File.join( @test_data, 'member_with_boards.json' ) )
20
+ json = open( File.join( @test_data, 'member_with_boards.json' ) ).read
22
21
  m = Trello::Client::Member.new(json)
23
- client.stubs(:member).with('me').returns(m)
24
22
 
25
23
  assert_not_nil m
26
24
  assert_kind_of Trello::Client::Member, m
@@ -34,26 +32,24 @@ class TestMember < Test::Unit::TestCase
34
32
  assert_kind_of Trello::Client::Board, first
35
33
  assert_equal '4f4d0477e4ba0e4f09af1c6c', first['id']
36
34
  assert_equal '5E - Survey Database Site Features', first['name']
37
- assert_equal '', first['desc']
38
35
  assert_equal false, first['closed']
36
+ assert_nil first['desc']
39
37
  assert_equal '', first['idOrganization']
40
38
  assert_equal true, first['pinned']
41
- assert_equal 'https://trello.com/board/5e-survey-database-site-features/4f4d0477e4ba0e4f09af1c6c', first['url']
42
- assert_not_nil first['prefs']
43
- assert_kind_of Hash, first['prefs']
39
+ assert_nil first['url']
40
+ assert_nil first['prefs']
44
41
 
45
42
  last = m.boards.last
46
43
  assert_not_nil last
47
44
  assert_kind_of Trello::Client::Board, last
48
45
  assert_equal '4f6c9a79c3974b4d730a5533', last['id']
49
46
  assert_equal 'uchicago', last['name']
50
- assert_equal '', last['desc']
47
+ assert_nil last['desc']
51
48
  assert_equal false, last['closed']
52
49
  assert_equal '', last['idOrganization']
53
50
  assert_equal true, last['pinned']
54
- assert_equal 'https://trello.com/board/uchicago/4f6c9a79c3974b4d730a5533', last['url']
55
- assert_not_nil last['prefs']
56
- assert_kind_of Hash, last['prefs']
51
+ assert_nil last['url']
52
+ assert_nil last['prefs']
57
53
  end
58
54
  end
59
55
 
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.2
4
+ version: 0.0.3
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-03-29 00:00:00.000000000 Z
12
+ date: 2012-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
- requirement: &70241066627280 !ruby/object:Gem::Requirement
16
+ requirement: &70229863256380 !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: *70241066627280
24
+ version_requirements: *70229863256380
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fakeweb
27
- requirement: &70241066626700 !ruby/object:Gem::Requirement
27
+ requirement: &70229863255500 !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: *70241066626700
35
+ version_requirements: *70229863255500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mocha
38
- requirement: &70241066626160 !ruby/object:Gem::Requirement
38
+ requirement: &70229863254720 !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: *70241066626160
46
+ version_requirements: *70229863254720
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70241066625160 !ruby/object:Gem::Requirement
49
+ requirement: &70229863254000 !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: *70241066625160
57
+ version_requirements: *70229863254000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &70241066624560 !ruby/object:Gem::Requirement
60
+ requirement: &70229863274220 !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: *70241066624560
68
+ version_requirements: *70229863274220
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rdoc-readme
71
- requirement: &70241066623460 !ruby/object:Gem::Requirement
71
+ requirement: &70229863273480 !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: *70241066623460
79
+ version_requirements: *70229863273480
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: simplecov
82
- requirement: &70241066643560 !ruby/object:Gem::Requirement
82
+ requirement: &70229863272780 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70241066643560
90
+ version_requirements: *70229863272780
91
91
  description: Trello API client
92
92
  email:
93
93
  - blair.christensen@gmail.com
@@ -103,10 +103,14 @@ files:
103
103
  - Rakefile
104
104
  - lib/trello-client.rb
105
105
  - lib/trello-client/board.rb
106
+ - lib/trello-client/list.rb
106
107
  - lib/trello-client/member.rb
107
108
  - lib/trello-client/version.rb
109
+ - test/data/board.json
110
+ - test/data/board_with_lists.json
108
111
  - test/data/member.json
109
112
  - test/data/member_with_boards.json
113
+ - test/test_board.rb
110
114
  - test/test_client.rb
111
115
  - test/test_member.rb
112
116
  - trello-client.gemspec
@@ -124,7 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
128
  version: '0'
125
129
  segments:
126
130
  - 0
127
- hash: 2861758946972274756
131
+ hash: -1725830249849533101
128
132
  required_rubygems_version: !ruby/object:Gem::Requirement
129
133
  none: false
130
134
  requirements:
@@ -133,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
137
  version: '0'
134
138
  segments:
135
139
  - 0
136
- hash: 2861758946972274756
140
+ hash: -1725830249849533101
137
141
  requirements: []
138
142
  rubyforge_project:
139
143
  rubygems_version: 1.8.11
@@ -141,7 +145,10 @@ signing_key:
141
145
  specification_version: 3
142
146
  summary: Trello API client
143
147
  test_files:
148
+ - test/data/board.json
149
+ - test/data/board_with_lists.json
144
150
  - test/data/member.json
145
151
  - test/data/member_with_boards.json
152
+ - test/test_board.rb
146
153
  - test/test_client.rb
147
154
  - test/test_member.rb