rms_web_service 0.0.1
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 +7 -0
- data/.gitignore +14 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/Guardfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +97 -0
- data/Rakefile +7 -0
- data/lib/rms_web_service.rb +10 -0
- data/lib/rms_web_service/configuration.rb +23 -0
- data/lib/rms_web_service/item.rb +27 -0
- data/lib/rms_web_service/item/delete.rb +28 -0
- data/lib/rms_web_service/item/get.rb +18 -0
- data/lib/rms_web_service/item/insert.rb +28 -0
- data/lib/rms_web_service/item/items_update.rb +31 -0
- data/lib/rms_web_service/item/response.rb +14 -0
- data/lib/rms_web_service/item/search.rb +21 -0
- data/lib/rms_web_service/item/update.rb +29 -0
- data/lib/rms_web_service/version.rb +3 -0
- data/rms_web_service.gemspec +30 -0
- data/spec/fixtures/delete.xml +23 -0
- data/spec/fixtures/get.xml +21 -0
- data/spec/fixtures/insert.xml +23 -0
- data/spec/fixtures/item.xml +4 -0
- data/spec/fixtures/items_update.xml +11 -0
- data/spec/fixtures/search.xml +17 -0
- data/spec/fixtures/update.xml +25 -0
- data/spec/rms_web_service/configuration_spec.rb +32 -0
- data/spec/rms_web_service/item/delete_spec.rb +31 -0
- data/spec/rms_web_service/item/get_spec.rb +30 -0
- data/spec/rms_web_service/item/insert_spec.rb +34 -0
- data/spec/rms_web_service/item/items_update_spec.rb +34 -0
- data/spec/rms_web_service/item/search_spec.rb +31 -0
- data/spec/rms_web_service/item/update_spec.rb +31 -0
- data/spec/rms_web_service/item_spec.rb +21 -0
- data/spec/rms_web_service_spec.rb +1 -0
- data/spec/spec_helper.rb +11 -0
- metadata +209 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f657900566ae9fc7c26ce9df5ef539fb9bd172f0
|
4
|
+
data.tar.gz: e2e50030c4ec72c2e81e522cc0c11fc0dbfb17c8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 33b04d98d9d953d2f347c020e5b5c3274197cdee0bc99f25efc1a1e565ec98c40d0a90919a078ffcf74b1936d1f7ef7030361fe702fc788fe133d0bc509b62ae
|
7
|
+
data.tar.gz: 459ffdd6be56b9f1acf6ec3da91e5b2d2f4cc75015d2764a7cfc58fba7addeaaeaeaa8b6f7848e541b94e7770a17b5c609e19d86bbc86d9bb4a57981c237a0e8
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 kamiya54
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
# RmsWebService
|
2
|
+
|
3
|
+
RMS Webservice APIのRubyラッパーです。
|
4
|
+
|
5
|
+
[](https://travis-ci.org/kamiya54/rms_web_service)
|
6
|
+
|
7
|
+
#### ご注意
|
8
|
+
|
9
|
+
* 楽天市場出品者用APIです。
|
10
|
+
* 現在一部機能のみサポートしています。
|
11
|
+
* 公式のものではありません。個人が作っているものですので、ご利用は自己責任でお願いします。
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
Add this line to your application's Gemfile:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
gem 'rms_web_service'
|
19
|
+
```
|
20
|
+
|
21
|
+
And then execute:
|
22
|
+
|
23
|
+
$ bundle
|
24
|
+
|
25
|
+
Or install it yourself as:
|
26
|
+
|
27
|
+
$ gem install rms_web_service
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
現在、itemAPIのみサポートしています。パラメータについては公式ドキュメントを参照してください。
|
32
|
+
|
33
|
+
`RmsWebService.configuration`でサービスIDとライセンスキーを設定できます。各キーはRMSより発行できます。
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
RmsWebService.configuration do |c|
|
37
|
+
c.service_secret = "dummy_service_secret"
|
38
|
+
c.license_key = "dummy_license_key"
|
39
|
+
end
|
40
|
+
```
|
41
|
+
|
42
|
+
### RmsWebService::Item
|
43
|
+
|
44
|
+
RmsWebService::ItemがAPIの各メソッドを持っています。パラメータを渡す場合はハッシュ、複数のItemを渡す場合は配列を使用します。
|
45
|
+
|
46
|
+
各メソッドが返すインスタンスがどのようなメソッドを持つかは公式ドキュメントを見るのが早いと思います。更新に失敗した場合のみ、`errorMessages`に設定されているエラー関係のメソッドをサポートします。
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
# item.get
|
50
|
+
item = RmsWebService::Item.get(:item_url => "ed-60c-w")
|
51
|
+
p item.item_name # => "ed-60c-w"
|
52
|
+
|
53
|
+
# item.update
|
54
|
+
item = RmsWebService::Item.update({:item_url => "ed-60c-w", :item_price => 43800})
|
55
|
+
p item.system_status # => "OK"
|
56
|
+
|
57
|
+
# item.insert
|
58
|
+
item = RmsWebService::Item.insert({
|
59
|
+
:item_url => "test001",
|
60
|
+
:item_name => "test001",
|
61
|
+
:item_price => "100000",
|
62
|
+
:genre_id => "211889",
|
63
|
+
})
|
64
|
+
p item.system_status # => "OK"
|
65
|
+
|
66
|
+
# item.delete
|
67
|
+
item = RmsWebService::Item.delete(:item_url => "test001")
|
68
|
+
p item.system_status # => "OK"
|
69
|
+
|
70
|
+
# item.search
|
71
|
+
items = RmsWebService::Item.search(:item_name => "空気清浄機")
|
72
|
+
items.each do |item|
|
73
|
+
p item.item_name
|
74
|
+
end
|
75
|
+
|
76
|
+
# items.update
|
77
|
+
items = RmsWebService::Item.items_update([
|
78
|
+
{:item_url => "ed-60c-w", :item_price => 43800},
|
79
|
+
{:item_url => "noexist", :item_price => 10800}
|
80
|
+
])
|
81
|
+
items.each do |item|
|
82
|
+
if item.code == 'N000'
|
83
|
+
p item.item_url # => "ed-60c-w"
|
84
|
+
else
|
85
|
+
p item.error_id # => "335"
|
86
|
+
p item.msg # => "商品管理番号欄(商品URL)で指定された商品が見つかりません。更新・変更、削除の場合は、存在する商品の商品管理番号(商品URL)をご指定ください。"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
```
|
90
|
+
|
91
|
+
## Contributing
|
92
|
+
|
93
|
+
1. Fork it ( https://github.com/[my-github-username]/rms_web_service/fork )
|
94
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
95
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
96
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
97
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
module RmsWebService
|
4
|
+
class Configuration
|
5
|
+
attr_accessor :service_secret, :license_key
|
6
|
+
|
7
|
+
def encoded_keys
|
8
|
+
if service_secret.present? && license_key.present?
|
9
|
+
return "ESA " + Base64.encode64(service_secret + ":" + license_key).gsub(/\n/, "")
|
10
|
+
else
|
11
|
+
raise AuthError, 'please set serviceSecret and licenseKey'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def configuration(&block)
|
17
|
+
@configuration ||= Configuration.new
|
18
|
+
block.call @configuration if block_given?
|
19
|
+
return @configuration
|
20
|
+
end
|
21
|
+
|
22
|
+
module_function :configuration
|
23
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
require 'faraday'
|
3
|
+
require 'active_support'
|
4
|
+
require 'active_support/core_ext'
|
5
|
+
require 'rms_web_service/item/response'
|
6
|
+
require 'rms_web_service/item/get'
|
7
|
+
require 'rms_web_service/item/insert'
|
8
|
+
require 'rms_web_service/item/update'
|
9
|
+
require 'rms_web_service/item/delete'
|
10
|
+
require 'rms_web_service/item/search'
|
11
|
+
require 'rms_web_service/item/items_update'
|
12
|
+
|
13
|
+
module RmsWebService
|
14
|
+
class Item
|
15
|
+
def self.connection(method)
|
16
|
+
connection = Faraday.new(:url => endpoint(method)) do |c|
|
17
|
+
c.adapter Faraday.default_adapter
|
18
|
+
c.headers['Authorization'] = RmsWebService.configuration.encoded_keys
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.endpoint(method)
|
23
|
+
return Endpoint + method
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
def self.delete(args)
|
4
|
+
xml_object = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
5
|
+
xml.request do
|
6
|
+
xml.itemDeleteRequest do
|
7
|
+
xml.item do
|
8
|
+
args.each {|key, value| eval("xml.#{key.to_s.camelize(:lower)} '#{value}'")}
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
request = connection("item/delete").post {|req| req.body = xml_object.to_xml}
|
15
|
+
return Delete.new(request.body)
|
16
|
+
end
|
17
|
+
|
18
|
+
class Delete
|
19
|
+
include Response
|
20
|
+
def initialize(xml)
|
21
|
+
xml = Nokogiri::XML.parse(xml)
|
22
|
+
set_attributes xml.xpath("//status").children
|
23
|
+
set_attributes xml.xpath("//item").children
|
24
|
+
set_attribute("code", xml.xpath("//code").first.content)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
def self.get(args)
|
4
|
+
request = connection('item/get').get {|req| req.params['itemUrl'] = args[:item_url]}
|
5
|
+
return Get.new(request.body)
|
6
|
+
end
|
7
|
+
|
8
|
+
class Get
|
9
|
+
include Response
|
10
|
+
def initialize(xml)
|
11
|
+
xml = Nokogiri::XML.parse(xml)
|
12
|
+
set_attributes xml.xpath("//status").children
|
13
|
+
set_attributes xml.xpath("//item").children
|
14
|
+
set_attribute("code", xml.xpath("//code").first.content) if xml.xpath("//code").present?
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
def self.insert(args)
|
4
|
+
xml_object = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
5
|
+
xml.request do
|
6
|
+
xml.itemInsertRequest do
|
7
|
+
xml.item do
|
8
|
+
args.each {|key, value| eval("xml.#{key.to_s.camelize(:lower)} '#{value}'")}
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
request = connection("item/insert").post {|req| req.body = xml_object.to_xml}
|
15
|
+
return Insert.new(request.body)
|
16
|
+
end
|
17
|
+
|
18
|
+
class Insert
|
19
|
+
include Response
|
20
|
+
def initialize(xml)
|
21
|
+
xml = Nokogiri::XML.parse(xml)
|
22
|
+
set_attributes xml.xpath("//status").children
|
23
|
+
set_attributes xml.xpath("//item").children
|
24
|
+
set_attribute("code", xml.xpath("//code").first.content)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
def self.items_update(args)
|
4
|
+
xml_object = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
5
|
+
xml.request do
|
6
|
+
xml.itemsUpdateRequest do
|
7
|
+
xml.items do
|
8
|
+
args.each do |item|
|
9
|
+
xml.item do
|
10
|
+
item.each {|key, value| eval("xml.#{key.to_s.camelize(:lower)} '#{value}'")}
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
request = connection("items/update").post {|req| req.body = xml_object.to_xml}
|
19
|
+
return ItemsUpdate.new(request.body)
|
20
|
+
end
|
21
|
+
|
22
|
+
class ItemsUpdate < Array
|
23
|
+
include Response
|
24
|
+
def initialize(xml)
|
25
|
+
xml = Nokogiri::XML.parse(xml)
|
26
|
+
set_attributes xml.xpath("//status").children
|
27
|
+
xml.xpath("//itemsUpdateResult").children.each {|item| self << Update.new(item.to_xml)}
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
module Response
|
4
|
+
def set_attributes(args)
|
5
|
+
args.each {|s| set_attribute(s.name, s.content)}
|
6
|
+
end
|
7
|
+
|
8
|
+
def set_attribute(name, content)
|
9
|
+
att = name.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').tr("-", "_").downcase
|
10
|
+
self.define_singleton_method(att) {content}
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
def self.search(args)
|
4
|
+
request = connection("item/search").get do |req|
|
5
|
+
args.each {|key, value| req.params["#{key.to_s.camelize(:lower)}"] = args[:"#{key}"]}
|
6
|
+
end
|
7
|
+
|
8
|
+
return Search.new(request.body)
|
9
|
+
end
|
10
|
+
|
11
|
+
class Search < ::Array
|
12
|
+
include Response
|
13
|
+
def initialize(xml)
|
14
|
+
xml = Nokogiri::XML.parse(xml)
|
15
|
+
set_attributes xml.xpath("//status").children
|
16
|
+
set_attribute("code", xml.xpath("//code").first.content)
|
17
|
+
xml.xpath("//items").children.each {|item| self << Get.new(item.to_xml)}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module RmsWebService
|
2
|
+
class Item
|
3
|
+
def self.update(args)
|
4
|
+
xml_object = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
5
|
+
xml.request do
|
6
|
+
xml.itemUpdateRequest do
|
7
|
+
xml.item do
|
8
|
+
args.each {|key, value| eval("xml.#{key.to_s.camelize(:lower)} '#{value}'")}
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
request = connection("item/update").post {|req| req.body = xml_object.to_xml}
|
15
|
+
return Update.new(request.body)
|
16
|
+
end
|
17
|
+
|
18
|
+
class Update
|
19
|
+
include Response
|
20
|
+
def initialize(xml)
|
21
|
+
xml = Nokogiri::XML.parse(xml)
|
22
|
+
set_attributes xml.xpath("//status").children
|
23
|
+
set_attributes xml.xpath("//item").children
|
24
|
+
set_attributes xml.xpath("//errorMessage").children if xml.xpath("//errorMessage").present?
|
25
|
+
set_attribute("code", xml.xpath("//code").first.content)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rms_web_service/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "rms_web_service"
|
8
|
+
spec.version = RmsWebService::VERSION
|
9
|
+
spec.authors = ["kamiya54"]
|
10
|
+
spec.email = ["kamiya54@gmail.com"]
|
11
|
+
spec.summary = %q{Ruby wrapper for RMS Web Service.}
|
12
|
+
spec.description = %q{Ruby wrapper for RMS Web Service.}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "faraday", "~> 0.9.0"
|
22
|
+
spec.add_dependency "nokogiri", "~> 1.6.2"
|
23
|
+
spec.add_dependency "activesupport"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "rspec"
|
28
|
+
spec.add_development_dependency "webmock"
|
29
|
+
spec.add_development_dependency "guard-rspec"
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<result>
|
3
|
+
<status>
|
4
|
+
<interfaceId>item.delete</interfaceId>
|
5
|
+
<systemStatus>OK/NG</systemStatus>
|
6
|
+
<message>message</message>
|
7
|
+
<requestId>UUID</requestId>
|
8
|
+
<requests/>
|
9
|
+
</status>
|
10
|
+
<itemDeleteResult>
|
11
|
+
<code>code</code>
|
12
|
+
<errorMessages>
|
13
|
+
<errorId>errorId</errorId>
|
14
|
+
<fieldId>fieldId</fieldId>
|
15
|
+
<msg>error message</msg>
|
16
|
+
<listIndex>1</listIndex>
|
17
|
+
<listIndex2>2</listIndex2>
|
18
|
+
</errorMessages>
|
19
|
+
<item>
|
20
|
+
<itemUrl>yyy</itemUrl>
|
21
|
+
</item>
|
22
|
+
</itemDeleteResult>
|
23
|
+
</result>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<result>
|
3
|
+
<status>
|
4
|
+
<interfaceId>item.get</interfaceId>
|
5
|
+
<systemStatus>OK</systemStatus>
|
6
|
+
<message>OK</message>
|
7
|
+
<requestId>714a4983-555f-42d9-aeea-89dae89f2f55</requestId>
|
8
|
+
<requests>
|
9
|
+
<itemUrl>aaa</itemUrl>
|
10
|
+
</requests>
|
11
|
+
</status>
|
12
|
+
<itemGetResult>
|
13
|
+
<code>N000</code>
|
14
|
+
<item>
|
15
|
+
<itemUrl>aaa</itemUrl>
|
16
|
+
・
|
17
|
+
・
|
18
|
+
・
|
19
|
+
</item>
|
20
|
+
</itemGetResult>
|
21
|
+
</result>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<result>
|
3
|
+
<status>
|
4
|
+
<interfaceId>item.insert</interfaceId>
|
5
|
+
<systemStatus>OK/NG</systemStatus>
|
6
|
+
<message>message</message>
|
7
|
+
<requestId>UUID</requestId>
|
8
|
+
<requests/>
|
9
|
+
</status>
|
10
|
+
<itemInsertResult>
|
11
|
+
<code>code</code>
|
12
|
+
<errorMessages>
|
13
|
+
<errorId>errorId</errorId>
|
14
|
+
<fieldId>fieldId</fieldId>
|
15
|
+
<msg>error message</msg>
|
16
|
+
<listIndex>1</listIndex>
|
17
|
+
<listIndex2>2</listIndex2>
|
18
|
+
</errorMessages>
|
19
|
+
<item>
|
20
|
+
<itemUrl>yyy</itemUrl>
|
21
|
+
</item>
|
22
|
+
</itemInsertResult>
|
23
|
+
</result>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<result>
|
3
|
+
<status>
|
4
|
+
<interfaceId>items.update</interfaceId>
|
5
|
+
<systemStatus>OK</systemStatus>
|
6
|
+
<message>OK</message>
|
7
|
+
<requestId>3106e794-0631-4a3d-899c-97a473b017de</requestId>
|
8
|
+
<requests/>
|
9
|
+
</status>
|
10
|
+
<itemsUpdateResult><itemUpdateResult><code>N000</code><item><itemUrl>itemXXX</itemUrl></item></itemUpdateResult><itemUpdateResult><code>C219</code><errorMessages><errorMessage><errorId>335</errorId><fieldId>501</field><msg>商品管理番号欄(商品URL)で指定された商品が見つかりません。更新・変更、削除の場合は、存在する商品の商品管理番号(商品URL)をご指定ください。</msg></errorMessage></errorMessages><item><itemUrl>itemYYY</itemUrl></item></itemUpdateResult></itemsUpdateResult>
|
11
|
+
</result>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<result>
|
3
|
+
<status>
|
4
|
+
<interfaceId>item.search</interfaceId>
|
5
|
+
<systemStatus>OK</systemStatus>
|
6
|
+
<message>OK</message>
|
7
|
+
<requestId>714a4983-555f-42d9-aeea-89dae89f2f55</requestId>
|
8
|
+
<requests>
|
9
|
+
<itemUrl>aaa</itemUrl>
|
10
|
+
</requests>
|
11
|
+
</status>
|
12
|
+
<itemSearchResult>
|
13
|
+
<code>200-00</code>
|
14
|
+
<numFound>10<numFound>
|
15
|
+
<items><item><itemUrl>aaa</itemUrl><itemPrice>10000</itemPrice></item><item><itemUrl>bbb</itemUrl><itemPrice>20000</itemPrice></item><item><itemUrl>ccc</itemUrl><itemPrice>30000</itemPrice></item></items>
|
16
|
+
</itemSearchResult>
|
17
|
+
</result>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<result>
|
3
|
+
<status>
|
4
|
+
<interfaceId>item.update</interfaceId>
|
5
|
+
<systemStatus>OK/NG</systemStatus>
|
6
|
+
<message>message</message>
|
7
|
+
<requestId>UUID</requestId>
|
8
|
+
<requests/>
|
9
|
+
</status>
|
10
|
+
<itemUpdateResult>
|
11
|
+
<code>code</code>
|
12
|
+
<errorMessages>
|
13
|
+
<errorMessage>
|
14
|
+
<errorId>errorId</errorId>
|
15
|
+
<fieldId>fieldId</fieldId>
|
16
|
+
<msg>error message</msg>
|
17
|
+
<listIndex>1</listIndex>
|
18
|
+
<listIndex2>2</listIndex2>
|
19
|
+
</errorMessage>
|
20
|
+
</errorMessages>
|
21
|
+
<item>
|
22
|
+
<itemUrl>yyy</itemUrl>
|
23
|
+
</item>
|
24
|
+
</itemUpdateResult>
|
25
|
+
</result>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService do
|
5
|
+
describe '.configuration' do
|
6
|
+
let(:config) {RmsWebService.configuration}
|
7
|
+
|
8
|
+
context "don't set serviceSecret and licenseKey" do
|
9
|
+
it 'raise AuthError' do
|
10
|
+
expect{config.encoded_keys}.to raise_error RmsWebService::AuthError
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'set serviceSecret and licenseKey correctly' do
|
15
|
+
before :each do
|
16
|
+
RmsWebService.configuration do |c|
|
17
|
+
c.service_secret = 'dummy_service_secret'
|
18
|
+
c.license_key = 'dummy_license_key'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'can set parameters properly' do
|
23
|
+
expect(config.service_secret).to eq 'dummy_service_secret'
|
24
|
+
expect(config.license_key).to eq 'dummy_license_key'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'return encoded keys' do
|
28
|
+
expect(Base64.decode64(config.encoded_keys.gsub('ESA ', ''))).to eq 'dummy_service_secret:dummy_license_key'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item::Delete do
|
5
|
+
describe '.delete' do
|
6
|
+
let(:api) {RmsWebService::Item.delete({:item_url => 'test001'})}
|
7
|
+
|
8
|
+
before :all do
|
9
|
+
RmsWebService.configuration do |c|
|
10
|
+
c.service_secret = 'dummy_service_secret'
|
11
|
+
c.license_key = 'dummy_license_key'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
before :each do
|
16
|
+
stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/item/delete")
|
17
|
+
.to_return(:status => 200, body: fixture('delete.xml'))
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
it 'return instance of RmsWebService::Item::Delete' do
|
22
|
+
expect(api).to be_a RmsWebService::Item::Delete
|
23
|
+
end
|
24
|
+
|
25
|
+
it "have methods to return parameters of response" do
|
26
|
+
expect(api.respond_to?(:code)).to be_truthy
|
27
|
+
expect(api.respond_to?(:system_status)).to be_truthy
|
28
|
+
expect(api.respond_to?(:item_url)).to be_truthy
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item::Get do
|
5
|
+
describe '.get' do
|
6
|
+
let(:api) {RmsWebService::Item.get(:item_url => 'test001')}
|
7
|
+
|
8
|
+
before do
|
9
|
+
RmsWebService.configuration do |c|
|
10
|
+
c.service_secret = 'dummy_service_secret'
|
11
|
+
c.license_key = 'dummy_license_key'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
before :each do
|
16
|
+
stub_request(:get, "https://api.rms.rakuten.co.jp/es/1.0/item/get?itemUrl=test001")
|
17
|
+
.to_return(:status => 200, body: fixture('get.xml'))
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'return instance of RmsWebService::Item::Get' do
|
21
|
+
expect(api).to be_a RmsWebService::Item::Get
|
22
|
+
end
|
23
|
+
|
24
|
+
it "have methods to return parameters of response" do
|
25
|
+
expect(api.respond_to?(:code)).to be_truthy
|
26
|
+
expect(api.respond_to?(:system_status)).to be_truthy
|
27
|
+
expect(api.respond_to?(:item_url)).to be_truthy
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item::Insert do
|
5
|
+
describe '.insert' do
|
6
|
+
let(:api) {RmsWebService::Item.insert({
|
7
|
+
:item_url => 'test001',
|
8
|
+
:item_name => 'test001',
|
9
|
+
:genre_id => '560420'
|
10
|
+
})}
|
11
|
+
|
12
|
+
before :all do
|
13
|
+
RmsWebService.configuration do |c|
|
14
|
+
c.service_secret = 'dummy_service_secret'
|
15
|
+
c.license_key = 'dummy_license_key'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
before :each do
|
20
|
+
stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/item/insert")
|
21
|
+
.to_return(:status => 200, body: fixture('insert.xml'))
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'return instance of RmsWebService::Item::Insert' do
|
25
|
+
expect(api).to be_a RmsWebService::Item::Insert
|
26
|
+
end
|
27
|
+
|
28
|
+
it "have methods to return parameters of response" do
|
29
|
+
expect(api.respond_to?(:code)).to be_truthy
|
30
|
+
expect(api.respond_to?(:system_status)).to be_truthy
|
31
|
+
expect(api.respond_to?(:item_url)).to be_truthy
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item::ItemsUpdate do
|
5
|
+
describe '.update_items' do
|
6
|
+
let(:api) {RmsWebService::Item.items_update([
|
7
|
+
{:item_url => 'test001', :item_price => 100},
|
8
|
+
{:item_url => 'test002', :item_price => 200}
|
9
|
+
])}
|
10
|
+
|
11
|
+
before do
|
12
|
+
RmsWebService.configuration do |c|
|
13
|
+
c.service_secret = 'dummy_service_secret'
|
14
|
+
c.license_key = 'dummy_license_key'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
before :each do
|
19
|
+
stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/items/update")
|
20
|
+
.to_return(:status => 200, body: fixture('items_update.xml'))
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'return Array of RmsWebService::Response' do
|
24
|
+
expect(api).to be_a RmsWebService::Item::ItemsUpdate
|
25
|
+
expect(api[0]).to be_a RmsWebService::Item::Update
|
26
|
+
end
|
27
|
+
|
28
|
+
it "have methods to return parameters of response" do
|
29
|
+
expect(api.respond_to?(:system_status)).to be_truthy
|
30
|
+
expect(api[0].respond_to?(:item_url)).to be_truthy
|
31
|
+
expect(api[0].respond_to?(:code)).to be_truthy
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item::Search do
|
5
|
+
describe '.search' do
|
6
|
+
let(:api) {RmsWebService::Item.search(:item_name => 'test001', :item_price_from => 1)}
|
7
|
+
|
8
|
+
before do
|
9
|
+
RmsWebService.configuration do |c|
|
10
|
+
c.service_secret = 'dummy_service_secret'
|
11
|
+
c.license_key = 'dummy_license_key'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
before :each do
|
16
|
+
stub_request(:get, "https://api.rms.rakuten.co.jp/es/1.0/item/search?itemName=test001&itemPriceFrom=1")
|
17
|
+
.to_return(:status => 200, body: fixture('search.xml'))
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'return Array of RmsWebService::Response' do
|
21
|
+
expect(api).to be_a RmsWebService::Item::Search
|
22
|
+
expect(api[0]).to be_a RmsWebService::Item::Get
|
23
|
+
end
|
24
|
+
|
25
|
+
it "have methods to return parameters of response" do
|
26
|
+
expect(api.respond_to?(:code)).to be_truthy
|
27
|
+
expect(api.respond_to?(:system_status)).to be_truthy
|
28
|
+
expect(api[0].respond_to?(:item_url)).to be_truthy
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item::Update do
|
5
|
+
describe '.update' do
|
6
|
+
let(:api) {RmsWebService::Item.update({:item_url => 'test001', :item_price => '10000'})}
|
7
|
+
|
8
|
+
before :all do
|
9
|
+
RmsWebService.configuration do |c|
|
10
|
+
c.service_secret = 'dummy_service_secret'
|
11
|
+
c.license_key = 'dummy_license_key'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
before :each do
|
16
|
+
stub_request(:post, "https://api.rms.rakuten.co.jp/es/1.0/item/update")
|
17
|
+
.to_return(:status => 200, body: fixture('update.xml'))
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'return instance of RmsWebService::Item::Update' do
|
21
|
+
expect(api).to be_a RmsWebService::Item::Update
|
22
|
+
end
|
23
|
+
|
24
|
+
it "have methods to return parameters of response" do
|
25
|
+
expect(api.respond_to?(:code)).to be_truthy
|
26
|
+
expect(api.respond_to?(:system_status)).to be_truthy
|
27
|
+
expect(api.respond_to?(:item_url)).to be_truthy
|
28
|
+
expect(api.respond_to?(:error_id)).to be_truthy
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rms_web_service/item'
|
3
|
+
|
4
|
+
describe RmsWebService::Item do
|
5
|
+
describe '.connection' do
|
6
|
+
before do
|
7
|
+
RmsWebService.configuration do |c|
|
8
|
+
c.service_secret = 'dummy_service_secret'
|
9
|
+
c.license_key = 'dummy_license_key'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'return instance of Faraday::Connection' do
|
14
|
+
expect(RmsWebService::Item.connection("item/get")).to be_a Faraday::Connection
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'have a collect endpoint' do
|
18
|
+
expect(RmsWebService::Item.endpoint("item/get")).to eq "https://api.rms.rakuten.co.jp/es/1.0/item/get"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'spec_helper'
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,209 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rms_web_service
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- kamiya54
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-09-10 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.9.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.9.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.6.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activesupport
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.6'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.6'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webmock
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard-rspec
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
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
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: Ruby wrapper for RMS Web Service.
|
126
|
+
email:
|
127
|
+
- kamiya54@gmail.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- .gitignore
|
133
|
+
- .travis.yml
|
134
|
+
- Gemfile
|
135
|
+
- Guardfile
|
136
|
+
- LICENSE.txt
|
137
|
+
- README.md
|
138
|
+
- Rakefile
|
139
|
+
- lib/rms_web_service.rb
|
140
|
+
- lib/rms_web_service/configuration.rb
|
141
|
+
- lib/rms_web_service/item.rb
|
142
|
+
- lib/rms_web_service/item/delete.rb
|
143
|
+
- lib/rms_web_service/item/get.rb
|
144
|
+
- lib/rms_web_service/item/insert.rb
|
145
|
+
- lib/rms_web_service/item/items_update.rb
|
146
|
+
- lib/rms_web_service/item/response.rb
|
147
|
+
- lib/rms_web_service/item/search.rb
|
148
|
+
- lib/rms_web_service/item/update.rb
|
149
|
+
- lib/rms_web_service/version.rb
|
150
|
+
- rms_web_service.gemspec
|
151
|
+
- spec/fixtures/delete.xml
|
152
|
+
- spec/fixtures/get.xml
|
153
|
+
- spec/fixtures/insert.xml
|
154
|
+
- spec/fixtures/item.xml
|
155
|
+
- spec/fixtures/items_update.xml
|
156
|
+
- spec/fixtures/search.xml
|
157
|
+
- spec/fixtures/update.xml
|
158
|
+
- spec/rms_web_service/configuration_spec.rb
|
159
|
+
- spec/rms_web_service/item/delete_spec.rb
|
160
|
+
- spec/rms_web_service/item/get_spec.rb
|
161
|
+
- spec/rms_web_service/item/insert_spec.rb
|
162
|
+
- spec/rms_web_service/item/items_update_spec.rb
|
163
|
+
- spec/rms_web_service/item/search_spec.rb
|
164
|
+
- spec/rms_web_service/item/update_spec.rb
|
165
|
+
- spec/rms_web_service/item_spec.rb
|
166
|
+
- spec/rms_web_service_spec.rb
|
167
|
+
- spec/spec_helper.rb
|
168
|
+
homepage: ''
|
169
|
+
licenses:
|
170
|
+
- MIT
|
171
|
+
metadata: {}
|
172
|
+
post_install_message:
|
173
|
+
rdoc_options: []
|
174
|
+
require_paths:
|
175
|
+
- lib
|
176
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - '>='
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
requirements: []
|
187
|
+
rubyforge_project:
|
188
|
+
rubygems_version: 2.2.2
|
189
|
+
signing_key:
|
190
|
+
specification_version: 4
|
191
|
+
summary: Ruby wrapper for RMS Web Service.
|
192
|
+
test_files:
|
193
|
+
- spec/fixtures/delete.xml
|
194
|
+
- spec/fixtures/get.xml
|
195
|
+
- spec/fixtures/insert.xml
|
196
|
+
- spec/fixtures/item.xml
|
197
|
+
- spec/fixtures/items_update.xml
|
198
|
+
- spec/fixtures/search.xml
|
199
|
+
- spec/fixtures/update.xml
|
200
|
+
- spec/rms_web_service/configuration_spec.rb
|
201
|
+
- spec/rms_web_service/item/delete_spec.rb
|
202
|
+
- spec/rms_web_service/item/get_spec.rb
|
203
|
+
- spec/rms_web_service/item/insert_spec.rb
|
204
|
+
- spec/rms_web_service/item/items_update_spec.rb
|
205
|
+
- spec/rms_web_service/item/search_spec.rb
|
206
|
+
- spec/rms_web_service/item/update_spec.rb
|
207
|
+
- spec/rms_web_service/item_spec.rb
|
208
|
+
- spec/rms_web_service_spec.rb
|
209
|
+
- spec/spec_helper.rb
|