trello-client 0.0.2 → 0.0.3

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,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