class ShippingScale::Request
Attributes
api[R]
secure[R]
tag[R]
packages[R]
response[RW]
Public Class Methods
config(options = {})
click to toggle source
# File lib/shipping_scale/request.rb, line 6 def config(options = {}) defaults = {api: "RateV4", tag: "RateV4Request"} options = defaults.merge(options) @api = options[:api] @tag = options[:tag] @secure = !!options[:secure] end
new(options={})
click to toggle source
# File lib/shipping_scale/request.rb, line 16 def initialize(options={}) @response = options[:response] @packages = options[:packages] end
Public Instance Methods
api()
click to toggle source
# File lib/shipping_scale/request.rb, line 28 def api self.class.api end
build()
click to toggle source
# File lib/shipping_scale/request.rb, line 32 def build xml.tag!(self.class.tag, USERID: ShippingScale.config.user_id) do |req| req.tag!("Revision", "2") packages_to_xml(req) end xml end
secure?()
click to toggle source
# File lib/shipping_scale/request.rb, line 24 def secure? !!self.class.secure end
send!()
click to toggle source
# File lib/shipping_scale/request.rb, line 40 def send! ShippingScale.client.request(self) end
Private Instance Methods
packages_to_xml(xml)
click to toggle source
# File lib/shipping_scale/request.rb, line 46 def packages_to_xml(xml) i = 1 packages.each do |package| xml.tag!("Package", ID: i) { |pac| package.build_xml(pac) } i += 1 end end
xml()
click to toggle source
# File lib/shipping_scale/request.rb, line 54 def xml @_xml ||= Builder::XmlMarkup.new(indent: 0) end