rakuten_api 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +14 -0
- data/Guardfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +151 -0
- data/Rakefile +1 -0
- data/examples/show_ranking.rb +20 -0
- data/lib/rakuten_api/base/client.rb +41 -0
- data/lib/rakuten_api/base/item.rb +55 -0
- data/lib/rakuten_api/base/model.rb +41 -0
- data/lib/rakuten_api/base/params.rb +72 -0
- data/lib/rakuten_api/base/response.rb +39 -0
- data/lib/rakuten_api/configuration.rb +27 -0
- data/lib/rakuten_api/dummy_module.rb +6 -0
- data/lib/rakuten_api/error.rb +14 -0
- data/lib/rakuten_api/genre_search/client.rb +41 -0
- data/lib/rakuten_api/genre_search/model.rb +22 -0
- data/lib/rakuten_api/genre_search/response.rb +43 -0
- data/lib/rakuten_api/item_ranking/client.rb +29 -0
- data/lib/rakuten_api/item_ranking/model.rb +17 -0
- data/lib/rakuten_api/item_ranking/response.rb +57 -0
- data/lib/rakuten_api/item_search/client.rb +34 -0
- data/lib/rakuten_api/item_search/model.rb +15 -0
- data/lib/rakuten_api/item_search/response.rb +71 -0
- data/lib/rakuten_api/version.rb +3 -0
- data/lib/rakuten_api.rb +45 -0
- data/rakuten_api.gemspec +24 -0
- data/spec/fixtures/vcr_cassettes/genre_search_response.yml +75 -0
- data/spec/fixtures/vcr_cassettes/genre_search_response_0.yml +75 -0
- data/spec/fixtures/vcr_cassettes/genre_search_response_551169.yml +62 -0
- data/spec/fixtures/vcr_cassettes/genre_search_response_551172.yml +62 -0
- data/spec/fixtures/vcr_cassettes/item_ranking_error_response.yml +56 -0
- data/spec/fixtures/vcr_cassettes/item_ranking_response.yml +853 -0
- data/spec/fixtures/vcr_cassettes/item_ranking_response_next_ranking.yml +789 -0
- data/spec/fixtures/vcr_cassettes/item_ranking_response_prev_ranking.yml +853 -0
- data/spec/fixtures/vcr_cassettes/item_search_response.yml +116 -0
- data/spec/fixtures/vcr_cassettes/item_search_response_next_page.yml +89 -0
- data/spec/fixtures/vcr_cassettes/item_search_response_prev_page.yml +107 -0
- data/spec/rakuten_api/base/params_spec.rb +42 -0
- data/spec/rakuten_api/genre_search/client_spec.rb +37 -0
- data/spec/rakuten_api/genre_search/model_spec.rb +32 -0
- data/spec/rakuten_api/genre_search/response_spec.rb +47 -0
- data/spec/rakuten_api/item_ranking/client_spec.rb +19 -0
- data/spec/rakuten_api/item_ranking/model_spec.rb +19 -0
- data/spec/rakuten_api/item_ranking/response_spec.rb +64 -0
- data/spec/rakuten_api/item_search/client_spec.rb +35 -0
- data/spec/rakuten_api/item_search/model_spec.rb +33 -0
- data/spec/rakuten_api/item_search/response_spec.rb +73 -0
- data/spec/spec_helper.rb +34 -0
- metadata +181 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module RakutenApi
|
4
|
+
module ItemRanking
|
5
|
+
class Model < ::RakutenApi::ItemSearch::Model
|
6
|
+
include RakutenApi.constantize 'item_ranking_module'
|
7
|
+
include ::RakutenApi::Base::Item
|
8
|
+
|
9
|
+
attr_accessor :rank
|
10
|
+
attr_accessor :carrier
|
11
|
+
|
12
|
+
def self.casting
|
13
|
+
ITEM_CASTING
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module RakutenApi
|
4
|
+
module ItemRanking
|
5
|
+
class Response < ::RakutenApi::Base::Response
|
6
|
+
attr_reader :title
|
7
|
+
attr_reader :last_build_date
|
8
|
+
attr_reader :page
|
9
|
+
|
10
|
+
def initialize(faraday_response = nil, params = nil)
|
11
|
+
super(faraday_response)
|
12
|
+
@request_params = params
|
13
|
+
parse_body
|
14
|
+
end
|
15
|
+
|
16
|
+
def next_ranking
|
17
|
+
@request_params['page'] = @page + 1
|
18
|
+
new_request
|
19
|
+
end
|
20
|
+
|
21
|
+
def prev?
|
22
|
+
@page > 1
|
23
|
+
end
|
24
|
+
|
25
|
+
def prev_ranking
|
26
|
+
return nil unless prev?
|
27
|
+
@request_params['page'] = @page - 1
|
28
|
+
new_request
|
29
|
+
end
|
30
|
+
|
31
|
+
def new_request
|
32
|
+
Client.new do |params|
|
33
|
+
@request_params.each_pair do |k, v|
|
34
|
+
params.add_param k, v
|
35
|
+
end
|
36
|
+
end.request
|
37
|
+
end
|
38
|
+
|
39
|
+
def parse_body
|
40
|
+
@title = @body['title']
|
41
|
+
@last_build_date = DateTime.rfc2822(@body['lastBuildDate']) rescue nil
|
42
|
+
@page = @request_params['page'] if @request_params.is_a? Hash
|
43
|
+
@page ||= 1
|
44
|
+
end
|
45
|
+
|
46
|
+
def simple_mapping
|
47
|
+
[] unless @body.include? "Items"
|
48
|
+
[].tap do |result|
|
49
|
+
@body["Items"].each do |f|
|
50
|
+
next unless f.include? 'Item'
|
51
|
+
result << Model.from_hash(f['Item'])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module RakutenApi
|
4
|
+
module ItemSearch
|
5
|
+
class Client < ::RakutenApi::Base::Client
|
6
|
+
REQUEST_PATH = "/services/api/IchibaItem/Search/20120723"
|
7
|
+
|
8
|
+
def get
|
9
|
+
connection.get(REQUEST_PATH, params)
|
10
|
+
end
|
11
|
+
|
12
|
+
def request
|
13
|
+
Response.new(get, params.clone)
|
14
|
+
end
|
15
|
+
|
16
|
+
def init_params(application_id, affiliate_id)
|
17
|
+
@params = Params.new(application_id, affiliate_id)
|
18
|
+
end
|
19
|
+
|
20
|
+
class Params < ::RakutenApi::Base::Params
|
21
|
+
VALID_NAMES = %w(keyword shopCode genreId hits page sort minPrice maxPrice availability field
|
22
|
+
carrier imageFlag orFlag NGKeyword purchaseType shipOverseasFlag shipOverseasArea
|
23
|
+
asurakuFlag asurakuArea pointRateFlag pointRate postageFlag creditCardFlag itemCode
|
24
|
+
giftFlag hasReviewFlag maxAffiliateRate minAffiliateRate hasMovieFlag
|
25
|
+
pamphletFlag appointDeliveryDateFlag elements
|
26
|
+
).freeze
|
27
|
+
|
28
|
+
def valid_names
|
29
|
+
@@valid_names ||= (VALID_NAMES + BASE_VALID_NAMES).freeze
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
module RakutenApi
|
6
|
+
module ItemSearch
|
7
|
+
class Response < ::RakutenApi::Base::Response
|
8
|
+
attr_reader :hits
|
9
|
+
attr_reader :count
|
10
|
+
attr_reader :first
|
11
|
+
attr_reader :last
|
12
|
+
attr_reader :carrier
|
13
|
+
attr_reader :page_count
|
14
|
+
attr_reader :page
|
15
|
+
|
16
|
+
def initialize(faraday_response = nil, params = nil)
|
17
|
+
super(faraday_response)
|
18
|
+
parse_body(@body)
|
19
|
+
@request_params = params
|
20
|
+
end
|
21
|
+
|
22
|
+
def next?
|
23
|
+
@page < @page_count
|
24
|
+
end
|
25
|
+
|
26
|
+
def prev?
|
27
|
+
@page > 1
|
28
|
+
end
|
29
|
+
|
30
|
+
def get_next_page
|
31
|
+
nil unless next?
|
32
|
+
@request_params[:page] = @page + 1
|
33
|
+
new_request
|
34
|
+
end
|
35
|
+
|
36
|
+
def get_prev_page
|
37
|
+
nil unless prev?
|
38
|
+
@request_params[:page] = @page - 1
|
39
|
+
new_request
|
40
|
+
end
|
41
|
+
|
42
|
+
def new_request
|
43
|
+
Client.new do |params|
|
44
|
+
@request_params.each_pair do |k, v|
|
45
|
+
params.add_param k, v
|
46
|
+
end
|
47
|
+
end.request
|
48
|
+
end
|
49
|
+
|
50
|
+
def parse_body(data)
|
51
|
+
@count = data['count']
|
52
|
+
@page = data['page']
|
53
|
+
@first = data['first']
|
54
|
+
@last = data['last']
|
55
|
+
@hits = data['hits']
|
56
|
+
@carrier = data['carrier']
|
57
|
+
@page_count = data['pageCount']
|
58
|
+
end
|
59
|
+
|
60
|
+
def simple_mapping
|
61
|
+
[] unless @body.include? "Items"
|
62
|
+
[].tap do |result|
|
63
|
+
@body["Items"].each do |f|
|
64
|
+
next unless f.include? 'Item'
|
65
|
+
result << Model.from_hash(f['Item'])
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/rakuten_api.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require "rakuten_api/version"
|
2
|
+
require "rakuten_api/dummy_module"
|
3
|
+
require "rakuten_api/configuration"
|
4
|
+
require "rakuten_api/base/model"
|
5
|
+
require "rakuten_api/base/client"
|
6
|
+
require "rakuten_api/base/params"
|
7
|
+
require "rakuten_api/base/response"
|
8
|
+
require "rakuten_api/base/item"
|
9
|
+
|
10
|
+
require "rakuten_api/error"
|
11
|
+
require "rakuten_api/item_search/client"
|
12
|
+
require "rakuten_api/item_search/response"
|
13
|
+
require "rakuten_api/genre_search/client"
|
14
|
+
require "rakuten_api/genre_search/response"
|
15
|
+
require "rakuten_api/item_ranking/client"
|
16
|
+
require "rakuten_api/item_ranking/response"
|
17
|
+
|
18
|
+
module RakutenApi
|
19
|
+
APPLICATION_END_POINT = "https://app.rakuten.co.jp/"
|
20
|
+
class << self
|
21
|
+
def configure
|
22
|
+
yield configuration
|
23
|
+
end
|
24
|
+
|
25
|
+
def configuration
|
26
|
+
@configuration ||= Configuration.new
|
27
|
+
end
|
28
|
+
alias :config :configuration
|
29
|
+
|
30
|
+
def constantize(name)
|
31
|
+
names = config.send(name).split('::')
|
32
|
+
names.shift if names.empty? || names.first.empty?
|
33
|
+
|
34
|
+
constant = Object
|
35
|
+
names.each do |name|
|
36
|
+
constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
|
37
|
+
end
|
38
|
+
constant
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
require "rakuten_api/genre_search/model"
|
44
|
+
require "rakuten_api/item_search/model"
|
45
|
+
require "rakuten_api/item_ranking/model"
|
data/rakuten_api.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rakuten_api/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "rakuten_api"
|
8
|
+
gem.version = RakutenApi::VERSION
|
9
|
+
gem.authors = ["kengos"]
|
10
|
+
gem.email = ["kengo@kengos.jp"]
|
11
|
+
gem.description = %q{Rakuten Api}
|
12
|
+
gem.summary = %q{Rakuten Api(http://webservice.rakuten.co.jp/)}
|
13
|
+
gem.homepage = "https://github.com/kengos/rakuten_api"
|
14
|
+
gem.license = 'MIT'
|
15
|
+
|
16
|
+
gem.files = `git ls-files`.split($/)
|
17
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
18
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
|
+
gem.require_paths = ["lib"]
|
20
|
+
gem.add_runtime_dependency 'faraday', '~> 0.8.5'
|
21
|
+
gem.add_development_dependency 'rspec', '~> 2.12'
|
22
|
+
gem.add_development_dependency 'vcr', '~> 2.4.0'
|
23
|
+
gem.add_development_dependency 'webmock', '~> 1.9.2'
|
24
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://app.rakuten.co.jp/services/api/IchibaGenre/Search/20120723?applicationId=16d8dfe13fde99ac5479d789764d2f7a&genreId=0
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- ! '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: !binary |-
|
20
|
+
T0s=
|
21
|
+
headers:
|
22
|
+
!binary "RGF0ZQ==":
|
23
|
+
- !binary |-
|
24
|
+
VHVlLCAxOSBGZWIgMjAxMyAxMTozMjowOSBHTVQ=
|
25
|
+
!binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
|
26
|
+
- !binary |-
|
27
|
+
Kg==
|
28
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
29
|
+
- !binary |-
|
30
|
+
bm8tc3RvcmU=
|
31
|
+
!binary "Q29udGVudC1UeXBl":
|
32
|
+
- !binary |-
|
33
|
+
YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04
|
34
|
+
!binary "Q29udGVudC1MYW5ndWFnZQ==":
|
35
|
+
- !binary |-
|
36
|
+
amEtSlA=
|
37
|
+
!binary "VmFyeQ==":
|
38
|
+
- !binary |-
|
39
|
+
QWNjZXB0LUVuY29kaW5n
|
40
|
+
!binary "Q29udGVudC1FbmNvZGluZw==":
|
41
|
+
- !binary |-
|
42
|
+
Z3ppcA==
|
43
|
+
!binary "Q29udGVudC1MZW5ndGg=":
|
44
|
+
- !binary |-
|
45
|
+
OTIw
|
46
|
+
!binary "Q29ubmVjdGlvbg==":
|
47
|
+
- !binary |-
|
48
|
+
Y2xvc2U=
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAAA51WyU4bQRT8lzlzmJ7FHnMNF6QopwgpijigYCWRCIrIckFI
|
53
|
+
TDcGL4BN2GSIQ1hMzL4YAnjAfEx7tr/I654B5DaHdnywesZy9et6VdVvXPk8
|
54
|
+
NJYe/fpF6X072KO8+zbGnpTeceV9enQs3T+s9Ko90frV0Ke00qso8ePL9Pf0
|
55
|
+
CPw6Af/68HFkGP4HGOPRQxuAhlDS0NpRXg9Q4lC8T8ktJTMUb/M1vDmgZJOS
|
56
|
+
PWEXNDHR8xw0UlU9idqhKTmMIQEb31CyTDFAEoqvKPlDSb0LbJRox/ZOL3iV
|
57
|
+
dwyVZCnJUQJ11yk+kUdVVbMdNcifcdTDmA3AI05f/xtJSBOpKVUgwVutej8P
|
58
|
+
w8wPQPKnbsPMvCSYpqooobeDta7n3MKyvwSMOq27IrWb1J6SPi/SkC52aI31
|
59
|
+
g/HnPK3xKW9SQ/bUppXSUgKRmWWvjINatgvmkCkWt8jbAEJ0vIsCUCjLHEog
|
60
|
+
vUOLJX4oOJrjnhb93B4/8goonHc5F64vBOc1ee1oWrJ9h3B7w1205ZuBkCFw
|
61
|
+
5uR5TSWKd+RlbJoIJYRSmNkAg5E3xSDtfFBcdI9KXSjFEMLmRR9zwgD79qp3
|
62
|
+
blmWKVZeUiyPBQs4tfHficAPLUjOnXWClUNoAXdwne9wDzxG6m45heDoSr69
|
63
|
+
KV2A95vz7vFNjM3CDOp2wt0yBJE8rYZuCUUf7VK7zlEveb8WObbTuq+EZVkD
|
64
|
+
QrmmLjobH0Um5pIqP3gJ1r8YLaRAyTQkcxeOEi1O8TUlVYprPHg5Nt5ifOPo
|
65
|
+
MOylbDsh31Nqhxv8pVrczgdPRG9kURNaQhek5x7/DdedbmRgidqd5KXUHnPT
|
66
|
+
tatuQ1ZZLCsN49lWEThp/fHILE3KsIkT7N/7pWlYuxl5+YI7xE3sPMWY2psU
|
67
|
+
E87o+pMk8Dlf/JaHV5NqZ+KQylPiMCXsxvcy3pLn21I7yNnh+TzNBAWowPdJ
|
68
|
+
Bahgi+K8fzEnrWAzaQkegas54jvKfhZtKzNe9j6C93KFIH/dzWUtTFZw7bNG
|
69
|
+
Avb+7EMmbXBTyo8oSLc65olMsMnw3JmGe3vJe2lTfBbpURLYUDXL7JgFZpil
|
70
|
+
WTgcxPnJWIdv+QlDNTpzKOpfPtJa67rgVyZ50Xn+U5bpBNwkLRJwkGUJk0JY
|
71
|
+
kc9g9hGSvdyE7ruNVTahXRXdUjacXAvO+YCAj6P5sgt4LSHyusDG1JhRx12o
|
72
|
+
Bc2Gt7fx7B06OPEP3pPhCAgMAAA=
|
73
|
+
http_version:
|
74
|
+
recorded_at: Tue, 19 Feb 2013 11:32:09 GMT
|
75
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://app.rakuten.co.jp/services/api/IchibaGenre/Search/20120723?applicationId=16d8dfe13fde99ac5479d789764d2f7a&genreId=0
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- ! '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: !binary |-
|
20
|
+
T0s=
|
21
|
+
headers:
|
22
|
+
!binary "RGF0ZQ==":
|
23
|
+
- !binary |-
|
24
|
+
VHVlLCAxOSBGZWIgMjAxMyAxMzoxNjoyMiBHTVQ=
|
25
|
+
!binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
|
26
|
+
- !binary |-
|
27
|
+
Kg==
|
28
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
29
|
+
- !binary |-
|
30
|
+
bm8tc3RvcmU=
|
31
|
+
!binary "Q29udGVudC1UeXBl":
|
32
|
+
- !binary |-
|
33
|
+
YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04
|
34
|
+
!binary "Q29udGVudC1MYW5ndWFnZQ==":
|
35
|
+
- !binary |-
|
36
|
+
amEtSlA=
|
37
|
+
!binary "VmFyeQ==":
|
38
|
+
- !binary |-
|
39
|
+
QWNjZXB0LUVuY29kaW5n
|
40
|
+
!binary "Q29udGVudC1FbmNvZGluZw==":
|
41
|
+
- !binary |-
|
42
|
+
Z3ppcA==
|
43
|
+
!binary "Q29udGVudC1MZW5ndGg=":
|
44
|
+
- !binary |-
|
45
|
+
OTIw
|
46
|
+
!binary "Q29ubmVjdGlvbg==":
|
47
|
+
- !binary |-
|
48
|
+
Y2xvc2U=
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAAA51WyU4bQRT8lzlzmJ7FHnMNF6QopwgpijigYCWRCIrIckFI
|
53
|
+
TDcGL4BN2GSIQ1hMzL4YAnjAfEx7tr/I654B5DaHdnywesZy9et6VdVvXPk8
|
54
|
+
NJYe/fpF6X072KO8+zbGnpTeceV9enQs3T+s9Ko90frV0Ke00qso8ePL9Pf0
|
55
|
+
CPw6Af/68HFkGP4HGOPRQxuAhlDS0NpRXg9Q4lC8T8ktJTMUb/M1vDmgZJOS
|
56
|
+
PWEXNDHR8xw0UlU9idqhKTmMIQEb31CyTDFAEoqvKPlDSb0LbJRox/ZOL3iV
|
57
|
+
dwyVZCnJUQJ11yk+kUdVVbMdNcifcdTDmA3AI05f/xtJSBOpKVUgwVutej8P
|
58
|
+
w8wPQPKnbsPMvCSYpqooobeDta7n3MKyvwSMOq27IrWb1J6SPi/SkC52aI31
|
59
|
+
g/HnPK3xKW9SQ/bUppXSUgKRmWWvjINatgvmkCkWt8jbAEJ0vIsCUCjLHEog
|
60
|
+
vUOLJX4oOJrjnhb93B4/8goonHc5F64vBOc1ee1oWrJ9h3B7w1205ZuBkCFw
|
61
|
+
5uR5TSWKd+RlbJoIJYRSmNkAg5E3xSDtfFBcdI9KXSjFEMLmRR9zwgD79qp3
|
62
|
+
blmWKVZeUiyPBQs4tfHficAPLUjOnXWClUNoAXdwne9wDzxG6m45heDoSr69
|
63
|
+
KV2A95vz7vFNjM3CDOp2wt0yBJE8rYZuCUUf7VK7zlEveb8WObbTuq+EZVkD
|
64
|
+
QrmmLjobH0Um5pIqP3gJ1r8YLaRAyTQkcxeOEi1O8TUlVYprPHg5Nt5ifOPo
|
65
|
+
MOylbDsh31Nqhxv8pVrczgdPRG9kURNaQhek5x7/DdedbmRgidqd5KXUHnPT
|
66
|
+
tatuQ1ZZLCsN49lWEThp/fHILE3KsIkT7N/7pWlYuxl5+YI7xE3sPMWY2psU
|
67
|
+
E87o+pMk8Dlf/JaHV5NqZ+KQylPiMCXsxvcy3pLn21I7yNnh+TzNBAWowPdJ
|
68
|
+
Bahgi+K8fzEnrWAzaQkegas54jvKfhZtKzNe9j6C93KFIH/dzWUtTFZw7bNG
|
69
|
+
Avb+7EMmbXBTyo8oSLc65olMsMnw3JmGe3vJe2lTfBbpURLYUDXL7JgFZpil
|
70
|
+
WTgcxPnJWIdv+QlDNTpzKOpfPtJa67rgVyZ50Xn+U5bpBNwkLRJwkGUJk0JY
|
71
|
+
kc9g9hGSvdyE7ruNVTahXRXdUjacXAvO+YCAj6P5sgt4LSHyusDG1JhRx12o
|
72
|
+
Bc2Gt7fx7B06OPEP3pPhCAgMAAA=
|
73
|
+
http_version:
|
74
|
+
recorded_at: Tue, 19 Feb 2013 13:16:22 GMT
|
75
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,62 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://app.rakuten.co.jp/services/api/IchibaGenre/Search/20120723?applicationId=16d8dfe13fde99ac5479d789764d2f7a&genreId=551169
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- ! '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: !binary |-
|
20
|
+
T0s=
|
21
|
+
headers:
|
22
|
+
!binary "RGF0ZQ==":
|
23
|
+
- !binary |-
|
24
|
+
VHVlLCAxOSBGZWIgMjAxMyAxMzoyNToxNCBHTVQ=
|
25
|
+
!binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
|
26
|
+
- !binary |-
|
27
|
+
Kg==
|
28
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
29
|
+
- !binary |-
|
30
|
+
bm8tc3RvcmU=
|
31
|
+
!binary "Q29udGVudC1UeXBl":
|
32
|
+
- !binary |-
|
33
|
+
YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04
|
34
|
+
!binary "Q29udGVudC1MYW5ndWFnZQ==":
|
35
|
+
- !binary |-
|
36
|
+
amEtSlA=
|
37
|
+
!binary "VmFyeQ==":
|
38
|
+
- !binary |-
|
39
|
+
QWNjZXB0LUVuY29kaW5n
|
40
|
+
!binary "Q29udGVudC1FbmNvZGluZw==":
|
41
|
+
- !binary |-
|
42
|
+
Z3ppcA==
|
43
|
+
!binary "Q29udGVudC1MZW5ndGg=":
|
44
|
+
- !binary |-
|
45
|
+
MzU4
|
46
|
+
!binary "Q29ubmVjdGlvbg==":
|
47
|
+
- !binary |-
|
48
|
+
Y2xvc2U=
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAAA5WTzUrDQBSF32XWWWSGpGnzBoL4AtJFsYMKtUj92YSAySDU
|
53
|
+
H3BhiRSVorQhQlupRZQG6cNMJ5O8hdPETZNG0t3cC/Pdc+ecMcBxrYWbpydA
|
54
|
+
361KYO+stayAboB93GzhrTrQVRXCUkVKGju1Iwx0wG790Bmye4sSn9pTSqbU
|
55
|
+
nlP7nZK26Cz8m3D0Bf6ubONz3AA6NAX+4LBRFwPEMCMpMpM0lJnEu3botYPv
|
56
|
+
Iet6KSgyTWkdCclQVWC+5uQcEY/1HdEpSI31KavU8OWRd3qJyuIkKENZLa+S
|
57
|
+
uHvHB1d5z/ffpkhdJUXWnLnX7LI4Q9XKKYczrg7jchYbPqH2K+94xfdVZKRp
|
58
|
+
KT9C/4fNXNafcNfaCBbbUErJtZ6pNV74TuGVy6i01srgYbCZGrkCUSq0EfmM
|
59
|
+
Lqyg/xR6M2qPKCHiCTeIhpKKRvCxjFfw1hM/QBiQp69q/gJ1PcPhzwMAAA==
|
60
|
+
http_version:
|
61
|
+
recorded_at: Tue, 19 Feb 2013 13:25:14 GMT
|
62
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,62 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://app.rakuten.co.jp/services/api/IchibaGenre/Search/20120723?applicationId=16d8dfe13fde99ac5479d789764d2f7a&genreId=551172
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- ! '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: !binary |-
|
20
|
+
T0s=
|
21
|
+
headers:
|
22
|
+
!binary "RGF0ZQ==":
|
23
|
+
- !binary |-
|
24
|
+
VHVlLCAxOSBGZWIgMjAxMyAxMzoyNjowMyBHTVQ=
|
25
|
+
!binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
|
26
|
+
- !binary |-
|
27
|
+
Kg==
|
28
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
29
|
+
- !binary |-
|
30
|
+
bm8tc3RvcmU=
|
31
|
+
!binary "Q29udGVudC1UeXBl":
|
32
|
+
- !binary |-
|
33
|
+
YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04
|
34
|
+
!binary "Q29udGVudC1MYW5ndWFnZQ==":
|
35
|
+
- !binary |-
|
36
|
+
amEtSlA=
|
37
|
+
!binary "VmFyeQ==":
|
38
|
+
- !binary |-
|
39
|
+
QWNjZXB0LUVuY29kaW5n
|
40
|
+
!binary "Q29udGVudC1FbmNvZGluZw==":
|
41
|
+
- !binary |-
|
42
|
+
Z3ppcA==
|
43
|
+
!binary "Q29udGVudC1MZW5ndGg=":
|
44
|
+
- !binary |-
|
45
|
+
MzQ5
|
46
|
+
!binary "Q29ubmVjdGlvbg==":
|
47
|
+
- !binary |-
|
48
|
+
Y2xvc2U=
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAAA5XT20rDMBgH8HfJdS+anjb7BoL4ArKL4YoKc0g93JTC2oJU
|
53
|
+
5/BiWJgHsCDasTmVDjZWZA+Tpa1vYVZ306xCc5cE8sv/+/higJO6rrXOToG6
|
54
|
+
Z6zXQDXAgdbSte0GUGUZQmWL+zvYrR9rQAX4Jkq9Ee5ZyImQHSInRPYC2R/I
|
55
|
+
ccnJMuqk71OwvrKjXWhNoELTrHFg/1wvfKAibDyQ9O00cOPZCPcDyhJMIh0e
|
56
|
+
NRvEymJnmxwq8FVBpFF/kEyeCUpxomlyRUYWTMwbyHpC1ngZeSWNLAefN9L5
|
57
|
+
8OduWj5HZkCqlqsu/nJZDCjTOUg/sHtZ3oA85CWFMhZO3Oky5qBr+VwkocfY
|
58
|
+
j0reiG99fP3AaEh5g4TA81c2Q6D6kfrtFdN+WQ3u+H5zdv/FoFSlfwHB8OMb
|
59
|
+
QyBiKFRRy+9ePBuwGRWZymFN0mBeWEvN/AVbYt1hQQQAAA==
|
60
|
+
http_version:
|
61
|
+
recorded_at: Tue, 19 Feb 2013 13:26:03 GMT
|
62
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,56 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://app.rakuten.co.jp/services/api/IchibaItem/Ranking/20120927?applicationId=16d8dfe13fde99ac5479d789764d2f7a&page=0
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- ! '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 400
|
19
|
+
message: !binary |-
|
20
|
+
QmFkIFJlcXVlc3Q=
|
21
|
+
headers:
|
22
|
+
!binary "RGF0ZQ==":
|
23
|
+
- !binary |-
|
24
|
+
VHVlLCAyNiBGZWIgMjAxMyAxMjo1OTo0MyBHTVQ=
|
25
|
+
!binary "QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu":
|
26
|
+
- !binary |-
|
27
|
+
Kg==
|
28
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
29
|
+
- !binary |-
|
30
|
+
bm8tc3RvcmU=
|
31
|
+
!binary "Q29udGVudC1UeXBl":
|
32
|
+
- !binary |-
|
33
|
+
YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04
|
34
|
+
!binary "Q29udGVudC1MYW5ndWFnZQ==":
|
35
|
+
- !binary |-
|
36
|
+
amEtSlA=
|
37
|
+
!binary "VmFyeQ==":
|
38
|
+
- !binary |-
|
39
|
+
QWNjZXB0LUVuY29kaW5n
|
40
|
+
!binary "Q29udGVudC1FbmNvZGluZw==":
|
41
|
+
- !binary |-
|
42
|
+
Z3ppcA==
|
43
|
+
!binary "Q29udGVudC1MZW5ndGg=":
|
44
|
+
- !binary |-
|
45
|
+
ODQ=
|
46
|
+
!binary "Q29ubmVjdGlvbg==":
|
47
|
+
- !binary |-
|
48
|
+
Y2xvc2U=
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAAA6tWSi0qyi9SslIqL8rPS48vSCxKzE0tSS1S0oHIxKekFicX
|
53
|
+
ZRaUZObnAVUVJKanKuSWFpcoJKUq5JelFikYKtUCALM8Y31FAAAA
|
54
|
+
http_version:
|
55
|
+
recorded_at: Tue, 26 Feb 2013 12:59:43 GMT
|
56
|
+
recorded_with: VCR 2.4.0
|