ruby-dmm 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ruby-dmm/response/item.rb +22 -24
- data/lib/ruby-dmm/version.rb +1 -1
- data/spec/response/item_spec.rb +25 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05ff67107c04c13451281c2ddce1037f703bc594
|
4
|
+
data.tar.gz: c169bc92ef677da3de5b75d02d93b3bd09cf19da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8c039f51ec9c66217dfba522a124fb1550269ba32178d4c9c7efd7bf9e3a1b02b52e935c76819162266c37d4408fbbe3cb9d539648fa37b3f79a61bf322fc89
|
7
|
+
data.tar.gz: 032538ccbf823e0698bf0e280b37b47f1cd29a0ce7421ebdf4523bfa333c0bb86ce3d361a6527f2dbf8fb07283000b9ee67aa61fab7ca9d457b56da8127134b6
|
@@ -4,41 +4,29 @@ require 'ruby-dmm/response/item_info'
|
|
4
4
|
module DMM
|
5
5
|
class Response
|
6
6
|
class Item
|
7
|
-
|
8
|
-
|
9
|
-
:affiliate_url_sp,
|
10
|
-
:bandaiinfo,
|
11
|
-
:category_name,
|
12
|
-
:cdinfo,
|
13
|
-
:content_id,
|
14
|
-
:floor_name,
|
15
|
-
:isbn,
|
16
|
-
:jancode,
|
17
|
-
:maker_product,
|
18
|
-
:product_id,
|
19
|
-
:service_name,
|
20
|
-
:stock,
|
21
|
-
:title,
|
22
|
-
:url,
|
23
|
-
:url_sp,
|
24
|
-
]
|
25
|
-
attr_reader *KEYS
|
26
|
-
attr_reader *[
|
7
|
+
|
8
|
+
PREDEFINED_KEYS = [
|
27
9
|
:date,
|
28
10
|
:iteminfo,
|
29
|
-
:large_images,
|
30
11
|
:list_price,
|
31
12
|
:price,
|
32
13
|
:price_all,
|
33
14
|
:prices,
|
34
15
|
:small_images,
|
35
16
|
]
|
36
|
-
|
37
|
-
|
38
|
-
|
17
|
+
attr_reader *PREDEFINED_KEYS
|
18
|
+
alias_method :item_info, :iteminfo
|
19
|
+
alias_method :info, :iteminfo
|
20
|
+
|
21
|
+
ALIAS_METHOD_MAP = {
|
22
|
+
:bandaiinfo => :bandai_info,
|
23
|
+
:cdinfo => :cd_info,
|
24
|
+
:image_url => :images,
|
25
|
+
}
|
39
26
|
|
40
27
|
def initialize(item)
|
41
28
|
item.each do |key, value|
|
29
|
+
key = key.to_sym
|
42
30
|
case key
|
43
31
|
when :date
|
44
32
|
@date = Time.parse(value) if value
|
@@ -49,6 +37,16 @@ module DMM
|
|
49
37
|
when :prices
|
50
38
|
setup_prices(value) if value
|
51
39
|
else
|
40
|
+
self.class.class_eval do
|
41
|
+
unless method_defined?(key)
|
42
|
+
define_method "#{key}" do
|
43
|
+
instance_variable_get("@#{key}")
|
44
|
+
end
|
45
|
+
if name = ALIAS_METHOD_MAP[key.to_sym]
|
46
|
+
alias_method name, key.to_sym
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
52
50
|
instance_variable_set("@#{key}", item[key])
|
53
51
|
end
|
54
52
|
end
|
data/lib/ruby-dmm/version.rb
CHANGED
data/spec/response/item_spec.rb
CHANGED
@@ -7,10 +7,21 @@ describe DMM::Response::Item do
|
|
7
7
|
@item = DMM::new.item_list.result.items.first
|
8
8
|
end
|
9
9
|
|
10
|
-
describe '
|
11
|
-
subject { @item }
|
12
|
-
|
13
|
-
|
10
|
+
describe '#images' do
|
11
|
+
subject { @item.images }
|
12
|
+
it { should be }
|
13
|
+
its([:list]) { should == 'http://pics.dmm.com/mono/movie/n_616dlr22659/n_616dlr22659pt.jpg' }
|
14
|
+
its([:small]) { should == 'http://pics.dmm.com/mono/movie/n_616dlr22659/n_616dlr22659ps.jpg' }
|
15
|
+
its([:large]) { should == 'http://pics.dmm.com/mono/movie/n_616dlr22659/n_616dlr22659pl.jpg' }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'define alias methods' do
|
19
|
+
subject do
|
20
|
+
item = DMM::Response::Item::ALIAS_METHOD_MAP.keys.inject({}) {|h, key| h.merge(key => 1) }
|
21
|
+
DMM::Response::Item.new(item)
|
22
|
+
end
|
23
|
+
DMM::Response::Item::ALIAS_METHOD_MAP.values.each do |name|
|
24
|
+
it { should respond_to(name) }
|
14
25
|
end
|
15
26
|
end
|
16
27
|
|
@@ -27,4 +38,14 @@ describe DMM::Response::Item do
|
|
27
38
|
end
|
28
39
|
its(:large_images) { should == ["http://pics.dmm.co.jp/digital/video/aaa00000/aaa00000jp-9.jpg"] }
|
29
40
|
end
|
41
|
+
|
42
|
+
describe 'define method for any keys' do
|
43
|
+
subject do
|
44
|
+
item = {
|
45
|
+
:not_defined_key => true,
|
46
|
+
}
|
47
|
+
DMM::Response::Item.new(item)
|
48
|
+
end
|
49
|
+
it { should respond_to(:not_defined_key) }
|
50
|
+
end
|
30
51
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-dmm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- meganemura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|