rms_api_ruby 0.3.0 → 0.4.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +1 -1
- data/README.md +14 -16
- data/docs/navigation_api.md +44 -0
- data/docs/product_api.md +19 -0
- data/lib/rms_api_ruby/config.rb +5 -3
- data/lib/rms_api_ruby/item/base.rb +2 -47
- data/lib/rms_api_ruby/navigation/base.rb +29 -0
- data/lib/rms_api_ruby/navigation/genre_get.rb +21 -0
- data/lib/rms_api_ruby/navigation/genre_header_get.rb +21 -0
- data/lib/rms_api_ruby/navigation/genre_tag_get.rb +21 -0
- data/lib/rms_api_ruby/navigation.rb +38 -0
- data/lib/rms_api_ruby/product.rb +47 -0
- data/lib/rms_api_ruby/rest_api/base.rb +65 -0
- data/lib/rms_api_ruby/utility/hash_keys_camelizable.rb +1 -0
- data/lib/rms_api_ruby/utility/hash_keys_underscorable.rb +1 -0
- data/lib/rms_api_ruby/version.rb +1 -1
- data/lib/rms_api_ruby.rb +2 -0
- metadata +11 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd997f991888796c31485581f894b02fdb26e1cf0a355fd1c064d8bdb625e9a9
|
4
|
+
data.tar.gz: e9eb9d271154aba3e58c8009c22ed126a61fa53783cd7414afa7d5435395ee1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54c1165fb6dd9c3c5c7dc2b3ccbafce5a17606168ab7652a5fb58081800356071573ea5eab6543ddd5860bbc24171c258ee6c4af57ccf71c43c8434ff531915a
|
7
|
+
data.tar.gz: 452c6a1eddd87373c2bebeb650db44e5832d24a6a6605b0a20a2d4802725ea3bb371ac4c334b112096b7d757bec83542500f66f5fbfd5002125831fb90bff9e9
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -4,17 +4,17 @@
|
|
4
4
|
[](https://circleci.com/gh/Kaicoh/rms_api_ruby/tree/master)
|
5
5
|
|
6
6
|
RmsApiRuby is a ruby gem for the RMS(Rakuten Marchant Service) Web API. By default all API calls will return [Hashie::Mash](https://github.com/intridea/hashie/tree/v1.2.0) objects.
|
7
|
-
At this time this gem supports OrderAPI, InventoryAPI and
|
7
|
+
At this time this gem supports OrderAPI, InventoryAPI, ItemAPI, ProductAPI and NavigationAPI.
|
8
8
|
|
9
9
|
Support
|
10
10
|
- OrderAPI
|
11
11
|
- InventoryAPI
|
12
12
|
- ItemAPI
|
13
|
+
- ProductAPI
|
14
|
+
- NavigationAPI
|
13
15
|
|
14
16
|
Not Support yet
|
15
|
-
- ProductAPI
|
16
17
|
- CabinetAPI
|
17
|
-
- NavigationAPI
|
18
18
|
- CategoryAPI
|
19
19
|
- CouponAPI
|
20
20
|
- ShopManagimentAPI
|
@@ -54,13 +54,15 @@ Or can set any of the options via this way
|
|
54
54
|
|
55
55
|
```ruby
|
56
56
|
RmsApiRuby.configure do |config|
|
57
|
-
config.service_secret
|
58
|
-
config.license_key
|
59
|
-
config.shop_url
|
60
|
-
config.user_name
|
61
|
-
config.order_api_version
|
62
|
-
config.inventory_api_version
|
63
|
-
config.item_api_version
|
57
|
+
config.service_secret = 'Your RMS service secret'
|
58
|
+
config.license_key = 'Your RMS license key'
|
59
|
+
config.shop_url = 'Your RMS shop url'
|
60
|
+
config.user_name = 'user name' # default 'rms_api_ruby'
|
61
|
+
config.order_api_version = 'Order API version' # default 1.0
|
62
|
+
config.inventory_api_version = 'Inventory API version' # default 1.0
|
63
|
+
config.item_api_version = 'Item API version' # default 1.0
|
64
|
+
config.product_api_version = 'Product API version' # default 2.0
|
65
|
+
config.navigation_api_version = 'Navigation API version' # default 1.0
|
64
66
|
end
|
65
67
|
```
|
66
68
|
|
@@ -68,12 +70,8 @@ end
|
|
68
70
|
- [OrderAPI](docs/order_api.md)
|
69
71
|
- [InventoryAPI](docs/inventory_api.md)
|
70
72
|
- [ItemAPI](docs/item_api.md)
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
75
|
-
|
76
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
73
|
+
- [ProductAPI](docs/product_api.md)
|
74
|
+
- [NavigationAPI](docs/navigation_api.md)
|
77
75
|
|
78
76
|
## Contributing
|
79
77
|
|
@@ -0,0 +1,44 @@
|
|
1
|
+
## NavigationAPI
|
2
|
+
|
3
|
+
### genre_get
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
args = { genre_id: 202513 }
|
7
|
+
|
8
|
+
response = RmsApiRuby::Navigation.genre_get(args)
|
9
|
+
# => #<Hashie::Mash>
|
10
|
+
|
11
|
+
response.keys
|
12
|
+
# => ["status", "navigation_genre_get_result"]
|
13
|
+
|
14
|
+
response.navigation_genre_get_result
|
15
|
+
# => #<Hashie::Mash genre=#<Hashie::Mash ...>>
|
16
|
+
```
|
17
|
+
|
18
|
+
### genre_tag_get
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
args = { genre_id: 202513 }
|
22
|
+
|
23
|
+
response = RmsApiRuby::Navigation.genre_tag_get(args)
|
24
|
+
# => #<Hashie::Mash>
|
25
|
+
|
26
|
+
response.keys
|
27
|
+
# => ["status", "navigation_genre_tag_get_result"]
|
28
|
+
|
29
|
+
response.navigation_genre_tag_get_result
|
30
|
+
# => #<Hashie::Mash genre=#<Hashie::Mash ...>>
|
31
|
+
```
|
32
|
+
|
33
|
+
### genre_header_get
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
response = RmsApiRuby::Navigation.genre_header_get
|
37
|
+
# => #<Hashie::Mash>
|
38
|
+
|
39
|
+
response.keys
|
40
|
+
# => ["status", "navigation_header_get_result"]
|
41
|
+
|
42
|
+
response.navigation_header_get_result
|
43
|
+
# => #<Hashie::Mash genre_last_update_date="2018-05-22T10:00:00+09:00" status="Success" tag_last_update_date="2018-05-22T10:00:00+09:00">
|
44
|
+
```
|
data/docs/product_api.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
## ProductAPI
|
2
|
+
|
3
|
+
### search
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
args = {
|
7
|
+
genre_id: 202513,
|
8
|
+
limit: 10,
|
9
|
+
}
|
10
|
+
|
11
|
+
response = RmsApiRuby::Product.search(args)
|
12
|
+
# => #<Hashie::Mash>
|
13
|
+
|
14
|
+
response.keys
|
15
|
+
# => ["status", "product_search_result"]
|
16
|
+
|
17
|
+
response.product_search_result
|
18
|
+
# => #<Hashie::Mash pagination=#<Hashie::Mash ...>>
|
19
|
+
```
|
data/lib/rms_api_ruby/config.rb
CHANGED
@@ -85,9 +85,11 @@ module RmsApiRuby
|
|
85
85
|
option :logger, default: ::Logger.new(STDOUT)
|
86
86
|
option :log_level, default: ::Logger::DEBUG
|
87
87
|
|
88
|
-
option :order_api_version,
|
89
|
-
option :inventory_api_version,
|
90
|
-
option :item_api_version,
|
88
|
+
option :order_api_version, default: '1.0'
|
89
|
+
option :inventory_api_version, default: '1.0'
|
90
|
+
option :item_api_version, default: '1.0'
|
91
|
+
option :product_api_version, default: '2.0'
|
92
|
+
option :navigation_api_version, default: '1.0'
|
91
93
|
|
92
94
|
def options
|
93
95
|
self.class.options
|
@@ -1,39 +1,10 @@
|
|
1
|
-
require 'rms_api_ruby/
|
2
|
-
require 'rms_api_ruby/utility/hash_keys_camelizable'
|
1
|
+
require 'rms_api_ruby/rest_api/base'
|
3
2
|
|
4
3
|
module RmsApiRuby
|
5
4
|
class Item
|
6
|
-
class Base
|
7
|
-
include Waterfall
|
8
|
-
include RmsApiRuby::HashKeysCamelizable
|
9
|
-
|
10
|
-
def initialize(args, client_class = RmsApiRuby::Chain::HttpClient)
|
11
|
-
@args = args
|
12
|
-
@client = client_class.new(
|
13
|
-
method: http_method,
|
14
|
-
url: url,
|
15
|
-
params: form_params(args),
|
16
|
-
headers: http_headers,
|
17
|
-
return_method: :result
|
18
|
-
)
|
19
|
-
end
|
20
|
-
|
21
|
-
def call
|
22
|
-
chain { log :info, start_message }
|
23
|
-
chain(response: :response) { @client.call }
|
24
|
-
chain { log :info, complete_message }
|
25
|
-
end
|
26
|
-
|
5
|
+
class Base < RmsApiRuby::RestApi::Base
|
27
6
|
private
|
28
7
|
|
29
|
-
def http_method
|
30
|
-
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
31
|
-
end
|
32
|
-
|
33
|
-
def url
|
34
|
-
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
35
|
-
end
|
36
|
-
|
37
8
|
def api_name
|
38
9
|
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
39
10
|
end
|
@@ -46,14 +17,6 @@ module RmsApiRuby
|
|
46
17
|
RmsApiRuby.configuration.item_api_version
|
47
18
|
end
|
48
19
|
|
49
|
-
def http_headers
|
50
|
-
{ Authorization: RmsApiRuby::Authentication.key }
|
51
|
-
end
|
52
|
-
|
53
|
-
def log(level, message)
|
54
|
-
RmsApiRuby::Chain::Logger.new(level, message)
|
55
|
-
end
|
56
|
-
|
57
20
|
def start_message
|
58
21
|
"RMS ItemAPI '#{api_name}' started. args: #{@args.inspect}"
|
59
22
|
end
|
@@ -61,14 +24,6 @@ module RmsApiRuby
|
|
61
24
|
def complete_message
|
62
25
|
"RMS ItemAPI '#{api_name}' completed."
|
63
26
|
end
|
64
|
-
|
65
|
-
def form_params(args)
|
66
|
-
if http_method == :get
|
67
|
-
camelize_keys(args, :lower)
|
68
|
-
else
|
69
|
-
camelize_keys(args, :lower).to_xml(root: :request, skip_types: true)
|
70
|
-
end
|
71
|
-
end
|
72
27
|
end
|
73
28
|
end
|
74
29
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rms_api_ruby/rest_api/base'
|
2
|
+
|
3
|
+
module RmsApiRuby
|
4
|
+
class Navigation
|
5
|
+
class Base < RmsApiRuby::RestApi::Base
|
6
|
+
private
|
7
|
+
|
8
|
+
def api_name
|
9
|
+
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
10
|
+
end
|
11
|
+
|
12
|
+
def base_url
|
13
|
+
"https://api.rms.rakuten.co.jp/es/#{api_version}/navigation/"
|
14
|
+
end
|
15
|
+
|
16
|
+
def api_version
|
17
|
+
RmsApiRuby.configuration.navigation_api_version
|
18
|
+
end
|
19
|
+
|
20
|
+
def start_message
|
21
|
+
"RMS NavigationAPI '#{api_name}' started. args: #{@args.inspect}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def complete_message
|
25
|
+
"RMS NavigationAPI '#{api_name}' completed."
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rms_api_ruby/navigation/base'
|
2
|
+
|
3
|
+
module RmsApiRuby
|
4
|
+
class Navigation
|
5
|
+
class GenreGet < RmsApiRuby::Navigation::Base
|
6
|
+
private
|
7
|
+
|
8
|
+
def http_method
|
9
|
+
:get
|
10
|
+
end
|
11
|
+
|
12
|
+
def url
|
13
|
+
"#{base_url}genre/get"
|
14
|
+
end
|
15
|
+
|
16
|
+
def api_name
|
17
|
+
'genre get'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rms_api_ruby/navigation/base'
|
2
|
+
|
3
|
+
module RmsApiRuby
|
4
|
+
class Navigation
|
5
|
+
class GenreHeaderGet < RmsApiRuby::Navigation::Base
|
6
|
+
private
|
7
|
+
|
8
|
+
def http_method
|
9
|
+
:get
|
10
|
+
end
|
11
|
+
|
12
|
+
def url
|
13
|
+
"#{base_url}genre/header/get"
|
14
|
+
end
|
15
|
+
|
16
|
+
def api_name
|
17
|
+
'genre header get'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rms_api_ruby/navigation/base'
|
2
|
+
|
3
|
+
module RmsApiRuby
|
4
|
+
class Navigation
|
5
|
+
class GenreTagGet < RmsApiRuby::Navigation::Base
|
6
|
+
private
|
7
|
+
|
8
|
+
def http_method
|
9
|
+
:get
|
10
|
+
end
|
11
|
+
|
12
|
+
def url
|
13
|
+
"#{base_url}genre/tag/get"
|
14
|
+
end
|
15
|
+
|
16
|
+
def api_name
|
17
|
+
'genre tag get'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module RmsApiRuby
|
2
|
+
class Navigation
|
3
|
+
autoload :GenreGet, 'rms_api_ruby/navigation/genre_get'
|
4
|
+
autoload :GenreTagGet, 'rms_api_ruby/navigation/genre_tag_get'
|
5
|
+
autoload :GenreHeaderGet, 'rms_api_ruby/navigation/genre_header_get'
|
6
|
+
|
7
|
+
API_METHODS = %w[
|
8
|
+
genre_get
|
9
|
+
genre_tag_get
|
10
|
+
genre_header_get
|
11
|
+
].freeze
|
12
|
+
|
13
|
+
class << self
|
14
|
+
API_METHODS.each do |api_method|
|
15
|
+
define_method api_method do |args = nil|
|
16
|
+
api_class = "RmsApiRuby::Navigation::#{api_method.camelize}"
|
17
|
+
call_api api_class.constantize.new(args)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def call_api(api)
|
24
|
+
Flow.new.
|
25
|
+
chain(response: :response) { api.call }.
|
26
|
+
on_dam { |error| handle_error(error) }.
|
27
|
+
outflow.
|
28
|
+
try(:response)
|
29
|
+
end
|
30
|
+
|
31
|
+
def handle_error(error)
|
32
|
+
raise error
|
33
|
+
rescue ServerError, AuthenticationError => e
|
34
|
+
RmsApiRuby.configuration.logger.error(e.message)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'rms_api_ruby/rest_api/base'
|
2
|
+
|
3
|
+
module RmsApiRuby
|
4
|
+
class Product
|
5
|
+
class << self
|
6
|
+
def search(args)
|
7
|
+
Flow.new.
|
8
|
+
chain(response: :response) { Client.new(args).call }.
|
9
|
+
on_dam { |error| handle_error(error) }.
|
10
|
+
outflow.
|
11
|
+
try(:response)
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def handle_error(error)
|
17
|
+
raise error
|
18
|
+
rescue ServerError, AuthenticationError => e
|
19
|
+
RmsApiRuby.configuration.logger.error(e.message)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class Client < RmsApiRuby::RestApi::Base
|
24
|
+
private
|
25
|
+
|
26
|
+
def http_method
|
27
|
+
:get
|
28
|
+
end
|
29
|
+
|
30
|
+
def url
|
31
|
+
"https://api.rms.rakuten.co.jp/es/#{api_version}/product/search"
|
32
|
+
end
|
33
|
+
|
34
|
+
def start_message
|
35
|
+
"RMS ProductAPI 'SEARCH' started. args: #{@args.inspect}"
|
36
|
+
end
|
37
|
+
|
38
|
+
def complete_message
|
39
|
+
"RMS ProductAPI 'SEARCH' completed."
|
40
|
+
end
|
41
|
+
|
42
|
+
def api_version
|
43
|
+
RmsApiRuby.configuration.product_api_version
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'rms_api_ruby/chain'
|
2
|
+
require 'rms_api_ruby/utility/hash_keys_camelizable'
|
3
|
+
|
4
|
+
module RmsApiRuby
|
5
|
+
class RestApi
|
6
|
+
class Base
|
7
|
+
include Waterfall
|
8
|
+
include RmsApiRuby::HashKeysCamelizable
|
9
|
+
|
10
|
+
def initialize(args, client_class = RmsApiRuby::Chain::HttpClient)
|
11
|
+
@args = args
|
12
|
+
@client = client_class.new(
|
13
|
+
method: http_method,
|
14
|
+
url: url,
|
15
|
+
params: form_params(args),
|
16
|
+
headers: http_headers,
|
17
|
+
return_method: :result
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def call
|
22
|
+
chain { log :info, start_message }
|
23
|
+
chain(response: :response) { @client.call }
|
24
|
+
chain { log :info, complete_message }
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def http_method
|
30
|
+
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
31
|
+
end
|
32
|
+
|
33
|
+
def url
|
34
|
+
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def start_message
|
38
|
+
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
39
|
+
end
|
40
|
+
|
41
|
+
def complete_message
|
42
|
+
raise NotImplementedError, "You must implement #{self.class}##{__method__}"
|
43
|
+
end
|
44
|
+
|
45
|
+
def http_headers
|
46
|
+
{ Authorization: RmsApiRuby::Authentication.key }
|
47
|
+
end
|
48
|
+
|
49
|
+
def log(level, message)
|
50
|
+
RmsApiRuby::Chain::Logger.new(level, message)
|
51
|
+
end
|
52
|
+
|
53
|
+
def form_params(args)
|
54
|
+
camelized_params = camelize_keys(args, :lower)
|
55
|
+
if http_method == :get
|
56
|
+
camelized_params
|
57
|
+
elsif camelized_params.nil?
|
58
|
+
nil
|
59
|
+
else
|
60
|
+
camelized_params.to_xml(root: :request, skip_types: true)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -3,6 +3,7 @@ require 'active_support/core_ext'
|
|
3
3
|
module RmsApiRuby
|
4
4
|
module HashKeysCamelizable
|
5
5
|
def camelize_keys(hash, first_letter = :upper)
|
6
|
+
return nil if hash.nil?
|
6
7
|
hash.each_with_object({}) do |(key, val), acc|
|
7
8
|
if val.is_a?(Array)
|
8
9
|
val = val.map { |v| to_camel_keys(v, first_letter) }
|
data/lib/rms_api_ruby/version.rb
CHANGED
data/lib/rms_api_ruby.rb
CHANGED
@@ -17,6 +17,8 @@ module RmsApiRuby
|
|
17
17
|
autoload :Inventory, 'rms_api_ruby/inventory'
|
18
18
|
autoload :Item, 'rms_api_ruby/item'
|
19
19
|
autoload :Items, 'rms_api_ruby/items'
|
20
|
+
autoload :Product, 'rms_api_ruby/product'
|
21
|
+
autoload :Navigation, 'rms_api_ruby/navigation'
|
20
22
|
|
21
23
|
def self.root
|
22
24
|
File.dirname __dir__
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rms_api_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kaicoh
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06
|
11
|
+
date: 2018-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -187,7 +187,9 @@ files:
|
|
187
187
|
- config/wsdl/inventory_v_1.0.wsdl
|
188
188
|
- docs/inventory_api.md
|
189
189
|
- docs/item_api.md
|
190
|
+
- docs/navigation_api.md
|
190
191
|
- docs/order_api.md
|
192
|
+
- docs/product_api.md
|
191
193
|
- lib/rms_api_ruby.rb
|
192
194
|
- lib/rms_api_ruby/authentication.rb
|
193
195
|
- lib/rms_api_ruby/chain.rb
|
@@ -204,8 +206,15 @@ files:
|
|
204
206
|
- lib/rms_api_ruby/item/search.rb
|
205
207
|
- lib/rms_api_ruby/item/update.rb
|
206
208
|
- lib/rms_api_ruby/items.rb
|
209
|
+
- lib/rms_api_ruby/navigation.rb
|
210
|
+
- lib/rms_api_ruby/navigation/base.rb
|
211
|
+
- lib/rms_api_ruby/navigation/genre_get.rb
|
212
|
+
- lib/rms_api_ruby/navigation/genre_header_get.rb
|
213
|
+
- lib/rms_api_ruby/navigation/genre_tag_get.rb
|
207
214
|
- lib/rms_api_ruby/order.rb
|
208
215
|
- lib/rms_api_ruby/orders.rb
|
216
|
+
- lib/rms_api_ruby/product.rb
|
217
|
+
- lib/rms_api_ruby/rest_api/base.rb
|
209
218
|
- lib/rms_api_ruby/soap_api.rb
|
210
219
|
- lib/rms_api_ruby/soap_api/client.rb
|
211
220
|
- lib/rms_api_ruby/utility/hash_keys_camelizable.rb
|