rdmm 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +93 -1
- data/lib/rdmm.rb +3 -0
- data/lib/rdmm/client.rb +10 -0
- data/lib/rdmm/queries/base_query.rb +12 -0
- data/lib/rdmm/queries/list_items_query.rb +0 -12
- data/lib/rdmm/queries/list_series_query.rb +18 -0
- data/lib/rdmm/resources/item_resource.rb +1 -1
- data/lib/rdmm/resources/series_resource.rb +25 -0
- data/lib/rdmm/responses/base_response.rb +5 -0
- data/lib/rdmm/responses/list_series_response.rb +12 -0
- data/lib/rdmm/version.rb +1 -1
- data/rdmm.gemspec +2 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6289605d1e798b6a8f366e25cf6f63875c3743ac
|
4
|
+
data.tar.gz: c59b124de32109ae37ac52ecd5697c0bea4ba7e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9d5ea11c99520cfa18b3e3fe54fad37a138b27ed627bc4e1a341e86ebb65a73f20db2511edadc7e4b1d526b79893e6a0dbeaabc99d40050b8a380405f3944a8
|
7
|
+
data.tar.gz: b01ec990480a19e638c914c3be2f52fa8c0d306b7c815d17f2ebe9c96a56f58b76c9fb86a3a7fd15f49599802d2d149264fc747cf0720663fdea662ea92c96b9
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Rdmm
|
2
2
|
|
3
|
+
[](https://circleci.com/gh/r7kamura/rdmm)
|
4
|
+
[](https://rubygems.org/gems/rdmm)
|
5
|
+
[](http://www.rubydoc.info/github/r7kamura/rdmm)
|
6
|
+
|
3
7
|
An API Client library for DMM written in Ruby.
|
4
8
|
|
5
9
|
## Requirements
|
@@ -59,6 +63,72 @@ client.list_items(site: "DMM.com")
|
|
59
63
|
|
60
64
|
`https://api.dmm.com/affiliate/v3/ItemList?affiliate_id=dummy&api_id=dummy&site=DMM.com`
|
61
65
|
|
66
|
+
### Rdmm::Client#list_series
|
67
|
+
|
68
|
+
Available options:
|
69
|
+
|
70
|
+
- `:floor_id`
|
71
|
+
- `:hits`
|
72
|
+
- `:initial`
|
73
|
+
- `:offset`
|
74
|
+
|
75
|
+
```ruby
|
76
|
+
client.list_series(floor_id: 27)
|
77
|
+
```
|
78
|
+
|
79
|
+
`https://api.dmm.com/affiliate/v3/SeriesSearch?affiliate_id=dummy&api_id=dummy&site=DMM.com&floor_id=27`
|
80
|
+
|
81
|
+
### Rdmm::Responses::BaseResponse#each
|
82
|
+
|
83
|
+
This class implements `Enumerable` module.
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
client.list_items(site: "DMM.com").map(&:title)
|
87
|
+
```
|
88
|
+
|
89
|
+
<details>
|
90
|
+
<summary>output</summary>
|
91
|
+
|
92
|
+
```ruby
|
93
|
+
["キングダム",
|
94
|
+
"ハドソン川の奇跡",
|
95
|
+
"ミュージカル『刀剣乱舞』 〜真剣乱舞祭 2016〜",
|
96
|
+
"back number/アンコール",
|
97
|
+
"パンフレット 舞台『刀剣乱舞』虚伝 燃ゆる本能寺(再演)",
|
98
|
+
"終末のハーレム セミカラー版",
|
99
|
+
"VOICEROID+ 東北きりたん EX ダウンロード版",
|
100
|
+
"CHAOS;CHILD",
|
101
|
+
"【8〜14泊】Travel house 軽量 TSAロック付き 4輪 93L スーツケース レッド",
|
102
|
+
"ミュージカル『刀剣乱舞』真剣乱舞祭 2016 (ブルーレイディスク)",
|
103
|
+
"シン・ゴジラ",
|
104
|
+
"東京タラレバ娘",
|
105
|
+
"舞台『刀剣乱舞』虚伝 燃ゆる本能寺 〜再演〜",
|
106
|
+
"キングダム",
|
107
|
+
"宇多田ヒカル/Fantome(SHM-CD)",
|
108
|
+
"エルダー・スクロールズ・オンライン 日本語版 (インペリアルエディション)",
|
109
|
+
"自炊・電子書籍化キット プラス裁断機PK-513L&ScanSnap iX500 FI-IX500A",
|
110
|
+
"VOICEROID+ 結月ゆかり EX ダウンロード版",
|
111
|
+
"映画 闇金ウシジマくんthe Final",
|
112
|
+
"トレーディングブロマイド 25枚セット 舞台『刀剣乱舞』虚伝 燃ゆる本能寺(再演)"]
|
113
|
+
```
|
114
|
+
|
115
|
+
</details>
|
116
|
+
|
117
|
+
### Rdmm::Responses::BaseResponse#total_count
|
118
|
+
|
119
|
+
```ruby
|
120
|
+
client.list_items(site: "DMM.com").total_count
|
121
|
+
```
|
122
|
+
|
123
|
+
<details>
|
124
|
+
<summary>output</summary>
|
125
|
+
|
126
|
+
```ruby
|
127
|
+
50000
|
128
|
+
```
|
129
|
+
|
130
|
+
</details>
|
131
|
+
|
62
132
|
### Rdmm::Resources::ItemResource
|
63
133
|
|
64
134
|
Available attributes:
|
@@ -80,7 +150,7 @@ Available attributes:
|
|
80
150
|
- `released_at`
|
81
151
|
- `review_avarage`
|
82
152
|
- `review_count`
|
83
|
-
- `
|
153
|
+
- `series`
|
84
154
|
- `service_code`
|
85
155
|
- `service_name`
|
86
156
|
- `title`
|
@@ -99,3 +169,25 @@ client.list_items(site: "DMM.com").first.title
|
|
99
169
|
```
|
100
170
|
|
101
171
|
</details>
|
172
|
+
|
173
|
+
### Rdmm::Resources::SeriesResource
|
174
|
+
|
175
|
+
Available attributes:
|
176
|
+
|
177
|
+
- `list_url`
|
178
|
+
- `name`
|
179
|
+
- `ruby`
|
180
|
+
- `series_id`
|
181
|
+
|
182
|
+
```ruby
|
183
|
+
client.list_series(floor_id: 27).first.name
|
184
|
+
```
|
185
|
+
|
186
|
+
<details>
|
187
|
+
<summary>output</summary>
|
188
|
+
|
189
|
+
```ruby
|
190
|
+
"二四〇九階の彼女"
|
191
|
+
```
|
192
|
+
|
193
|
+
</details>
|
data/lib/rdmm.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
require "rdmm/client"
|
2
2
|
require "rdmm/queries/base_query"
|
3
3
|
require "rdmm/queries/list_items_query"
|
4
|
+
require "rdmm/queries/list_series_query"
|
4
5
|
require "rdmm/resources/base_resource"
|
5
6
|
require "rdmm/resources/item_resource"
|
7
|
+
require "rdmm/resources/series_resource"
|
6
8
|
require "rdmm/responses/base_response"
|
7
9
|
require "rdmm/responses/list_items_response"
|
10
|
+
require "rdmm/responses/list_series_response"
|
8
11
|
require "rdmm/version"
|
data/lib/rdmm/client.rb
CHANGED
@@ -5,6 +5,7 @@ module Rdmm
|
|
5
5
|
class Client
|
6
6
|
BASE_URL = "https://api.dmm.com"
|
7
7
|
PATH_TO_LIST_ITEMS = "/affiliate/v3/ItemList"
|
8
|
+
PATH_TO_LIST_SERIES = "/affiliate/v3/SeriesSearch"
|
8
9
|
|
9
10
|
# @param affiliate_id [String]
|
10
11
|
# @param api_id [String]
|
@@ -31,6 +32,15 @@ module Rdmm
|
|
31
32
|
::Rdmm::Responses::ListItemsResponse.new(faraday_response)
|
32
33
|
end
|
33
34
|
|
35
|
+
# @param options [Hash]
|
36
|
+
# @return [Rdmm::Responses::ListSeriesResponse]
|
37
|
+
def list_series(options = {})
|
38
|
+
query_options = default_query_options.merge(options)
|
39
|
+
query = ::Rdmm::Queries::ListSeriesQuery.new(query_options)
|
40
|
+
faraday_response = get(PATH_TO_LIST_SERIES, query.to_hash)
|
41
|
+
::Rdmm::Responses::ListSeriesResponse.new(faraday_response)
|
42
|
+
end
|
43
|
+
|
34
44
|
private
|
35
45
|
|
36
46
|
# @return [Hash]
|
@@ -22,6 +22,8 @@ module Rdmm
|
|
22
22
|
|
23
23
|
property :affiliate_id
|
24
24
|
property :api_id
|
25
|
+
property :hits
|
26
|
+
property :offset
|
25
27
|
|
26
28
|
# @param options [Hash]
|
27
29
|
def initialize(options = {})
|
@@ -38,6 +40,16 @@ module Rdmm
|
|
38
40
|
options[:api_id]
|
39
41
|
end
|
40
42
|
|
43
|
+
# @return [Integer, nil]
|
44
|
+
def hits
|
45
|
+
options[:hits]
|
46
|
+
end
|
47
|
+
|
48
|
+
# @return [Integer, nil]
|
49
|
+
def offset
|
50
|
+
options[:offset]
|
51
|
+
end
|
52
|
+
|
41
53
|
# @return [Hash]
|
42
54
|
def to_hash
|
43
55
|
self.class.property_names.each_with_object({}) do |property_name, result|
|
@@ -6,11 +6,9 @@ module Rdmm
|
|
6
6
|
property :cid
|
7
7
|
property :floor
|
8
8
|
property :gte_date
|
9
|
-
property :hits
|
10
9
|
property :keyword
|
11
10
|
property :lte_date
|
12
11
|
property :mono_stock
|
13
|
-
property :offset
|
14
12
|
property :service
|
15
13
|
property :site
|
16
14
|
property :sort
|
@@ -49,11 +47,6 @@ module Rdmm
|
|
49
47
|
end
|
50
48
|
end
|
51
49
|
|
52
|
-
# @return [Integer, nil]
|
53
|
-
def hits
|
54
|
-
options[:hits]
|
55
|
-
end
|
56
|
-
|
57
50
|
# @return [String, nil]
|
58
51
|
def keyword
|
59
52
|
options[:keyword]
|
@@ -76,11 +69,6 @@ module Rdmm
|
|
76
69
|
options[:mono_stock]
|
77
70
|
end
|
78
71
|
|
79
|
-
# @return [Integer, nil]
|
80
|
-
def offset
|
81
|
-
options[:offset]
|
82
|
-
end
|
83
|
-
|
84
72
|
# @note service code
|
85
73
|
# @return [String, nil]
|
86
74
|
def service
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Rdmm
|
2
|
+
module Queries
|
3
|
+
class ListSeriesQuery < BaseQuery
|
4
|
+
property :floor_id
|
5
|
+
property :initial
|
6
|
+
|
7
|
+
# @return [Integer, nil]
|
8
|
+
def floor_id
|
9
|
+
options[:floor_id]
|
10
|
+
end
|
11
|
+
|
12
|
+
# @return [String, nil]
|
13
|
+
def initial
|
14
|
+
options[:initial]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Rdmm
|
2
|
+
module Resources
|
3
|
+
class SeriesResource < BaseResource
|
4
|
+
# @return [String]
|
5
|
+
def list_url
|
6
|
+
source["list_url"]
|
7
|
+
end
|
8
|
+
|
9
|
+
# @return [String]
|
10
|
+
def name
|
11
|
+
source["name"]
|
12
|
+
end
|
13
|
+
|
14
|
+
# @return [String]
|
15
|
+
def ruby
|
16
|
+
source["ruby"]
|
17
|
+
end
|
18
|
+
|
19
|
+
# @return [Integer]
|
20
|
+
def series_id
|
21
|
+
source["series_id"]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/rdmm/version.rb
CHANGED
data/rdmm.gemspec
CHANGED
@@ -9,6 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.email = ["r7kamura@gmail.com"]
|
10
10
|
spec.summary = "An API Client library for DMM written in Ruby."
|
11
11
|
spec.homepage = "https://github.com/r7kamura/rdmm"
|
12
|
+
spec.license = "MIT"
|
12
13
|
|
13
14
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
14
15
|
f.match(%r{^(test|spec|features)/})
|
@@ -17,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
17
18
|
|
18
19
|
spec.add_dependency "faraday"
|
19
20
|
spec.add_dependency "faraday_middleware"
|
20
|
-
spec.add_development_dependency "bundler", "~> 1.
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.13"
|
21
22
|
spec.add_development_dependency "pry"
|
22
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
24
|
spec.add_development_dependency "rspec", "~> 3.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdmm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryo Nakamura
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.13'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.13'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,14 +112,18 @@ files:
|
|
112
112
|
- lib/rdmm/client.rb
|
113
113
|
- lib/rdmm/queries/base_query.rb
|
114
114
|
- lib/rdmm/queries/list_items_query.rb
|
115
|
+
- lib/rdmm/queries/list_series_query.rb
|
115
116
|
- lib/rdmm/resources/base_resource.rb
|
116
117
|
- lib/rdmm/resources/item_resource.rb
|
118
|
+
- lib/rdmm/resources/series_resource.rb
|
117
119
|
- lib/rdmm/responses/base_response.rb
|
118
120
|
- lib/rdmm/responses/list_items_response.rb
|
121
|
+
- lib/rdmm/responses/list_series_response.rb
|
119
122
|
- lib/rdmm/version.rb
|
120
123
|
- rdmm.gemspec
|
121
124
|
homepage: https://github.com/r7kamura/rdmm
|
122
|
-
licenses:
|
125
|
+
licenses:
|
126
|
+
- MIT
|
123
127
|
metadata: {}
|
124
128
|
post_install_message:
|
125
129
|
rdoc_options: []
|