googlebook 0.0.1 → 0.1.0
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.
- data/Gemfile +1 -3
- data/Gemfile.lock +17 -30
- data/LICENSE +13 -22
- data/README.md +1 -13
- data/Rakefile +4 -5
- data/googlebook.gemspec +14 -16
- data/lib/googlebook.rb +3 -24
- data/lib/googlebook/book.rb +29 -0
- data/lib/googlebook/finder.rb +24 -17
- data/lib/googlebook/images.rb +30 -0
- data/lib/googlebook/version.rb +2 -2
- data/spec/googlebook/book_spec.rb +22 -0
- data/spec/googlebook/finder_spec.rb +6 -6
- data/spec/support/vcr.rb +2 -2
- metadata +20 -73
- data/CHANGELOG.md +0 -0
- data/spec/googlebook_spec.rb +0 -12
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,37 +1,27 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
googlebook (0.0
|
5
|
-
httparty (~> 0.
|
4
|
+
googlebook (0.1.0)
|
5
|
+
httparty (~> 0.7.4)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
|
-
addressable (2.2.
|
10
|
+
addressable (2.2.4)
|
11
11
|
crack (0.1.8)
|
12
12
|
diff-lcs (1.1.2)
|
13
|
-
httparty (0.
|
13
|
+
httparty (0.7.4)
|
14
14
|
crack (= 0.1.8)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
rspec-
|
23
|
-
|
24
|
-
|
25
|
-
rspec-mocks (2.0.1)
|
26
|
-
rspec-core (~> 2.0.1)
|
27
|
-
rspec-expectations (~> 2.0.1)
|
28
|
-
sdoc (0.2.20)
|
29
|
-
json (>= 1.1.3)
|
30
|
-
rdoc (= 2.4.3)
|
31
|
-
sdoc-helpers (0.1.4)
|
32
|
-
sdoc (~> 0.2)
|
33
|
-
vcr (1.2.0)
|
34
|
-
webmock (1.4.0)
|
15
|
+
rspec (2.5.0)
|
16
|
+
rspec-core (~> 2.5.0)
|
17
|
+
rspec-expectations (~> 2.5.0)
|
18
|
+
rspec-mocks (~> 2.5.0)
|
19
|
+
rspec-core (2.5.1)
|
20
|
+
rspec-expectations (2.5.0)
|
21
|
+
diff-lcs (~> 1.1.2)
|
22
|
+
rspec-mocks (2.5.0)
|
23
|
+
vcr (1.7.0)
|
24
|
+
webmock (1.6.2)
|
35
25
|
addressable (>= 2.2.2)
|
36
26
|
crack (>= 0.1.7)
|
37
27
|
|
@@ -40,9 +30,6 @@ PLATFORMS
|
|
40
30
|
|
41
31
|
DEPENDENCIES
|
42
32
|
googlebook!
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
sdoc-helpers (~> 0.1.4)
|
47
|
-
vcr (~> 1.2.0)
|
48
|
-
webmock (~> 1.4.0)
|
33
|
+
rspec (~> 2.5.0)
|
34
|
+
vcr (~> 1.7.0)
|
35
|
+
webmock (~> 1.6.2)
|
data/LICENSE
CHANGED
@@ -1,22 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
included in all copies or substantial portions of the Software.
|
15
|
-
|
16
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
17
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
19
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
20
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
21
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
22
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
2
|
+
Version 2, December 2004
|
3
|
+
|
4
|
+
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
5
|
+
|
6
|
+
Everyone is permitted to copy and distribute verbatim or modified
|
7
|
+
copies of this license document, and changing it is allowed as long
|
8
|
+
as the name is changed.
|
9
|
+
|
10
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
11
|
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
12
|
+
|
13
|
+
0. You just DO WHAT THE FUCK YOU WANT TO.
|
data/README.md
CHANGED
@@ -1,16 +1,4 @@
|
|
1
1
|
Google Book
|
2
2
|
===========
|
3
3
|
|
4
|
-
Google Book is a
|
5
|
-
|
6
|
-
books = GoogleBook.find('deleuze')
|
7
|
-
|
8
|
-
book = books.first
|
9
|
-
book.title
|
10
|
-
=> "Foucault"
|
11
|
-
book.isbn
|
12
|
-
=> "9780826490780"
|
13
|
-
|
14
|
-
Paginate through the result set, sort of.
|
15
|
-
|
16
|
-
GoogleBook.find('deleuze', :page => 2, :count => 20)
|
4
|
+
Google Book is a Ruby wrapper to the [Google Book Search Data API](http://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html).
|
data/Rakefile
CHANGED
@@ -1,12 +1,11 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require "sdoc_helpers"
|
1
|
+
require 'bundler'
|
2
|
+
require 'rspec/core/rake_task'
|
4
3
|
|
5
4
|
Bundler::GemHelper.install_tasks
|
6
5
|
|
7
|
-
desc
|
6
|
+
desc 'Run all specs in spec directory'
|
8
7
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
9
|
-
spec.pattern =
|
8
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
10
9
|
end
|
11
10
|
|
12
11
|
task :default => :spec
|
data/googlebook.gemspec
CHANGED
@@ -1,28 +1,26 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path(
|
3
|
-
require
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
require 'googlebook/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'googlebook'
|
7
7
|
s.version = GoogleBook::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = [
|
10
|
-
s.email = [
|
11
|
-
s.homepage =
|
12
|
-
s.summary = %q{A Ruby
|
13
|
-
s.description = %q{Google Book is a Ruby
|
9
|
+
s.authors = ['Paper Cavalier']
|
10
|
+
s.email = ['code@papercavalier.com']
|
11
|
+
s.homepage = 'http://rubygems.com/gems/googlebook'
|
12
|
+
s.summary = %q{A Ruby wrapper to the Google Book Search Data API}
|
13
|
+
s.description = %q{Google Book is a Ruby wrapper to the Google Book Search Data API.}
|
14
14
|
|
15
|
-
s.rubyforge_project =
|
15
|
+
s.rubyforge_project = 'googlebook'
|
16
16
|
|
17
|
-
s.add_dependency(
|
18
|
-
s.add_development_dependency(
|
19
|
-
s.add_development_dependency(
|
20
|
-
s.add_development_dependency(
|
21
|
-
s.add_development_dependency("vcr", "~> 1.2.0")
|
22
|
-
s.add_development_dependency("webmock", "~> 1.4.0")
|
17
|
+
s.add_dependency('httparty', ['~> 0.7.4'])
|
18
|
+
s.add_development_dependency('rspec', ['~> 2.5.0'])
|
19
|
+
s.add_development_dependency('vcr', '~> 1.7.0')
|
20
|
+
s.add_development_dependency('webmock', '~> 1.6.2')
|
23
21
|
|
24
22
|
s.files = `git ls-files`.split("\n")
|
25
23
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
24
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
27
|
-
s.require_paths = [
|
25
|
+
s.require_paths = ['lib']
|
28
26
|
end
|
data/lib/googlebook.rb
CHANGED
@@ -1,24 +1,3 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
|
4
|
-
class GoogleBook
|
5
|
-
attr_accessor :thumbnail,
|
6
|
-
:info,
|
7
|
-
:preview,
|
8
|
-
:creator,
|
9
|
-
:date,
|
10
|
-
:description,
|
11
|
-
:format,
|
12
|
-
:identifier,
|
13
|
-
:publisher,
|
14
|
-
:subject,
|
15
|
-
:title
|
16
|
-
|
17
|
-
def initialize(args={})
|
18
|
-
args.each { |k, v| self.send "#{k}=", v }
|
19
|
-
end
|
20
|
-
|
21
|
-
def isbn
|
22
|
-
identifier.detect { |i| i.match(/ISBN:([0-9]{13})/) }; $1
|
23
|
-
end
|
24
|
-
end
|
1
|
+
require 'googlebook/book'
|
2
|
+
require 'googlebook/finder'
|
3
|
+
require 'googlebook/images'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module GoogleBook
|
2
|
+
class Book < Struct.new :images,
|
3
|
+
:info,
|
4
|
+
:preview,
|
5
|
+
:creator,
|
6
|
+
:date,
|
7
|
+
:description,
|
8
|
+
:format,
|
9
|
+
:identifier,
|
10
|
+
:publisher,
|
11
|
+
:subject,
|
12
|
+
:title
|
13
|
+
|
14
|
+
def initialize(args={})
|
15
|
+
args.each { |k, v| self.send "#{k}=", v }
|
16
|
+
end
|
17
|
+
|
18
|
+
def isbn
|
19
|
+
@isbn ||= find_isbn
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def find_isbn
|
25
|
+
identifier.detect { |i| i.match(/ISBN:([0-9]{13})/) }
|
26
|
+
$1
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/googlebook/finder.rb
CHANGED
@@ -2,26 +2,30 @@ require 'cgi'
|
|
2
2
|
require 'httparty'
|
3
3
|
|
4
4
|
# A classy finder
|
5
|
-
|
5
|
+
module GoogleBook
|
6
6
|
include HTTParty
|
7
7
|
format :xml
|
8
8
|
|
9
9
|
class << self
|
10
|
+
|
10
11
|
# Query parameters passed on to Google
|
11
12
|
attr_accessor :parameters
|
12
13
|
|
13
|
-
# Total results for
|
14
|
+
# Total results for query
|
14
15
|
attr_accessor :total_results
|
15
16
|
|
16
|
-
#
|
17
|
+
# The query response
|
18
|
+
attr_accessor :response
|
19
|
+
|
20
|
+
# Queries the Google Book Search Data API.
|
17
21
|
#
|
18
|
-
# Optionally, specify a page and count to
|
22
|
+
# Optionally, specify a page and count to paginate through
|
19
23
|
# the result set.
|
20
24
|
#
|
21
25
|
# GoogleBook.find('deleuze', :page => 2, :count => 20)
|
22
26
|
#
|
23
27
|
def find(query, opts={})
|
24
|
-
self.parameters
|
28
|
+
self.parameters = { 'q' => query }
|
25
29
|
|
26
30
|
if opts[:page] && opts[:page].to_i > 0
|
27
31
|
parameters['start-index'] = opts[:page]
|
@@ -31,20 +35,23 @@ class GoogleBook
|
|
31
35
|
parameters['max-results'] = opts[:count]
|
32
36
|
end
|
33
37
|
|
34
|
-
response = self.get(uri.to_s)
|
38
|
+
self.response = self.get(uri.to_s)
|
39
|
+
|
35
40
|
self.total_results = response['feed']['openSearch:totalResults'].to_i
|
41
|
+
|
36
42
|
response['feed']['entry'].map do |book|
|
37
|
-
new
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
43
|
+
Book.new(
|
44
|
+
:images => Images.new(book['link'][0]['href']),
|
45
|
+
:info => book['link'][1]['href'],
|
46
|
+
:preview => book['link'][2]['href'],
|
47
|
+
:creator => book['dc:creator'],
|
48
|
+
:date => book['dc:date'],
|
49
|
+
:description => book['dc:description'],
|
50
|
+
:format => book['dc:format'],
|
51
|
+
:identifier => book['dc:identifier'],
|
52
|
+
:publisher => book['dc:publisher'],
|
53
|
+
:subject => book['dc:subject'],
|
54
|
+
:title => book['dc:title'])
|
48
55
|
end
|
49
56
|
end
|
50
57
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module GoogleBook
|
2
|
+
class Images
|
3
|
+
attr_accessor :url
|
4
|
+
def initialize(url)
|
5
|
+
self.url = url
|
6
|
+
end
|
7
|
+
|
8
|
+
def thumbnail
|
9
|
+
url
|
10
|
+
end
|
11
|
+
|
12
|
+
def small
|
13
|
+
zoom(1)
|
14
|
+
end
|
15
|
+
|
16
|
+
def medium
|
17
|
+
zoom(2)
|
18
|
+
end
|
19
|
+
|
20
|
+
def large
|
21
|
+
zoom(3)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def zoom(level)
|
27
|
+
url.gsub('zoom=5', "zoom=#{level}")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/googlebook/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
|
2
|
-
VERSION =
|
1
|
+
module GoogleBook
|
2
|
+
VERSION = '0.1.0'
|
3
3
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module GoogleBook
|
4
|
+
describe Book do
|
5
|
+
use_vcr_cassette 'googlebook'
|
6
|
+
|
7
|
+
subject { GoogleBook.find('deleuze').first }
|
8
|
+
|
9
|
+
%w{images info preview creator date description format
|
10
|
+
identifier isbn publisher subject title}.each do |attribute|
|
11
|
+
its(attribute) { should_not be_nil }
|
12
|
+
end
|
13
|
+
|
14
|
+
context "images" do
|
15
|
+
subject { GoogleBook.find('deleuze').first.images }
|
16
|
+
|
17
|
+
%w{thumbnail small medium large}.each do |attribute|
|
18
|
+
its(attribute) { should_not be_nil }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
module GoogleBook
|
4
|
+
describe "Finder module" do
|
5
|
+
use_vcr_cassette 'googlebook'
|
5
6
|
|
6
|
-
context "Finder" do
|
7
7
|
it "should escape parameters" do
|
8
8
|
GoogleBook.find('foo bar')
|
9
9
|
GoogleBook.send(:query).should include 'foo+bar'
|
@@ -19,14 +19,14 @@ describe GoogleBook do
|
|
19
19
|
GoogleBook.send(:query).should include 'max-results=20'
|
20
20
|
end
|
21
21
|
|
22
|
-
it "should
|
22
|
+
it "should filter out invalid pages" do
|
23
23
|
%w{-1 0 foo}.each do |page|
|
24
24
|
GoogleBook.find('foo bar', :page => page)
|
25
25
|
GoogleBook.send(:query).should_not include 'start-index'
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
it "should
|
29
|
+
it "should filter out invalid counts" do
|
30
30
|
%w{9 21 foo}.each do |count|
|
31
31
|
GoogleBook.find('foo bar', :count => count)
|
32
32
|
GoogleBook.send(:query).should_not include 'max-results'
|
@@ -39,7 +39,7 @@ describe GoogleBook do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it "should return books" do
|
42
|
-
GoogleBook.find('deleuze').first.should be_an_instance_of
|
42
|
+
GoogleBook.find('deleuze').first.should be_an_instance_of Book
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
data/spec/support/vcr.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'vcr'
|
2
2
|
|
3
3
|
VCR.config do |c|
|
4
|
-
c.cassette_library_dir
|
5
|
-
c.http_stubbing_library = :webmock
|
4
|
+
c.cassette_library_dir = File.dirname(__FILE__) + '/../fixtures/cassette_library'
|
6
5
|
c.default_cassette_options = { :record => :new_episodes }
|
6
|
+
c.stub_with :webmock
|
7
7
|
end
|
8
8
|
|
9
9
|
RSpec.configure do |config|
|
metadata
CHANGED
@@ -1,20 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: googlebook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
version: 0.0.1
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
|
-
-
|
8
|
+
- Paper Cavalier
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-03-04 00:00:00 +00:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
@@ -25,91 +21,45 @@ dependencies:
|
|
25
21
|
requirements:
|
26
22
|
- - ~>
|
27
23
|
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 0
|
30
|
-
- 6
|
31
|
-
- 1
|
32
|
-
version: 0.6.1
|
24
|
+
version: 0.7.4
|
33
25
|
type: :runtime
|
34
26
|
version_requirements: *id001
|
35
27
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
28
|
+
name: rspec
|
37
29
|
prerelease: false
|
38
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
31
|
none: false
|
40
32
|
requirements:
|
41
33
|
- - ~>
|
42
34
|
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
- 1
|
45
|
-
- 6
|
46
|
-
- 5
|
47
|
-
version: 1.6.5
|
35
|
+
version: 2.5.0
|
48
36
|
type: :development
|
49
37
|
version_requirements: *id002
|
50
38
|
- !ruby/object:Gem::Dependency
|
51
|
-
name:
|
39
|
+
name: vcr
|
52
40
|
prerelease: false
|
53
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
42
|
none: false
|
55
43
|
requirements:
|
56
44
|
- - ~>
|
57
45
|
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
- 2
|
60
|
-
- 0
|
61
|
-
- 1
|
62
|
-
version: 2.0.1
|
46
|
+
version: 1.7.0
|
63
47
|
type: :development
|
64
48
|
version_requirements: *id003
|
65
49
|
- !ruby/object:Gem::Dependency
|
66
|
-
name:
|
50
|
+
name: webmock
|
67
51
|
prerelease: false
|
68
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
69
53
|
none: false
|
70
54
|
requirements:
|
71
55
|
- - ~>
|
72
56
|
- !ruby/object:Gem::Version
|
73
|
-
|
74
|
-
- 0
|
75
|
-
- 1
|
76
|
-
- 4
|
77
|
-
version: 0.1.4
|
57
|
+
version: 1.6.2
|
78
58
|
type: :development
|
79
59
|
version_requirements: *id004
|
80
|
-
|
81
|
-
name: vcr
|
82
|
-
prerelease: false
|
83
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
|
-
requirements:
|
86
|
-
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
segments:
|
89
|
-
- 1
|
90
|
-
- 2
|
91
|
-
- 0
|
92
|
-
version: 1.2.0
|
93
|
-
type: :development
|
94
|
-
version_requirements: *id005
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: webmock
|
97
|
-
prerelease: false
|
98
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
|
-
requirements:
|
101
|
-
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
segments:
|
104
|
-
- 1
|
105
|
-
- 4
|
106
|
-
- 0
|
107
|
-
version: 1.4.0
|
108
|
-
type: :development
|
109
|
-
version_requirements: *id006
|
110
|
-
description: Google Book is a Ruby class in tight embrace with the Google Book Search Data API.
|
60
|
+
description: Google Book is a Ruby wrapper to the Google Book Search Data API.
|
111
61
|
email:
|
112
|
-
-
|
62
|
+
- code@papercavalier.com
|
113
63
|
executables: []
|
114
64
|
|
115
65
|
extensions: []
|
@@ -119,7 +69,6 @@ extra_rdoc_files: []
|
|
119
69
|
files:
|
120
70
|
- .gitignore
|
121
71
|
- .rspec
|
122
|
-
- CHANGELOG.md
|
123
72
|
- Gemfile
|
124
73
|
- Gemfile.lock
|
125
74
|
- LICENSE
|
@@ -127,14 +76,16 @@ files:
|
|
127
76
|
- Rakefile
|
128
77
|
- googlebook.gemspec
|
129
78
|
- lib/googlebook.rb
|
79
|
+
- lib/googlebook/book.rb
|
130
80
|
- lib/googlebook/finder.rb
|
81
|
+
- lib/googlebook/images.rb
|
131
82
|
- lib/googlebook/version.rb
|
83
|
+
- spec/googlebook/book_spec.rb
|
132
84
|
- spec/googlebook/finder_spec.rb
|
133
|
-
- spec/googlebook_spec.rb
|
134
85
|
- spec/spec_helper.rb
|
135
86
|
- spec/support/vcr.rb
|
136
87
|
has_rdoc: true
|
137
|
-
homepage: http://
|
88
|
+
homepage: http://rubygems.com/gems/googlebook
|
138
89
|
licenses: []
|
139
90
|
|
140
91
|
post_install_message:
|
@@ -147,26 +98,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
147
98
|
requirements:
|
148
99
|
- - ">="
|
149
100
|
- !ruby/object:Gem::Version
|
150
|
-
segments:
|
151
|
-
- 0
|
152
101
|
version: "0"
|
153
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
103
|
none: false
|
155
104
|
requirements:
|
156
105
|
- - ">="
|
157
106
|
- !ruby/object:Gem::Version
|
158
|
-
segments:
|
159
|
-
- 0
|
160
107
|
version: "0"
|
161
108
|
requirements: []
|
162
109
|
|
163
110
|
rubyforge_project: googlebook
|
164
|
-
rubygems_version: 1.
|
111
|
+
rubygems_version: 1.5.2
|
165
112
|
signing_key:
|
166
113
|
specification_version: 3
|
167
|
-
summary: A Ruby
|
114
|
+
summary: A Ruby wrapper to the Google Book Search Data API
|
168
115
|
test_files:
|
116
|
+
- spec/googlebook/book_spec.rb
|
169
117
|
- spec/googlebook/finder_spec.rb
|
170
|
-
- spec/googlebook_spec.rb
|
171
118
|
- spec/spec_helper.rb
|
172
119
|
- spec/support/vcr.rb
|
data/CHANGELOG.md
DELETED
File without changes
|
data/spec/googlebook_spec.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe GoogleBook do
|
4
|
-
use_vcr_cassette 'googlebook', :record => :new_episodes
|
5
|
-
|
6
|
-
subject { GoogleBook.find('deleuze').first }
|
7
|
-
|
8
|
-
%w{thumbnail info preview creator date description format
|
9
|
-
identifier isbn publisher subject title}.each do |attribute|
|
10
|
-
its(attribute) { should_not be_nil }
|
11
|
-
end
|
12
|
-
end
|