ruby-dmm 0.0.2 → 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2a6e6e12edc2a021c9f0ffcd0895c236db8041e3
4
+ data.tar.gz: 757a0090abafc27a1ea40e268af48ccdf0381689
5
+ SHA512:
6
+ metadata.gz: 6efafa077e8c66db1c2255b3081375821a46f7b9cb6b25f75336e11fdbb5ad34fe4d0a176aeec6216a23d71efb42d74789cfe29d5b32d2b2643e656472c8eb21
7
+ data.tar.gz: 9d8885b17c2dc35f9992a5d78acb355d292f6e46309daf01805d3ac5a6e95841b83676e51271eda91dc04b5001bc6119718774da8fa7cd4b102158b021812ff8
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
1
  --color
2
- --format progress
2
+ --order random
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ bundler_args: --without development
2
+ language: ruby
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
data/Gemfile CHANGED
@@ -1,2 +1,17 @@
1
1
  source 'https://rubygems.org'
2
+
3
+ group :development, :test do
4
+ gem 'rake'
5
+ gem 'rspec', '>= 2.11'
6
+ gem 'webmock'
7
+ gem 'pry'
8
+ gem 'guard-rspec'
9
+ gem 'ox'
10
+ end
11
+
12
+ group :test do
13
+ gem 'coveralls', :require => false
14
+ gem 'simplecov', :require => false
15
+ end
16
+
2
17
  gemspec
data/Guardfile CHANGED
@@ -1,8 +1,10 @@
1
1
  # vim: ts=2 sts=2 et sw=2 ft=ruby
2
2
 
3
+ ENV['GUARD_TEST'] = "true"
4
+
3
5
  guard 'rspec', :all_after_pass => false, :all_on_start => false do
4
6
  watch(%r{spec/.+_spec\.rb$})
5
7
  watch(%r{lib/(.+)\.rb$}) {|m| "spec/#{m[1]}_spec.rb"}
6
- watch(%r{lib/(.+)/.+\.rb$}) {|m| "spec/#{m[1]}_spec.rb"}
8
+ watch(%r{lib/(.+)/.+\.rb$}) {|m| "spec/#{m[1]}/#{m[2]}_spec.rb"}
7
9
  end
