ruby-dmm 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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