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
82 83 84 |
# File 'lib/peddler/client.rb', line 82 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.
43 44 45 |
# File 'lib/peddler/client.rb', line 43 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.
43 44 45 |
# File 'lib/peddler/client.rb', line 43 def parser @parser end |
Instance Attribute Details
#auth_token ⇒ String
The MWSAuthToken used to access another seller’s account
20 21 22 |
# File 'lib/peddler/client.rb', line 20 def auth_token @auth_token end |
#body ⇒ String
The body of the HTTP request
29 30 31 |
# File 'lib/peddler/client.rb', line 29 def body @body end |
#merchant_id ⇒ String
The merchant’s Seller ID
111 112 113 |
# File 'lib/peddler/client.rb', line 111 def merchant_id @merchant_id ||= ENV['MWS_MERCHANT_ID'] end |
#path ⇒ String
The HTTP path of the API
123 124 125 |
# File 'lib/peddler/client.rb', line 123 def path @path ||= self.class.path end |
#primary_marketplace_id ⇒ String
The merchant’s Marketplace ID
94 95 96 |
# File 'lib/peddler/client.rb', line 94 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.
128 129 130 |
# File 'lib/peddler/client.rb', line 128 def version @version ||= self.class.version end |
Class Method Details
.on_error {|error| ... } ⇒ Object
Sets an error handler
57 58 59 |
# File 'lib/peddler/client.rb', line 57 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.
46 47 48 |
# File 'lib/peddler/client.rb', line 46 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.
51 52 53 |
# File 'lib/peddler/client.rb', line 51 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.
87 88 89 |
# File 'lib/peddler/client.rb', line 87 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.
138 139 140 |
# File 'lib/peddler/client.rb', line 138 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.
154 155 156 |
# File 'lib/peddler/client.rb', line 154 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.
143 144 145 |
# File 'lib/peddler/client.rb', line 143 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.
116 117 118 |
# File 'lib/peddler/client.rb', line 116 def marketplace @marketplace ||= find_marketplace end |
#marketplace_id ⇒ Object
99 100 101 |
# File 'lib/peddler/client.rb', line 99 def marketplace_id @primary_marketplace_id end |
#marketplace_id=(marketplace_id) ⇒ Object
104 105 106 |
# File 'lib/peddler/client.rb', line 104 def marketplace_id=(marketplace_id) @primary_marketplace_id = marketplace_id end |
#on_error {|error| ... } ⇒ Object
Sets an error handler
149 150 151 |
# File 'lib/peddler/client.rb', line 149 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.
159 160 161 |
# File 'lib/peddler/client.rb', line 159 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.
164 165 166 167 168 169 170 171 172 173 |
# File 'lib/peddler/client.rb', line 164 def run opts = opts.store(:response_block, Proc.new) if block_given? res = post(opts) self.body = nil if res.status == 200 parser.new(res, encoding) rescue Excon::Error => e handle_error(e) end |