8
10
 
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # ruby-dmm [![Build Status](https://travis-ci.org/meganemura/ruby-dmm.png?branch=master)](https://travis-ci.org/meganemura/ruby-dmm)
1
+ # ruby-dmm
2
+ [![Gem Version](https://badge.fury.io/rb/ruby-dmm.png)](http://badge.fury.io/rb/ruby-dmm) [![Build Status](https://travis-ci.org/meganemura/ruby-dmm.png?branch=master)](https://travis-ci.org/meganemura/ruby-dmm) [![Coverage Status](https://coveralls.io/repos/meganemura/ruby-dmm/badge.png?branch=master)](https://coveralls.io/r/meganemura/ruby-dmm?branch=master) [![Code Climate](https://codeclimate.com/github/meganemura/ruby-dmm.png)](https://codeclimate.com/github/meganemura/ruby-dmm) [![Dependency Status](https://gemnasium.com/meganemura/ruby-dmm.png)](https://gemnasium.com/meganemura/ruby-dmm)
2
3
 
3
4
  Client for the DMM Web Service API 2.0.
4
5
 
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  module DMM
3
+
3
4
  OPERATION_ITEM_LIST = 'ItemList'
4
5
 
5
6
  class Client
@@ -14,21 +15,28 @@ module DMM
14
15
  end
15
16
  alias :items :item_list
16
17
 
17
- [:service,
18
- :floor,
19
- :hits,
20
- :offset,
21
- :sort,
22
- :keyword,
23
- :mono_stock].each do |key|
18
+ ITEM_LIST_PARAMETERS = [
19
+ :floor,
20
+ :hits,
21
+ :keyword,
22
+ :mono_stock,
23
+ :offset,
24
+ :service,
25
+ :sort,
26
+ ].freeze
27
+
28
+ ITEM_LIST_PARAMETERS.each do |key|
24
29
  next if method_defined?(key)
30
+
25
31
  define_method(key) do |value|
26
- self.tap {|o| o.params.update(key => value) }
32
+ @params.update(key => value)
27
33
  end
28
34
  end
35
+
29
36
  alias :limit :hits
30
37
  alias :order :sort
31
38
  alias :stock :mono_stock
32
39
  end
40
+
33
41
  end
34
42
  end
@@ -8,51 +8,64 @@ require 'ruby-dmm/response'
8
8
  require 'ruby-dmm/client/item_list'
9
9
 
10
10
  module DMM
11
+
11
12
  DEFAULT_API_VERSION = '2.00'.freeze
12
13
  SITE_DMM_CO_JP = 'DMM.co.jp'.freeze
13
14
  SITE_DMM_COM = 'DMM.com'.freeze
14
15
  DEFAULT_SITE = SITE_DMM_CO_JP
15
16
 
16
17
  class Client
17
- attr_accessor(*Configuration::VALID_OPTIONS_KEYS)
18
+
19
+ include DMM::Client::ItemList
20
+
21
+ attr_accessor *Configuration::VALID_OPTIONS_KEYS
18
22
  attr_accessor :params
19
23
 
20
24
  def initialize(params={})
21
- params = params.inject({}) {|hash, (key, value)| hash.merge({key.to_sym => value})}
25
+ DMM.options.each do |key, value|
26
+ # fall back to `DMM::Configuration` module defaults
27
+ send("#{key}=", params[key] || value)
28
+ end
29
+
30
+ # Symbolize keys
31
+ params = params.inject({}) do |hash, (key, value)|
32
+ hash.merge(key.to_sym => value)
33
+ end
34
+
22
35
  @params = {
23
- :api_id => params[:api_id], # your own api_id
24
- :affiliate_id => params[:affiliate_id], # your own api_id
25
- :operation => nil, # "ItemList" is only available now.
36
+ :api_id => ENV['DMM_API_ID'] || params[:api_id], # your own api_id
37
+ :affiliate_id => ENV['DMM_AFFILIATE_ID'] || params[:affiliate_id], # your own affiliate_id
38
+ :operation => nil,
26
39
  :version => DEFAULT_API_VERSION,
27
40
  :timestamp => Time.now.strftime("%F %T"),
28
41
  :site => DEFAULT_SITE,
29
- :result_only => false, # Set true to get only response.result.
42
+ :result_only => false, # Set true to get response.result only.
30
43
  }.merge(params)
31
-
32
- DMM.options.each {|key, value| send("#{key}=", value) }
33
44
  end
34
45
 
35
46
  def operation(value)
36
- self.tap {|o| o.params.update(:operation => value) }
47
+ @params.update(:operation => value)
37
48
  end
38
49
 
39
50
  def all
40
51
  @params[:operation] ? get('/', @params) : nil
41
52
  end
42
53
 
43
- include DMM::Client::ItemList
54
+ def last_response
55
+ @last_response
56
+ end
44
57
 
45
58
  private
46
59
 
47
60
  def get(path, options={})
48
61
  encode_params!
49
- response = connection.get('/', options)
50
- response.body
62
+ @last_response = connection.get('/', options)
63
+ @last_response.body
51
64
  end
52
65
 
53
66
  def connection(options={})
54
67
  # TODO: not to create on every request.
55
- Faraday.new(api_endpoint, options) do |faraday|
68
+ connection = Faraday.new(api_endpoint, options) do |faraday|
56
69
  faraday.adapter(adapter)
57
70
  faraday.request(:url_encoded)
58
71
  faraday.response(:xml, :content_type => "text/xml; charset=euc-jp")
@@ -60,6 +73,8 @@ module DMM
60
73
  faraday.use(FaradayMiddleware::ParseXml)
61
74
  faraday.use(Faraday::Response::RaiseDMMError)
62
75
  end
76
+ connection.headers[:user_agent] = user_agent
77
+ connection
63
78
  end
64
79
 
65
80
  def encode_params!
@@ -13,9 +13,9 @@ module DMM
13
13
 
14
14
  DEFAULT_ADAPTER = Faraday.default_adapter
15
15
  DEFAULT_USER_AGENT = "ruby-dmm gem #{DMM::VERSION}".freeze
16
- DEFAULT_API_ENDPOINT = ENV['DMM_API_ENDPOINT'] || 'http://affiliate-api.dmm.com'
16
+ DEFAULT_API_ENDPOINT = ENV['DMM_API_ENDPOINT'] || 'http://affiliate-api.dmm.com'.freeze
17
17
 
18
- attr_accessor(*VALID_OPTIONS_KEYS)
18
+ attr_accessor *VALID_OPTIONS_KEYS
19
19
 
20
20
  def self.extended(base)
21
21
  base.reset
@@ -26,7 +26,7 @@ module DMM
26
26
  end
27
27
 
28
28
  def options
29
- VALID_OPTIONS_KEYS.inject({}) {|h, k| h.merge!(k => send(k)) };
29
+ VALID_OPTIONS_KEYS.inject({}) {|h, k| h.merge(k => send(k)) };
30
30
  end
31
31
 
32
32
  def api_endpoint=(value)
@@ -4,60 +4,71 @@ require 'ruby-dmm/response/item_info'
4
4
  module DMM
5
5
  class Response
6
6
  class Item
7
- ITEM_KEYS = [
8
- :title,
9
- :service_name,
10
- :floor_name,
11
- :category_name,
12
- :content_id,
13
- :product_id,
14
- :url,
7
+ KEYS = [
15
8
  :affiliate_url,
16
9
  :affiliate_url_sp,
17
- :url_sp,
18
- :jancode,
19
- :maker_product,
20
- :stock,
21
10
  :bandaiinfo,
11
+ :category_name,
22
12
  :cdinfo,
13
+ :content_id,
14
+ :floor_name,
23
15
  :isbn,
16
+ :jancode,
17
+ :maker_product,
18
+ :product_id,
19
+ :service_name,
20
+ :stock,
21
+ :title,
22
+ :url,
23
+ :url_sp,
24
24
  ]
25
- attr_reader *ITEM_KEYS
25
+ attr_reader *KEYS
26
26
  attr_reader *[
27
+ :date,
27
28
  :iteminfo,
29
+ :large_images,
30
+ :list_price,
28
31
  :price,
29
- :prices,
30
32
  :price_all,
31
- :list_price,
32
- :date,
33
+ :prices,
33
34
  :small_images,
34
- :large_images,
35
35
  ]
36
- alias :item_info :iteminfo
37
36
  alias :bandai_info :bandaiinfo
38
37
  alias :cd_info :cdinfo
38
+ alias :item_info :iteminfo
39
39
 
40
40
  def initialize(item)
41
- ITEM_KEYS.each do |key|
42
- instance_variable_set("@#{key}", item[key])
43
- end
44
- @date = Time.parse(item[:date])
45
-
46
- if item[:prices]
47
- @price = item[:prices][:price]
48
- @list_prices = item[:prices][:list_price]
49
- @price_all = item[:prices][:price_all]
50
- @prices = item[:prices][:deliveries] && [item[:prices][:deliveries][:delivery]].flatten.inject({}) do |hash, params|
51
- hash.merge(params[:type] => params[:price].to_i)
41
+ item.each do |key, value|
42
+ case key
43
+ when :date
44
+ @date = Time.parse(value) if value
45
+ when :iteminfo
46
+ @iteminfo = ItemInfo.new(value) if value
47
+ when :sample_image_url
48
+ @small_images = value[:sample_s][:image] if value
49
+ when :prices
50
+ setup_prices(value) if value
51
+ else
52
+ instance_variable_set("@#{key}", item[key])
52
53
  end
53
54
  end
55
+ end
54
56
 
55
- if item[:sample_image_url]
56
- @small_images = item[:sample_image_url][:sample_s][:image]
57
- @large_images = @small_images.map {|image| image.gsub(/(-[0-9]+\.jpg)/, 'jp\1') }
57
+ def large_images
58
+ @small_images && @small_images.map do |image|
59
+ image.gsub(/(-[0-9]+\.jpg)/, 'jp\1')
58
60
  end
61
+ end
59
62
 
60
- @iteminfo = ItemInfo.new(item[:iteminfo])
63
+ private
64
+
65
+ def setup_prices(prices)
66
+ @price = prices[:price]
67
+ @list_prices = prices[:list_price]
68
+ @price_all = prices[:price_all]
69
+ @prices = prices[:deliveries] && [prices[:deliveries][:delivery]].flatten.inject({}) do |hash, params|
70
+ hash.merge(params[:type] => params[:price].to_i)
71
+ end
61
72
  end
62
73
  end
63
74
  end
@@ -2,24 +2,34 @@
2
2
  module DMM
3
3
  class Response
4
4
  class ItemInfo
5
- ATTRIBUTE_SINGLE = [:series, :maker, :label, :director, :author, :type, :size, :genre, :color]
6
- ATTRIBUTE_MULTIPLE = {
7
- :keywords => :keyword,
8
- :actresses => :actress,
5
+ SINGLE_VALUE_ATTRIBUTES = [
6
+ :author,
7
+ :color,
8
+ :director,
9
+ :genre,
10
+ :label,
11
+ :maker,
12
+ :series,
13
+ :size,
14
+ :type,
15
+ ]
16
+ MULTIPLE_VALUES_ATTRIBUTES = {
9
17
  :actors => :actor,
18
+ :actresses => :actress,
10
19
  :artists => :artist,
11
20
  :fighters => :fighter,
21
+ :keywords => :keyword,
12
22
  }
13
- attr_reader *ATTRIBUTE_SINGLE
14
- attr_reader *ATTRIBUTE_MULTIPLE.keys
23
+ attr_reader *SINGLE_VALUE_ATTRIBUTES
24
+ attr_reader *MULTIPLE_VALUES_ATTRIBUTES.keys
15
25
 
16
26
  def initialize(item_info)
17
- ATTRIBUTE_SINGLE.inject({}) {|h,k| h.merge(k => k)}.merge({}).each do |attribute, key|
27
+ SINGLE_VALUE_ATTRIBUTES.inject({}) {|h,k| h.merge(k => k)}.merge({}).each do |attribute, key|
18
28
  value = self.class.integrate(item_info[key])
19
29
  value = value.first if value
20
30
  instance_variable_set("@#{attribute}", value)
21
31
  end
22
- ATTRIBUTE_MULTIPLE.each do |attribute, key|
32
+ MULTIPLE_VALUES_ATTRIBUTES.each do |attribute, key|
23
33
  value = self.class.integrate(item_info[key])
24
34
  instance_variable_set("@#{attribute}", value)
25
35
  end
@@ -7,20 +7,32 @@ module DMM
7
7
 
8
8
  def initialize(response)
9
9
  @request = response[:request][:parameters][:parameter].inject({}) {|hash, params| hash.merge(params[:name].to_sym => params[:value]) }
10
- @result = DMM::Response::Result.new(response[:result])
10
+ if response[:result][:message] && response[:result][:errors]
11
+ @result = response[:result]
12
+ else
13
+ @result = DMM::Response::Result.new(response[:result])
14
+ end
11
15
  end
12
16
 
13
17
  class Result
14
- RESULT_KEYS = [:result_count, :total_count, :first_position, :items]
18
+ RESULT_KEYS = [
19
+ :first_position,
20
+ :items,
21
+ :result_count,
22
+ :total_count,
23
+ ]
15
24
  attr_reader *RESULT_KEYS
16
25
 
17
26
  def initialize(result)
18
- (RESULT_KEYS - [:items]).each do |key|
19
- instance_variable_set("@#{key}", result[key].to_i)
20
- end
21
-
22
- @items = [result[:items][:item]].flatten.map do |item|
23
- DMM::Response::Item.new(item)
27
+ RESULT_KEYS.each do |key|
28
+ case key
29
+ when :items
30
+ @items = [result[:items][:item]].flatten.map do |item|
31
+ DMM::Response::Item.new(item)
32
+ end
33
+ else
34
+ instance_variable_set("@#{key}", result[key].to_i)
35
+ end
24
36
  end
25
37
  end
26
38
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module DMM
3
- VERSION = "0.0.2"
3
+ VERSION = "0.1.0"
4
4
  end
data/ruby-dmm.gemspec CHANGED
@@ -16,15 +16,11 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
+ gem.licenses = ["MIT"]
20
+ gem.homepage = 'https://github.com/meganemura/ruby-dmm'
19
21
 
20
22
  gem.add_dependency('faraday', '~> 0.8')
21
23
  gem.add_dependency('faraday_middleware')
22
24
  gem.add_dependency('multi_xml')
23
25
  gem.add_dependency('rash')
24
- gem.add_development_dependency('rake')
25
- gem.add_development_dependency('rspec')
26
- gem.add_development_dependency('webmock')
27
- gem.add_development_dependency('pry')
28
- gem.add_development_dependency('guard-rspec')
29
- gem.add_development_dependency('ox')
30
26
  end
data/spec/client_spec.rb CHANGED
@@ -4,14 +4,23 @@ require "spec_helper"
4
4
  describe DMM::Client do
5
5
  describe ".item_list" do
6
6
  fixtures.each do |fixture|
7
- before :all do
7
+ it "returns response for #{fixture.split('.').first}" do
8
8
  stub_get.to_return(xml_response(fixture))
9
9
  @item_list = DMM::Client.new.item_list
10
- end
11
-
12
- it "returns response for #{fixture.split('.').first}" do
13
10
  @item_list.should_not be_nil
14
11
  end
15
12
  end
16
13
  end
14
+
15
+ describe "#last_response" do
16
+ before do
17
+ stub_get.to_return(xml_response(random_fixture))
18
+ @client = DMM::Client.new(:result_only => false)
19
+ @item_list = @client.item_list
20
+ end
21
+
22
+ it "returns last response" do
23
+ @client.last_response.should_not be_nil
24
+ end
25
+ end
17
26
  end
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="euc-jp"?>
2
+ <response>
3
+ <request>
4
+ <parameters>
5
+ <parameter name="api_id" value="XXXXXXXXXXXXXXXXXXXX" />
6
+ <parameter name="affiliate_id" value="xxxxx-990" />
7
+ <parameter name="operation" value="ItemList" />
8
+ <parameter name="version" value="2.00" />
9
+ <parameter name="timestamp" value="2013-01-01 00:00:00 +0900" />
10
+ <parameter name="site" value="DMM.co.jp" />
11
+ <parameter name="keyword" value="key" />
12
+ <parameter name="sort" value="unknown" />
13
+ </parameters>
14
+ </request>
15
+ <result>
16
+ <message>REQUEST ERROR</message>
17
+ <errors>
18
+ <error>
19
+ <name>sort</name>
20
+ <value>PARAMETER ILLEGAL</value>
21
+ </error>
22
+ </errors>
23
+ </result>
24
+ </response>
@@ -9,8 +9,22 @@ describe DMM::Response::Item do
9
9
 
10
10
  describe 'methods which returns integer' do
11
11
  subject { @item }
12
- DMM::Response::Item::ITEM_KEYS.each do |key|
12
+ DMM::Response::Item::KEYS.each do |key|
13
13
  it { should respond_to(key) }
14
14
  end
15
15
  end
16
+
17
+ describe '#large_images' do
18
+ subject do
19
+ item = {
20
+ :sample_image_url => {
21
+ :sample_s => {
22
+ :image => ["http://pics.dmm.co.jp/digital/video/aaa00000/aaa00000-9.jpg"],
23
+ },
24
+ }
25
+ }
26
+ DMM::Response::Item.new(item)
27
+ end
28
+ its(:large_images) { should == ["http://pics.dmm.co.jp/digital/video/aaa00000/aaa00000jp-9.jpg"] }
29
+ end
16
30
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  require "ruby-dmm"
2
2
  require "webmock/rspec"
3
3
 
4
+ require 'coveralls'
5
+ Coveralls.wear!
6
+
4
7
  # This file was generated by the `rspec --init` command. Conventionally, all
5
8
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
6
9
  # Require this file using `require "spec_helper"` to ensure that it is only
@@ -27,15 +30,27 @@ def fixture(file)
27
30
  File.new(fixture_path + '/' + file, "rb")
28
31
  end
29
32
 
33
+ def all_fixtures
34
+ Dir.glob(fixture_path + '/' + "*.xml").map {|x| File.basename(x) }.sort
35
+ end
36
+
30
37
  def fixtures
31
- fixtures = Dir.glob("*.xml").map {|x| File.basename(x) }[0, 2]
38
+ if ENV['GUARD_TEST']
39
+ all_fixtures.shuffle.pop(2)
40
+ else
41
+ all_fixtures
42
+ end
43
+ end
44
+
45
+ def random_fixture
46
+ all_fixtures.shuffle.first
32
47
  end
33
48
 
34
49
  def xml_response(file)
35
50
  {
36
51
  :body => fixture(file),
37
52
  :headers => {
38
- :content_yype => 'text/xml; charset=euc-jp'
53
+ :content_type => 'text/xml; charset=euc-jp'
39
54
  }
40
55
  }
41
56
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-dmm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - meganemura
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-12 00:00:00.000000000 Z
11
+ date: 2013-11-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: faraday
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,145 +27,43 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: faraday_middleware
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: multi_xml
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rash
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: rake
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: rspec
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: webmock
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: pry
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- - !ruby/object:Gem::Dependency
143
- name: guard-rspec
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '0'
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
158
- - !ruby/object:Gem::Dependency
159
- name: ox
160
- requirement: !ruby/object:Gem::Requirement
161
- none: false
162
- requirements:
163
- - - ! '>='
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
66
+ - - '>='
172
67
  - !ruby/object:Gem::Version
173
68
  version: '0'
174
69
  description: Client for the DMM Web Service API 2.0.
@@ -180,6 +75,7 @@ extra_rdoc_files: []
180
75
  files:
181
76
  - .gitignore
182
77
  - .rspec
78
+ - .travis.yml
183
79
  - Gemfile
184
80
  - Guardfile
185
81
  - LICENSE.txt
@@ -217,38 +113,33 @@ files:
217
113
  - spec/fixtures/r18_pcgame.xml
218
114
  - spec/fixtures/r18_ppm.xml
219
115
  - spec/fixtures/r18_rental.xml
116
+ - spec/fixtures/request_error.xml
220
117
  - spec/response/item_spec.rb
221
118
  - spec/response_spec.rb
222
119
  - spec/spec_helper.rb
223
- homepage: ''
224
- licenses: []
120
+ homepage: https://github.com/meganemura/ruby-dmm
121
+ licenses:
122
+ - MIT
123
+ metadata: {}
225
124
  post_install_message:
226
125
  rdoc_options: []
227
126
  require_paths:
228
127
  - lib
229
128
  required_ruby_version: !ruby/object:Gem::Requirement
230
- none: false
231
129
  requirements:
232
- - - ! '>='
130
+ - - '>='
233
131
  - !ruby/object:Gem::Version
234
132
  version: '0'
235
- segments:
236
- - 0
237
- hash: 4505224215825485981
238
133
  required_rubygems_version: !ruby/object:Gem::Requirement
239
- none: false
240
134
  requirements:
241
- - - ! '>='
135
+ - - '>='
242
136
  - !ruby/object:Gem::Version
243
137
  version: '0'
244
- segments:
245
- - 0
246
- hash: 4505224215825485981
247
138
  requirements: []
248
139
  rubyforge_project:
249
- rubygems_version: 1.8.23
140
+ rubygems_version: 2.0.3
250
141
  signing_key:
251
- specification_version: 3
142
+ specification_version: 4
252
143
  summary: Client for the DMM Web Service API 2.0.
253
144
  test_files:
254
145
  - spec/client_spec.rb
@@ -270,6 +161,7 @@ test_files:
270
161
  - spec/fixtures/r18_pcgame.xml
271
162
  - spec/fixtures/r18_ppm.xml
272
163
  - spec/fixtures/r18_rental.xml
164
+ - spec/fixtures/request_error.xml
273
165
  - spec/response/item_spec.rb
274
166
  - spec/response_spec.rb
275
167
  - spec/spec_helper.rb