google_book 0.3.1 → 0.3.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +24 -19
- data/lib/google_book/book_item.rb +48 -0
- metadata +2 -2
data/README.md
CHANGED
@@ -10,14 +10,14 @@
|
|
10
10
|
<img src = "https://badge.fury.io/rb/google_book.png"/>
|
11
11
|
</div>
|
12
12
|
|
13
|
-
<h1>Google Book
|
14
|
-
<p>You can use it in your web application as well as desktop application to fetch google books
|
13
|
+
<h1>Google Book Api Integration For Books and Magazines</h1><br/>
|
14
|
+
<p>You can use it in your web application as well as desktop application to fetch google books and magazines and also filter them.</p>
|
15
15
|
<div>
|
16
16
|
<h2>Installation</h2>
|
17
|
-
<p>In Gemfile
|
17
|
+
<p>In Gemfile<br/>
|
18
18
|
<code>gem 'google_book', git: 'git@github.com:rajcybage/google_book.git'</code><br/>
|
19
19
|
<span><b>OR</b></span><br/>
|
20
|
-
<code>gem 'google_book', '0.3.1'</code>
|
20
|
+
<code>gem 'google_book', '0.3.1.1'</code>
|
21
21
|
</p>
|
22
22
|
</div>
|
23
23
|
<div>
|
@@ -65,14 +65,19 @@
|
|
65
65
|
<code>b=GoogleBook::Book.new(:api_key => "YOUR_GOOOGLE_API_KEY")</code> <br/>
|
66
66
|
<code> b.search("Name of the book you want to search",1)</code> <br/>
|
67
67
|
<code>b.books #create the instance of all the books of your search</code><br/>
|
68
|
-
<code>b.books.first.get_title #get the first book title</code><br/>
|
69
|
-
<code>b.books.first.get_sub_title#get the first book sub title</code><br/>
|
70
|
-
<code>b.books.first.authors #get the first book authors</code><br/>
|
71
|
-
<code>b.books.first.
|
72
|
-
<code>b.books.first.
|
73
|
-
<code>b.books.first.
|
74
|
-
<code>b.books.first.
|
75
|
-
<code>b.books.first.
|
68
|
+
<code><b>b.books.first.get_title #get the first book title</b></code><br/>
|
69
|
+
<code><b>b.books.first.get_sub_title#get the first book sub title</b></code><br/>
|
70
|
+
<code><b>b.books.first.authors #get the first book authors</b></code><br/>
|
71
|
+
<code><b>b.books.first.text_snippet_description #get the first book text snippet description</b></code><br/>
|
72
|
+
<code><b>b.books.first.publish_date #get the first book published date</b></code><br/>
|
73
|
+
<code><b>b.books.first.publisher #get the first book publisher name</b></code><br/>
|
74
|
+
<code><b>b.books.first.rating #get the rating of the book</b></code><br/>
|
75
|
+
<code><b>b.books.first.total_rating #get the total rating count of the book</b></code><br/>
|
76
|
+
<code><b>b.books.first.version #get the version of the book</b></code><br/>
|
77
|
+
<code><b>b.books.first.preview_link #get the first book preview link</b></code><br/>
|
78
|
+
<code><b>b.books.first.info_link #get the first book information</b></code><br/>
|
79
|
+
<code><b>b.books.first.thumbnail_image #get the first book thumbnail image</b></code><br/>
|
80
|
+
<code><b>b.books.first.small_thumbnail_link #get the first book thumbnail image</b></code><br/>
|
76
81
|
</div>
|
77
82
|
|
78
83
|
|
@@ -115,16 +120,16 @@
|
|
115
120
|
</div>
|
116
121
|
|
117
122
|
<div>
|
118
|
-
<code>
|
119
|
-
<code>
|
123
|
+
<code>filter_book=GoogleBook::Book.new(:api_key => "YOUR_GOOOGLE_API_KEY")</code><br/>
|
124
|
+
<code>filter_book.filter('ruby language', 1)#here one is <b>filter_type</b> as defined above</code><br/>
|
120
125
|
<span>Now create all books instance as usual</span><br/>
|
121
|
-
<code>
|
126
|
+
<code>filter_book.books</code>
|
122
127
|
<span><b>If you select your filter as free ebook then it will be downloadable and buyable</b></span><br/>
|
123
128
|
|
124
|
-
<code>
|
125
|
-
<code>
|
126
|
-
<code>
|
127
|
-
<code>
|
129
|
+
<code>filter_book.books.first.downloadable?#check whther the book is downloadable</code><br/>
|
130
|
+
<code>filter_book.books.first.buyable?#check whether the book is buyable</code><br/>
|
131
|
+
<code>filter_book.books.first.buy_link</code><br/>
|
132
|
+
<code>filter_book.books.first.download_link</code>
|
128
133
|
|
129
134
|
</div>
|
130
135
|
</p>
|
@@ -8,50 +8,93 @@ class BookItem
|
|
8
8
|
@item = item
|
9
9
|
end
|
10
10
|
|
11
|
+
# get the title of the book
|
11
12
|
def get_title
|
12
13
|
@item[:item]["volumeInfo"]["title"]
|
13
14
|
end
|
14
15
|
|
16
|
+
#get the sub title of the book
|
15
17
|
def get_sub_title
|
16
18
|
@item[:item]["volumeInfo"]["subtitle"]
|
17
19
|
end
|
18
20
|
|
21
|
+
#the authors(s) of the book
|
19
22
|
def authors
|
20
23
|
@item[:item]["volumeInfo"]["authors"]
|
21
24
|
end
|
22
25
|
|
26
|
+
#The published date of the book
|
23
27
|
def publish_date
|
24
28
|
@item[:item]["volumeInfo"]["publishedDate"]
|
25
29
|
end
|
26
30
|
|
31
|
+
#The preview link
|
27
32
|
def preview_link
|
28
33
|
@item[:item]["volumeInfo"]["previewLink"]
|
29
34
|
end
|
30
35
|
|
36
|
+
#Information link
|
31
37
|
def info_link
|
32
38
|
@item[:item]["volumeInfo"]["infoLink"]
|
33
39
|
end
|
34
40
|
|
41
|
+
#canonical volume link
|
35
42
|
def canonical_volume_link
|
36
43
|
@item[:item]["volumeInfo"]["canonicalVolumeLink"]
|
37
44
|
end
|
38
45
|
|
46
|
+
#thumbnail images
|
39
47
|
def thubnail_image
|
40
48
|
@item[:item]["volumeInfo"]["imageLinks"]["thumbnail"]
|
41
49
|
end
|
42
50
|
|
51
|
+
#small thumbnail images
|
43
52
|
def small_thumbnail_link
|
44
53
|
@item[:item]["volumeInfo"]["imageLinks"]["smallThumbnail"]
|
45
54
|
end
|
46
55
|
|
56
|
+
#total pages
|
47
57
|
def pagecount
|
48
58
|
@item[:item]["volumeInfo"]["pageCount"]
|
49
59
|
end
|
50
60
|
|
61
|
+
#web reader link
|
51
62
|
def web_reader_link
|
52
63
|
@item[:item]["accessInfo"]["webReaderLink"]
|
53
64
|
end
|
54
65
|
|
66
|
+
#text snippet description
|
67
|
+
def text_snippet_description
|
68
|
+
@item[:item]["searchInfo"]["textSnippet"] unless @item[:item]["searchInfo"].nil?
|
69
|
+
end
|
70
|
+
|
71
|
+
#The rating of the book
|
72
|
+
def rating
|
73
|
+
@item[:item]["volumeInfo"]["averageRating"]
|
74
|
+
end
|
75
|
+
|
76
|
+
#The version of the book
|
77
|
+
def version
|
78
|
+
@item[:item]["volumeInfo"]["contentVersion"]
|
79
|
+
end
|
80
|
+
|
81
|
+
#the total count of the rating
|
82
|
+
def total_rating
|
83
|
+
@item[:item]["volumeInfo"]["ratingsCount"]
|
84
|
+
end
|
85
|
+
|
86
|
+
#publisher
|
87
|
+
def publisher
|
88
|
+
@item[:item]["volumeInfo"]["publisher"]
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
#publish date
|
93
|
+
def publish_date to
|
94
|
+
@item[:item]["volumeInfo"]["publishedDate"]
|
95
|
+
end
|
96
|
+
|
97
|
+
#the buy link of the book
|
55
98
|
def buy_link
|
56
99
|
if buyable?
|
57
100
|
@item[:item]["saleInfo"]["buyLink"]
|
@@ -60,6 +103,7 @@ class BookItem
|
|
60
103
|
end
|
61
104
|
end
|
62
105
|
|
106
|
+
#check whether it is magazine or not
|
63
107
|
def magazine?
|
64
108
|
if @item[:item]["volumeInfo"]["printType"].upcase == "MAGAZINE"
|
65
109
|
true
|
@@ -68,10 +112,12 @@ class BookItem
|
|
68
112
|
end
|
69
113
|
end
|
70
114
|
|
115
|
+
#The price of the book
|
71
116
|
def price
|
72
117
|
@item[:item]["saleInfo"]["listPrice"]["amount"].to_s + ' ' + @item[:item]["saleInfo"]["listPrice"]["currencyCode"] unless @item[:item]["saleInfo"]["listPrice"].nil?
|
73
118
|
end
|
74
119
|
|
120
|
+
#check whether the book is download able or not
|
75
121
|
def downloadable?
|
76
122
|
unless @item[:item]["accessInfo"]["pdf"].nil? || @item[:item]["accessInfo"]["pdf"]["downloadLink"].nil?
|
77
123
|
true
|
@@ -80,6 +126,7 @@ class BookItem
|
|
80
126
|
end
|
81
127
|
end
|
82
128
|
|
129
|
+
#check whether the book is buy able or not
|
83
130
|
def buyable?
|
84
131
|
if @item[:item]["saleInfo"]["isEbook"] != true || @item[:item]["saleInfo"]["buyLink"].nil?
|
85
132
|
false
|
@@ -88,6 +135,7 @@ class BookItem
|
|
88
135
|
end
|
89
136
|
end
|
90
137
|
|
138
|
+
#the download link of the book
|
91
139
|
def download_link
|
92
140
|
if downloadable?
|
93
141
|
@item[:item]["accessInfo"]["pdf"]["downloadLink"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_book
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.1
|
4
|
+
version: 0.3.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -50,6 +50,6 @@ rubyforge_project:
|
|
50
50
|
rubygems_version: 1.8.24
|
51
51
|
signing_key:
|
52
52
|
specification_version: 3
|
53
|
-
summary: Google Book API integration
|
53
|
+
summary: Google Book API integration for fetching the information for google books and magazines also filter them. You can eaisly get most of the elements for a particular book and magazine from the google book search. like :-(title,sub title,preview link,authors,publisher,publish date,buylink,downloadlink,version,...many more
|
54
54
|
test_files: []
|
55
55
|
has_rdoc:
|