class FriendlyShipping::Services::Usps::RateEstimatePackageOptions
Attributes
box_name[R]
commercial_pricing[R]
first_class_mail_type[R]
hold_for_pickup[R]
rectangular[R]
shipping_method[R]
transmit_dimensions[R]
Public Class Methods
new( box_name: :variable, commercial_pricing: false, first_class_mail_type: nil, hold_for_pickup: false, shipping_method: nil, transmit_dimensions: true, rectangular: true, **kwargs )
click to toggle source
Calls superclass method
FriendlyShipping::PackageOptions::new
# File lib/friendly_shipping/services/usps/rate_estimate_package_options.rb, line 21 def initialize( box_name: :variable, commercial_pricing: false, first_class_mail_type: nil, hold_for_pickup: false, shipping_method: nil, transmit_dimensions: true, rectangular: true, **kwargs ) @box_name = CONTAINERS.key?(box_name) ? box_name : :variable @commercial_pricing = commercial_pricing @first_class_mail_type = first_class_mail_type @hold_for_pickup = hold_for_pickup @shipping_method = shipping_method @transmit_dimensions = transmit_dimensions @rectangular = rectangular super kwargs end
Public Instance Methods
container_code()
click to toggle source
# File lib/friendly_shipping/services/usps/rate_estimate_package_options.rb, line 41 def container_code CONTAINERS.fetch(box_name) end
first_class_mail_type_code()
click to toggle source
# File lib/friendly_shipping/services/usps/rate_estimate_package_options.rb, line 45 def first_class_mail_type_code FIRST_CLASS_MAIL_TYPES[first_class_mail_type] end
service_code()
click to toggle source
# File lib/friendly_shipping/services/usps/rate_estimate_package_options.rb, line 49 def service_code return 'ALL' unless shipping_method # Cubic shipping methods don't have HFP or COMMERCIAL modifiers return shipping_method.service_code if shipping_method.service_code =~ /CUBIC/ service_code = [shipping_method.service_code] service_code << 'HFP' if hold_for_pickup service_code << 'COMMERCIAL' if commercial_pricing service_code.join(' ') end