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.
136 137 138 |
# File 'lib/peddler/client.rb', line 136 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.
152 153 154 |
# File 'lib/peddler/client.rb', line 152 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.
141 142 143 |
# File 'lib/peddler/client.rb', line 141 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
147 148 149 |
# File 'lib/peddler/client.rb', line 147 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.
157 158 159 |
# File 'lib/peddler/client.rb', line 157 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.
162 163 164 165 166 167 168 169 170 171 |
# File 'lib/peddler/client.rb', line 162 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 |