goodreads 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,37 @@
1
+ $:.unshift File.expand_path("../..", __FILE__)
2
+
3
+ require 'simplecov'
4
+ SimpleCov.start do
5
+ add_group 'Goodreads', 'lib/goodreads'
6
+ end
7
+
8
+ require 'goodreads'
9
+ require 'webmock'
10
+ require 'webmock/rspec'
11
+
12
+ def stub_get(path, params, fixture_name)
13
+ params[:format] = 'xml'
14
+ stub_request(:get, api_url(path)).
15
+ with(:query => params).
16
+ to_return(
17
+ :status => 200,
18
+ :body => fixture(fixture_name)
19
+ )
20
+ end
21
+
22
+ def stub_with_key_get(path, params, fixture_name)
23
+ params[:key] = 'SECRET_KEY'
24
+ stub_get(path, params, fixture_name)
25
+ end
26
+
27
+ def fixture_path
28
+ File.expand_path("../fixtures", __FILE__)
29
+ end
30
+
31
+ def fixture(file)
32
+ File.new(fixture_path + '/' + file)
33
+ end
34
+
35
+ def api_url(path)
36
+ "#{Goodreads::API_URL}#{path}"
37
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goodreads
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease: false
4
+ hash: 25
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dan Sosedoff
@@ -15,12 +15,165 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-05 00:00:00 -06:00
18
+ date: 2011-06-08 00:00:00 -05:00
19
19
  default_executable:
20
- dependencies: []
21
-
22
- description: Simplified client to the Goodreads.com API
23
- email: dan.sosedoff@gmail.com
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: webmock
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 1
32
+ - 6
33
+ version: "1.6"
34
+ type: :development
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 27
45
+ segments:
46
+ - 0
47
+ - 8
48
+ version: "0.8"
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: rspec
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ hash: 9
60
+ segments:
61
+ - 2
62
+ - 5
63
+ version: "2.5"
64
+ type: :development
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: ZenTest
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 17
75
+ segments:
76
+ - 4
77
+ - 5
78
+ version: "4.5"
79
+ type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: simplecov
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ - 4
93
+ version: "0.4"
94
+ type: :development
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: yard
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ hash: 7
105
+ segments:
106
+ - 0
107
+ - 6
108
+ version: "0.6"
109
+ type: :development
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ name: rest-client
113
+ prerelease: false
114
+ requirement: &id007 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ hash: 13
120
+ segments:
121
+ - 1
122
+ - 6
123
+ - 1
124
+ version: 1.6.1
125
+ type: :runtime
126
+ version_requirements: *id007
127
+ - !ruby/object:Gem::Dependency
128
+ name: hashie
129
+ prerelease: false
130
+ requirement: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ hash: 23
136
+ segments:
137
+ - 1
138
+ - 0
139
+ - 0
140
+ version: 1.0.0
141
+ type: :runtime
142
+ version_requirements: *id008
143
+ - !ruby/object:Gem::Dependency
144
+ name: activesupport
145
+ prerelease: false
146
+ requirement: &id009 !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ~>
150
+ - !ruby/object:Gem::Version
151
+ hash: 7
152
+ segments:
153
+ - 3
154
+ - 0
155
+ - 0
156
+ version: 3.0.0
157
+ type: :runtime
158
+ version_requirements: *id009
159
+ - !ruby/object:Gem::Dependency
160
+ name: i18n
161
+ prerelease: false
162
+ requirement: &id010 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ~>
166
+ - !ruby/object:Gem::Version
167
+ hash: 1
168
+ segments:
169
+ - 0
170
+ - 5
171
+ version: "0.5"
172
+ type: :runtime
173
+ version_requirements: *id010
174
+ description: Simple wrapper for the Goodreads API
175
+ email:
176
+ - dan.sosedoff@gmail.com
24
177
  executables: []
25
178
 
26
179
  extensions: []
@@ -28,17 +181,32 @@ extensions: []
28
181
  extra_rdoc_files: []
29
182
 
30
183
  files:
184
+ - .gitignore
185
+ - .rspec
186
+ - Gemfile
187
+ - README.rdoc
188
+ - Rakefile
189
+ - goodreads.gemspec
31
190
  - lib/goodreads.rb
32
- - lib/goodreads/goodreads.rb
33
191
  - lib/goodreads/client.rb
34
- - lib/goodreads/record.rb
192
+ - lib/goodreads/goodreads.rb
193
+ - lib/goodreads/version.rb
194
+ - spec/authentication_spec.rb
195
+ - spec/client_spec.rb
196
+ - spec/fixtures/author.xml
197
+ - spec/fixtures/book.xml
198
+ - spec/fixtures/recent_reviews.xml
199
+ - spec/fixtures/review.xml
200
+ - spec/fixtures/search_books_by_name.xml
201
+ - spec/fixtures/user.xml
202
+ - spec/spec_helper.rb
35
203
  has_rdoc: true
36
204
  homepage: http://github.com/sosedoff/goodreads
37
205
  licenses: []
38
206
 
39
207
  post_install_message:
40
- rdoc_options:
41
- - --charset=UTF-8
208
+ rdoc_options: []
209
+
42
210
  require_paths:
43
211
  - lib
44
212
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -55,16 +223,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
223
  requirements:
56
224
  - - ">="
57
225
  - !ruby/object:Gem::Version
58
- hash: 3
226
+ hash: 23
59
227
  segments:
60
- - 0
61
- version: "0"
228
+ - 1
229
+ - 3
230
+ - 6
231
+ version: 1.3.6
62
232
  requirements: []
63
233
 
64
234
  rubyforge_project:
65
- rubygems_version: 1.3.7
235
+ rubygems_version: 1.6.2
66
236
  signing_key:
67
237
  specification_version: 3
68
- summary: Simplified client to the Goodreads.com API
69
- test_files: []
70
-
238
+ summary: Goodreads API wrapper
239
+ test_files:
240
+ - spec/authentication_spec.rb
241
+ - spec/client_spec.rb
242
+ - spec/fixtures/author.xml
243
+ - spec/fixtures/book.xml
244
+ - spec/fixtures/recent_reviews.xml
245
+ - spec/fixtures/review.xml
246
+ - spec/fixtures/search_books_by_name.xml
247
+ - spec/fixtures/user.xml
248
+ - spec/spec_helper.rb
@@ -1,38 +0,0 @@
1
- module Goodreads
2
- class Record
3
- # Initialize the record and set its data if present
4
- def initialize(data=nil)
5
- @fields = {}
6
- setup(data) unless data.nil?
7
- end
8
-
9
- # Set or override the existing field value
10
- def []=(key, value)
11
- @fields[key] = value
12
- end
13
-
14
- # Get the field value by hash key
15
- def [](key)
16
- @fields[key]
17
- end
18
-
19
- # Load data into the record
20
- def setup(data)
21
- data.each_pair do |key, value|
22
- case value
23
- when Hash
24
- @fields[key] = Record.new(value)
25
- when Array
26
- @fields[key] = value.collect { |v| Record.new(v) }
27
- when NilClass
28
- @fields[key] = nil
29
- else
30
- @fields[key] = value
31
- end
32
- (class << self; self; end).class_eval do
33
- define_method(key.to_sym) { return @fields[key] }
34
- end
35
- end
36
- end
37
- end
38
- end