rakuten_web_service 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +6 -14
- data/.gitignore +1 -0
- data/.travis.yml +0 -4
- data/README.en.md +19 -2
- data/README.md +18 -3
- data/lib/rakuten_web_service.rb +4 -13
- data/lib/rakuten_web_service/books.rb +11 -0
- data/lib/rakuten_web_service/books/book.rb +29 -0
- data/lib/rakuten_web_service/books/cd.rb +25 -0
- data/lib/rakuten_web_service/books/dvd.rb +25 -0
- data/lib/rakuten_web_service/books/foreign_book.rb +24 -0
- data/lib/rakuten_web_service/books/game.rb +25 -0
- data/lib/rakuten_web_service/books/genre.rb +66 -0
- data/lib/rakuten_web_service/books/magazine.rb +26 -0
- data/lib/rakuten_web_service/books/resource.rb +52 -0
- data/lib/rakuten_web_service/books/software.rb +25 -0
- data/lib/rakuten_web_service/books/total.rb +16 -0
- data/lib/rakuten_web_service/ichiba.rb +7 -0
- data/lib/rakuten_web_service/ichiba/genre.rb +27 -20
- data/lib/rakuten_web_service/ichiba/item.rb +6 -4
- data/lib/rakuten_web_service/ichiba/ranking.rb +3 -2
- data/lib/rakuten_web_service/ichiba/shop.rb +3 -0
- data/lib/rakuten_web_service/resource.rb +29 -6
- data/lib/rakuten_web_service/search_result.rb +34 -1
- data/lib/rakuten_web_service/version.rb +1 -1
- data/rakuten_web_service.gemspec +1 -0
- data/spec/fixtures/books/book_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/cd_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/dvd_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/foreign_book_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/game_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/genre_search.json +1 -0
- data/spec/fixtures/books/magazine_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/software_search_with_keyword_Ruby.json +1 -0
- data/spec/fixtures/books/total_search_with_keyword_Ruby.json +1 -0
- data/spec/rakuten_web_service/books/book_spec.rb +93 -0
- data/spec/rakuten_web_service/books/cd_spec.rb +63 -0
- data/spec/rakuten_web_service/books/dvd_spec.rb +63 -0
- data/spec/rakuten_web_service/books/foreign_book_spec.rb +62 -0
- data/spec/rakuten_web_service/books/game_spec.rb +56 -0
- data/spec/rakuten_web_service/books/genre_spec.rb +187 -0
- data/spec/rakuten_web_service/books/magazine_spec.rb +56 -0
- data/spec/rakuten_web_service/books/software_spec.rb +56 -0
- data/spec/rakuten_web_service/books/total_spec.rb +38 -0
- data/spec/rakuten_web_service/ichiba/item_spec.rb +19 -0
- metadata +64 -16
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
YmY2NWI2NzcwZDhkMTBhMDMwNmUzNTc5YTFjNDcyMmEyN2I2ZmQyMjI1ZDg1
|
10
|
-
YWI1NjhlNjc5NTAxM2M2ZGI5MjkwN2MzMjZhYjY4ZWZlMzhlNGM5YzBhZDk3
|
11
|
-
MjRjOTc0YWMwMjFjMDU3M2Q0NDhjYzMwNDU0YmU1YzA5NGFjNWQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZjQxMjk4MGRjNzZiNzRhZWRiMDE0ZThiYWZiYmMyNzQwNjg3YTYxOTcxZWE3
|
14
|
-
ZmViYmIwY2YxNGFmMGM3MzJkYjc0MWM2MmQ5YTgxM2I3MDU2ZGVmNzc1ZWNj
|
15
|
-
ZGUwZDhmMTJiZTJlOGM2MzJjZTYyODZiMWM5NzIwNDUxMmE0OGM=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ea05eb23e2ac23b7a3498d463d5ad258e83a02ac
|
4
|
+
data.tar.gz: bdcbfbceb2961c96a35bc83d4bf692b1ff40678a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 319d83fdfd80b0510cb23c6a6003bcb32b57f30e886a7af6a58b4cb8309e91ef5caa637339842d6a2d45566d971ad24f6211df088d513fe3fa3936b2aa742963
|
7
|
+
data.tar.gz: 259b56dd3e38712a54ccc88a32c90eaf2de3f40e7f84e6e614f025eb76d4ebbc6932db664f53ccf08e8c6f357934a7e93797b0f5d44d4be78865018a4ef821d6
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.en.md
CHANGED
@@ -19,14 +19,31 @@ Or install it yourself as:
|
|
19
19
|
|
20
20
|
$ gem install rakuten_web_service
|
21
21
|
|
22
|
-
## Usage
|
23
22
|
|
24
|
-
Now rakuten\_web\_service is supporting the following APIs:
|
23
|
+
Now rakuten\_web\_service is supporting the following APIs:
|
24
|
+
|
25
|
+
### Rakuten Ichiba APIs
|
25
26
|
|
26
27
|
* [Rakuten Ichiba Item Search API](http://webservice.rakuten.co.jp/api/ichibaitemsearch/)
|
27
28
|
* [Rakuten Ichiba Genre Search API](http://webservice.rakuten.co.jp/api/ichibagenresearch/)
|
28
29
|
* [Rakuten Ichiba Ranking API](http://webservice.rakuten.co.jp/api/ichibaitemranking/)
|
29
30
|
|
31
|
+
|
32
|
+
### Rakuten Books APIs
|
33
|
+
|
34
|
+
* [Rakuten Books Total Search API](http://webservice.rakuten.co.jp/api/bookstotalsearch/)
|
35
|
+
* [Rakuten Books Book Search API](http://webservice.rakuten.co.jp/api/booksbooksearch/)
|
36
|
+
* [Rakuten Books CD Search API](http://webservice.rakuten.co.jp/api/bookscdsearch/)
|
37
|
+
* [Rakuten Books DVD/Blu-ray Search API](http://webservice.rakuten.co.jp/api/booksdvdsearch/)
|
38
|
+
* [Rakuten Books ForeignBook Search API](http://webservice.rakuten.co.jp/api/booksforeignbooksearch/)
|
39
|
+
* [Rakuten Books Magazine Search API](http://webservice.rakuten.co.jp/api/booksmagazinesearch/)
|
40
|
+
* [Rakuten Books Game Search API](http://webservice.rakuten.co.jp/api/booksgamesearch/)
|
41
|
+
* [Rakuten Books Software Search API](http://webservice.rakuten.co.jp/api/bookssoftwaresearch/)
|
42
|
+
* [Rakuten Books Genre Search API](http://webservice.rakuten.co.jp/api/booksgenresearch/)
|
43
|
+
|
44
|
+
|
45
|
+
## Usage
|
46
|
+
|
30
47
|
### Configuration
|
31
48
|
|
32
49
|
`RakutenWebService.configuration` allows you to specify your application's key called application\_id and your affiliate id(optional).
|
data/README.md
CHANGED
@@ -24,15 +24,30 @@ bundlerを利用したアプリケーションの場合、Gemfileに以下の1
|
|
24
24
|
|
25
25
|
とすることでインストールできます。
|
26
26
|
|
27
|
-
## 使用方法
|
28
|
-
|
29
|
-
Now rakuten\_web\_service is supporting the following APIs:
|
30
27
|
現在rakuten\_web\_serviceは下記のAPIをサポートしています。
|
31
28
|
|
29
|
+
### 楽天市場API
|
30
|
+
|
32
31
|
* [Rakuten Ichiba Item Search API](http://webservice.rakuten.co.jp/api/ichibaitemsearch/)
|
33
32
|
* [Rakuten Ichiba Genre Search API](http://webservice.rakuten.co.jp/api/ichibagenresearch/)
|
34
33
|
* [Rakuten Ichiba Ranking API](http://webservice.rakuten.co.jp/api/ichibaitemranking/)
|
35
34
|
|
35
|
+
|
36
|
+
### 楽天ブックス系API
|
37
|
+
|
38
|
+
* [Rakuten Books Total Search API](http://webservice.rakuten.co.jp/api/bookstotalsearch/)
|
39
|
+
* [Rakuten Books Book Search API](http://webservice.rakuten.co.jp/api/booksbooksearch/)
|
40
|
+
* [Rakuten Books CD Search API](http://webservice.rakuten.co.jp/api/bookscdsearch/)
|
41
|
+
* [Rakuten Books DVD/Blu-ray Search API](http://webservice.rakuten.co.jp/api/booksdvdsearch/)
|
42
|
+
* [Rakuten Books ForeignBook Search API](http://webservice.rakuten.co.jp/api/booksforeignbooksearch/)
|
43
|
+
* [Rakuten Books Magazine Search API](http://webservice.rakuten.co.jp/api/booksmagazinesearch/)
|
44
|
+
* [Rakuten Books Game Search API](http://webservice.rakuten.co.jp/api/booksgamesearch/)
|
45
|
+
* [Rakuten Books Software Search API](http://webservice.rakuten.co.jp/api/bookssoftwaresearch/)
|
46
|
+
* [Rakuten Books Genre Search API](http://webservice.rakuten.co.jp/api/booksgenresearch/)
|
47
|
+
|
48
|
+
|
49
|
+
## 使用方法
|
50
|
+
|
36
51
|
### 設定
|
37
52
|
|
38
53
|
`RakutenWebService.configuration` メソッドを使い、Application IDとAffiliate ID(オプション)を指定することができます。
|
data/lib/rakuten_web_service.rb
CHANGED
@@ -1,14 +1,5 @@
|
|
1
|
-
|
2
|
-
require 'rakuten_web_service/configuration'
|
3
|
-
require 'rakuten_web_service/client'
|
4
|
-
require 'rakuten_web_service/search_result'
|
5
|
-
require 'rakuten_web_service/resource'
|
6
|
-
require 'rakuten_web_service/ichiba/shop'
|
7
|
-
require 'rakuten_web_service/ichiba/item'
|
8
|
-
require 'rakuten_web_service/ichiba/genre'
|
9
|
-
require 'rakuten_web_service/ichiba/ranking'
|
10
|
-
|
11
|
-
module RakutenWebService
|
12
|
-
end
|
13
|
-
|
1
|
+
module RakutenWebService; end
|
14
2
|
RWS = RakutenWebService
|
3
|
+
|
4
|
+
require 'rakuten_web_service/ichiba'
|
5
|
+
require 'rakuten_web_service/books'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'rakuten_web_service/version'
|
2
|
+
require 'rakuten_web_service/configuration'
|
3
|
+
|
4
|
+
require 'rakuten_web_service/books/book'
|
5
|
+
require 'rakuten_web_service/books/cd'
|
6
|
+
require 'rakuten_web_service/books/dvd'
|
7
|
+
require 'rakuten_web_service/books/foreign_book'
|
8
|
+
require 'rakuten_web_service/books/magazine'
|
9
|
+
require 'rakuten_web_service/books/game'
|
10
|
+
require 'rakuten_web_service/books/software'
|
11
|
+
require 'rakuten_web_service/books/total'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rakuten_web_service/books/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class Book < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksBook/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :subTitle, :subTitleKana,
|
9
|
+
:seriesName, :seriesNameKana,
|
10
|
+
:contents, :contentsKana,
|
11
|
+
:author, :authorKana, :publisherName,
|
12
|
+
:size, :isbn,
|
13
|
+
:itemCaption, :itemPrice, :listPrice,
|
14
|
+
:discountRate, :discountPrice,
|
15
|
+
:salesDate,
|
16
|
+
:itemUrl, :affiliateUrl,
|
17
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
18
|
+
:chirayomiUrl,
|
19
|
+
:availability,
|
20
|
+
:postageFlag, :limitedFlag,
|
21
|
+
:reviewCount, :reviewAverage,
|
22
|
+
:booksGenreId
|
23
|
+
|
24
|
+
def update_key
|
25
|
+
'isbn'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rakuten_web_service/books/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class CD < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksCD/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :artistName, :artistNameKana,
|
9
|
+
:label, :jan, :makerCode,
|
10
|
+
:itemCaption, :playList, :salesDate,
|
11
|
+
:itemPrice, :listPrice,
|
12
|
+
:discountRate, :discountPrice,
|
13
|
+
:itemUrl, :affiliateUrl,
|
14
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
15
|
+
:availability,
|
16
|
+
:postageFlag, :limitedFlag,
|
17
|
+
:reviewCount, :reviewAverage,
|
18
|
+
:booksGenreId
|
19
|
+
|
20
|
+
def update_key
|
21
|
+
'jan'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rakuten_web_service/books/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class DVD < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksDVD/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :artistName, :artistNameKana,
|
9
|
+
:label, :jan, :makerCode,
|
10
|
+
:itemCaption, :salesDate,
|
11
|
+
:itemPrice, :listPrice,
|
12
|
+
:discountRate, :discountPrice,
|
13
|
+
:itemUrl, :affiliateUrl,
|
14
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
15
|
+
:availability,
|
16
|
+
:postageFlag, :limitedFlag,
|
17
|
+
:reviewCount, :reviewAverage,
|
18
|
+
:booksGenreId
|
19
|
+
|
20
|
+
def update_key
|
21
|
+
'jan'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rakuten_web_service/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class ForeignBook < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksForeignBook/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :japaneseTitle,
|
9
|
+
:author, :authorKana,
|
10
|
+
:publishName, :isbn, :itemCaption, :salesDate,
|
11
|
+
:itemPrice, :listPrice,
|
12
|
+
:discountRate, :discountPrice,
|
13
|
+
:itemUrl, :affiliateUrl,
|
14
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
15
|
+
:availability, :postageFlag, :limitedFlag,
|
16
|
+
:reviewCount, :reviewAverage,
|
17
|
+
:booksGenreId
|
18
|
+
|
19
|
+
def update_key
|
20
|
+
'isbn'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rakuten_web_service/books/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class Game < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksGame/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :hardware, :jan, :makerCode,
|
9
|
+
:itemCaption,
|
10
|
+
:salesDate,
|
11
|
+
:itemPrice, :listPrice, :discountRate, :discountPrice,
|
12
|
+
:itemUrl, :affiliateUrl,
|
13
|
+
:contents, :contentsKana,
|
14
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
15
|
+
:availability,
|
16
|
+
:postageFlag, :limitedFlag,
|
17
|
+
:reviewCount, :reviewAverage,
|
18
|
+
:booksGenreId
|
19
|
+
|
20
|
+
def update_key
|
21
|
+
'jan'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'rakuten_web_service/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class Genre < Resource
|
6
|
+
set_resource_name 'books_genre'
|
7
|
+
|
8
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksGenre/Search/20121128'
|
9
|
+
|
10
|
+
set_parser do |response|
|
11
|
+
current = response['current']
|
12
|
+
if children = response['children']
|
13
|
+
children = children.map { |child| Books::Genre.new(child['child']) }
|
14
|
+
current.merge!('children' => children)
|
15
|
+
end
|
16
|
+
if parents = response['parents']
|
17
|
+
parents = parents.map { |parent| Books::Genre.new(parent['parent']) }
|
18
|
+
current.merge!('parents' => parents)
|
19
|
+
end
|
20
|
+
|
21
|
+
genre = Books::Genre.new(current)
|
22
|
+
[genre]
|
23
|
+
end
|
24
|
+
|
25
|
+
attribute :booksGenreId, :booksGenreName, :genreLevel
|
26
|
+
|
27
|
+
def self.root
|
28
|
+
new('000')
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.new(params)
|
32
|
+
case params
|
33
|
+
when String
|
34
|
+
Genre[params] ||= self.search(:booksGenreId => params).first
|
35
|
+
when Hash
|
36
|
+
super
|
37
|
+
else
|
38
|
+
raise ArgumentError, 'Invalid parameter for initializing Books::Genre'
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.[](id)
|
43
|
+
repository[id]
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.[]=(id, genre)
|
47
|
+
repository[id] = genre
|
48
|
+
end
|
49
|
+
|
50
|
+
def children
|
51
|
+
@params['children'] ||= RWS::Books::Genre.search(:booksGenreId => self.id).first.children
|
52
|
+
end
|
53
|
+
|
54
|
+
def search(params={})
|
55
|
+
params = params.merge(:booksGenreId => self.id)
|
56
|
+
resource = Books::Resource.find_resource_by_genre_id(self.id)
|
57
|
+
resource.search(params)
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
def self.repository
|
62
|
+
@repository ||= {}
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'rakuten_web_service/books/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class Magazine < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksMagazine/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :publisherName, :jan,
|
9
|
+
:itemCaption,
|
10
|
+
:salesDate, :cycle,
|
11
|
+
:itemPrice, :listPrice, :discountRate, :discountPrice,
|
12
|
+
:itemUrl, :affiliateUrl,
|
13
|
+
:contents, :contentsKana,
|
14
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
15
|
+
:chirayomiUrl,
|
16
|
+
:availability,
|
17
|
+
:postageFlag, :limitedFlag,
|
18
|
+
:reviewCount, :reviewAverage,
|
19
|
+
:booksGenreId
|
20
|
+
|
21
|
+
def update_key
|
22
|
+
'jan'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'rakuten_web_service/resource'
|
2
|
+
require 'rakuten_web_service/books/genre'
|
3
|
+
|
4
|
+
module RakutenWebService
|
5
|
+
module Books
|
6
|
+
class Resource < RakutenWebService::Resource
|
7
|
+
set_parser do |response|
|
8
|
+
response['Items'].map { |item| self.new(item['Item']) }
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.find_resource_by_genre_id(genre_id)
|
12
|
+
case genre_id
|
13
|
+
when /^001/ then RWS::Books::Book
|
14
|
+
when /^002/ then RWS::Books::CD
|
15
|
+
when /^003/ then RWS::Books::DVD
|
16
|
+
when /^004/ then RWS::Books::Software
|
17
|
+
when /^005/ then RWS::Books::ForeignBook
|
18
|
+
when /^006/ then RWS::Books::Game
|
19
|
+
when /^007/ then RWS::Books::Magazine
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def genre
|
24
|
+
@genre ||= self.books_genre_id.split('/').map do |id|
|
25
|
+
Books::Genre.new(id)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
alias genres genre
|
29
|
+
|
30
|
+
def get_attribute(name)
|
31
|
+
name = name.to_s
|
32
|
+
update_params unless @params[name]
|
33
|
+
@params[name]
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
def update_params
|
38
|
+
item = self.class.search(update_key => self[update_key]).first
|
39
|
+
@params = item.params
|
40
|
+
end
|
41
|
+
|
42
|
+
def update_key
|
43
|
+
raise 'This method is required to be overwritten in subclasses.'
|
44
|
+
end
|
45
|
+
|
46
|
+
protected
|
47
|
+
def params
|
48
|
+
@params.dup
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rakuten_web_service/books/resource'
|
2
|
+
|
3
|
+
module RakutenWebService
|
4
|
+
module Books
|
5
|
+
class Software < Books::Resource
|
6
|
+
endpoint 'https://app.rakuten.co.jp/services/api/BooksSoftware/Search/20130522'
|
7
|
+
|
8
|
+
attribute :title, :titleKana, :os, :jan, :makerCode,
|
9
|
+
:itemCaption,
|
10
|
+
:salesDate,
|
11
|
+
:itemPrice, :listPrice, :discountRate, :discountPrice,
|
12
|
+
:itemUrl, :affiliateUrl,
|
13
|
+
:contents, :contentsKana,
|
14
|
+
:smallImageUrl, :mediumImageUrl, :largeImageUrl,
|
15
|
+
:availability,
|
16
|
+
:postageFlag, :limitedFlag,
|
17
|
+
:reviewCount, :reviewAverage,
|
18
|
+
:booksGenreId
|
19
|
+
|
20
|
+
def update_key
|
21
|
+
'jan'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|