Class: Peddler::Client
- Inherits:
-
Object
- Object
- Peddler::Client
- Extended by:
- Forwardable
- Includes:
- Jeff
- Defined in:
- lib/peddler/client.rb
Overview
An abstract client
Subclass to implement an MWS API section.
Direct Known Subclasses
MWS::Feeds::Client, MWS::Finances::Client, MWS::FulfillmentInboundShipment::Client, MWS::FulfillmentInventory::Client, MWS::FulfillmentOutboundShipment::Client, MWS::MerchantFulfillment::Client, MWS::OffAmazonPayments::Client, MWS::Orders::Client, MWS::Products::Client, MWS::Recommendations::Client, MWS::Reports::Client, MWS::Sellers::Client, MWS::Subscriptions::Client
Class Attribute Summary collapse
- .error_handler ⇒ Object private
- .parser ⇒ Object private
Instance Attribute Summary collapse
-
#auth_token ⇒ String
The MWSAuthToken used to access another seller’s account.
-
#body ⇒ String
The body of the HTTP request.
-
#merchant_id ⇒ String
The merchant’s Seller ID.
-
#path ⇒ String
The HTTP path of the API.
-
#primary_marketplace_id ⇒ String
The merchant’s Marketplace ID.
- #version ⇒ Object private
Class Method Summary collapse
-
.on_error {|error| ... } ⇒ Object
Sets an error handler.
- .path(path = nil) ⇒ Object private
- .version(version = nil) ⇒ Object private
Instance Method Summary collapse
- #aws_endpoint ⇒ Object private
- #defaults ⇒ Object private
- #error_handler ⇒ Object private
- #headers ⇒ Object private
-
#initialize(opts = {}) ⇒ Client
constructor
Creates a new client instance.
- #marketplace ⇒ Object private
- #marketplace_id ⇒ Object deprecated Deprecated.
- #marketplace_id=(marketplace_id) ⇒ Object deprecated Deprecated.
-
#on_error {|error| ... } ⇒ Object
Sets an error handler.
- #operation(action = nil) ⇒ Object private
- #run ⇒ Object private
Constructor Details
#initialize(opts = {}) ⇒ Client
Creates a new client instance
80 81 82 |
# File 'lib/peddler/client.rb', line 80 def initialize(opts = {}) opts.each { |k, v| send("#{k}=", v) } end |
Class Attribute Details
.error_handler ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
41 42 43 |
# File 'lib/peddler/client.rb', line 41 def error_handler @error_handler end |
.parser ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
41 42 43 |
# File 'lib/peddler/client.rb', line 41 def parser @parser end |
Instance Attribute Details
#auth_token ⇒ String
The MWSAuthToken used to access another seller’s account
18 19 20 |
# File 'lib/peddler/client.rb', line 18 def auth_token @auth_token end |
#body ⇒ String
The body of the HTTP request
27 28 29 |
# File 'lib/peddler/client.rb', line 27 def body @body end |
#merchant_id ⇒ String
The merchant’s Seller ID
109 110 111 |
# File 'lib/peddler/client.rb', line 109 def merchant_id @merchant_id ||= ENV['MWS_MERCHANT_ID'] end |
#path ⇒ String
The HTTP path of the API
121 122 123 |
# File 'lib/peddler/client.rb', line 121 def path @path ||= self.class.path end |
#primary_marketplace_id ⇒ String
The merchant’s Marketplace ID
92 93 94 |
# File 'lib/peddler/client.rb', line 92 def primary_marketplace_id @primary_marketplace_id ||= ENV['MWS_MARKETPLACE_ID'] end |
#version ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
126 127 128 |
# File 'lib/peddler/client.rb', line 126 def version @version ||= self.class.version end |
Class Method Details
.on_error {|error| ... } ⇒ Object
Sets an error handler
55 56 57 |
# File 'lib/peddler/client.rb', line 55 def on_error(&blk) @error_handler = blk end |
.path(path = nil) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
44 45 46 |
# File 'lib/peddler/client.rb', line 44 def path(path = nil) path ? @path = path : @path ||= '/' end |
.version(version = nil) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
49 50 51 |
# File 'lib/peddler/client.rb', line 49 def version(version = nil) version ? @version = version : @version ||= nil end |
Instance Method Details
#aws_endpoint ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
85 86 87 |
# File 'lib/peddler/client.rb', line 85 def aws_endpoint "https://#{host}#{path}" end |
#defaults ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
142 143 144 |
# File 'lib/peddler/client.rb', line 142 def defaults @defaults ||= { expects: 200 } end |
#error_handler ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
158 159 160 |
# File 'lib/peddler/client.rb', line 158 def error_handler (@error_handler ||= nil) || self.class.error_handler end |
#headers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
147 148 149 |
# File 'lib/peddler/client.rb', line 147 def headers @headers ||= {} end |
#marketplace ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
114 115 116 |
# File 'lib/peddler/client.rb', line 114 def marketplace @marketplace ||= find_marketplace end |
#marketplace_id ⇒ Object
97 98 99 |
# File 'lib/peddler/client.rb', line 97 def marketplace_id @primary_marketplace_id end |
#marketplace_id=(marketplace_id) ⇒ Object
102 103 104 |
# File 'lib/peddler/client.rb', line 102 def marketplace_id=(marketplace_id) @primary_marketplace_id = marketplace_id end |
#on_error {|error| ... } ⇒ Object
Sets an error handler
153 154 155 |
# File 'lib/peddler/client.rb', line 153 def on_error(&blk) @error_handler = blk end |
#operation(action = nil) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
163 164 165 |
# File 'lib/peddler/client.rb', line 163 def operation(action = nil) action ? @operation = Operation.new(action) : @operation end |
#run ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
168 169 170 171 172 173 174 175 176 |
# File 'lib/peddler/client.rb', line 168 def run opts = opts.store(:response_block, Proc.new) if block_given? res = post(opts) parser.new(res, encoding) rescue Excon::Error => e handle_error(e) end |