Class: Shipping::Base
Direct Known Subclasses
Instance Attribute Summary collapse
-
#address ⇒ Object
Returns the value of attribute address.
-
#address2 ⇒ Object
Returns the value of attribute address2.
-
#city ⇒ Object
Returns the value of attribute city.
-
#company ⇒ Object
Returns the value of attribute company.
-
#country ⇒ Object
Returns the value of attribute country.
-
#currency_code ⇒ Object
Returns the value of attribute currency_code.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#declared_value ⇒ Object
Returns the value of attribute declared_value.
-
#description ⇒ Object
Returns the value of attribute description.
-
#discount_price ⇒ Object
Returns the value of attribute discount_price.
-
#dropoff_type ⇒ Object
Returns the value of attribute dropoff_type.
-
#email ⇒ Object
Returns the value of attribute email.
-
#eta ⇒ Object
Returns the value of attribute eta.
-
#fedex_account ⇒ Object
writeonly
Sets the attribute fedex_account.
-
#fedex_meter ⇒ Object
writeonly
Sets the attribute fedex_meter.
-
#fedex_package_weight_limit_in_lbs ⇒ Object
writeonly
Sets the attribute fedex_package_weight_limit_in_lbs.
-
#fedex_url ⇒ Object
writeonly
Sets the attribute fedex_url.
-
#image_type ⇒ Object
Returns the value of attribute image_type.
-
#insured_value ⇒ Object
Returns the value of attribute insured_value.
-
#label_type ⇒ Object
Returns the value of attribute label_type.
-
#measure_height ⇒ Object
Returns the value of attribute measure_height.
-
#measure_length ⇒ Object
Returns the value of attribute measure_length.
-
#measure_units ⇒ Object
Returns the value of attribute measure_units.
-
#measure_width ⇒ Object
Returns the value of attribute measure_width.
-
#name ⇒ Object
Returns the value of attribute name.
-
#package_total ⇒ Object
Returns the value of attribute package_total.
-
#packaging_type ⇒ Object
Returns the value of attribute packaging_type.
-
#pay_type ⇒ Object
Returns the value of attribute pay_type.
-
#phone ⇒ Object
Returns the value of attribute phone.
-
#plain_response ⇒ Object
readonly
Returns the value of attribute plain_response.
-
#price ⇒ Object
Returns the value of attribute price.
-
#required ⇒ Object
readonly
Returns the value of attribute required.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
-
#sender_address ⇒ Object
Returns the value of attribute sender_address.
-
#sender_city ⇒ Object
Returns the value of attribute sender_city.
-
#sender_company ⇒ Object
Returns the value of attribute sender_company.
-
#sender_country ⇒ Object
Returns the value of attribute sender_country.
-
#sender_email ⇒ Object
Returns the value of attribute sender_email.
-
#sender_name ⇒ Object
Returns the value of attribute sender_name.
-
#sender_phone ⇒ Object
Returns the value of attribute sender_phone.
-
#sender_state ⇒ Object
Returns the value of attribute sender_state.
-
#sender_zip ⇒ Object
Returns the value of attribute sender_zip.
-
#service_type ⇒ Object
Returns the value of attribute service_type.
-
#services ⇒ Object
readonly
Returns the value of attribute services.
-
#ship_date ⇒ Object
Returns the value of attribute ship_date.
-
#state ⇒ Object
Returns the value of attribute state.
-
#time_in_transit ⇒ Object
Returns the value of attribute time_in_transit.
-
#transaction_type ⇒ Object
Returns the value of attribute transaction_type.
-
#ups_license_number ⇒ Object
writeonly
Sets the attribute ups_license_number.
-
#ups_password ⇒ Object
writeonly
Sets the attribute ups_password.
-
#ups_shipper_number ⇒ Object
writeonly
Sets the attribute ups_shipper_number.
-
#ups_tool ⇒ Object
writeonly
Sets the attribute ups_tool.
-
#ups_url ⇒ Object
writeonly
Sets the attribute ups_url.
-
#ups_user ⇒ Object
writeonly
Sets the attribute ups_user.
-
#weight ⇒ Object
Returns the value of attribute weight.
-
#weight_units ⇒ Object
Returns the value of attribute weight_units.
-
#zip ⇒ Object
Returns the value of attribute zip.
Class Method Summary collapse
Instance Method Summary collapse
-
#fedex ⇒ Object
Initializes an instance of Shipping::FedEx with the same instance variables as the base object.
-
#initialize(options = {}) ⇒ Base
constructor
A new instance of Base.
-
#ups ⇒ Object
Initializes an instance of Shipping::UPS with the same instance variables as the base object.
Constructor Details
#initialize(options = {}) ⇒ Base
Returns a new instance of Base.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/shipping/base.rb', line 28 def initialize( = {}) prefs = File.([:prefs] || "~/.shipping.yml") YAML.load(File.open(prefs)).each {|pref, value| eval("@#{pref} = #{value.inspect}")} if File.exists?(prefs) @required = Array.new @services = Array.new # include all provided data .each do |method, value| instance_variable_set("@#{method}", value) end case [:carrier] when "fedex" fedex when "ups" ups when nil else raise ShippingError, "unknown service" end end |
Instance Attribute Details
#address ⇒ Object
Returns the value of attribute address.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def address @address end |
#address2 ⇒ Object
Returns the value of attribute address2.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def address2 @address2 end |
#city ⇒ Object
Returns the value of attribute city.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def city @city end |
#company ⇒ Object
Returns the value of attribute company.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def company @company end |
#country ⇒ Object
Returns the value of attribute country.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def country @country end |
#currency_code ⇒ Object
Returns the value of attribute currency_code.
26 27 28 |
# File 'lib/shipping/base.rb', line 26 def currency_code @currency_code end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
12 13 14 |
# File 'lib/shipping/base.rb', line 12 def data @data end |
#declared_value ⇒ Object
Returns the value of attribute declared_value.
20 21 22 |
# File 'lib/shipping/base.rb', line 20 def declared_value @declared_value end |
#description ⇒ Object
Returns the value of attribute description.
20 21 22 |
# File 'lib/shipping/base.rb', line 20 def description @description end |
#discount_price ⇒ Object
Returns the value of attribute discount_price.
24 25 26 |
# File 'lib/shipping/base.rb', line 24 def discount_price @discount_price end |
#dropoff_type ⇒ Object
Returns the value of attribute dropoff_type.
26 27 28 |
# File 'lib/shipping/base.rb', line 26 def dropoff_type @dropoff_type end |
#email ⇒ Object
Returns the value of attribute email.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def email @email end |
#eta ⇒ Object
Returns the value of attribute eta.
24 25 26 |
# File 'lib/shipping/base.rb', line 24 def eta @eta end |
#fedex_account=(value) ⇒ Object (writeonly)
Sets the attribute fedex_account
15 16 17 |
# File 'lib/shipping/base.rb', line 15 def fedex_account=(value) @fedex_account = value end |
#fedex_meter=(value) ⇒ Object (writeonly)
Sets the attribute fedex_meter
15 16 17 |
# File 'lib/shipping/base.rb', line 15 def fedex_meter=(value) @fedex_meter = value end |
#fedex_package_weight_limit_in_lbs=(value) ⇒ Object (writeonly)
Sets the attribute fedex_package_weight_limit_in_lbs
15 16 17 |
# File 'lib/shipping/base.rb', line 15 def fedex_package_weight_limit_in_lbs=(value) @fedex_package_weight_limit_in_lbs = value end |
#fedex_url=(value) ⇒ Object (writeonly)
Sets the attribute fedex_url
15 16 17 |
# File 'lib/shipping/base.rb', line 15 def fedex_url=(value) @fedex_url = value end |
#image_type ⇒ Object
Returns the value of attribute image_type.
26 27 28 |
# File 'lib/shipping/base.rb', line 26 def image_type @image_type end |
#insured_value ⇒ Object
Returns the value of attribute insured_value.
20 21 22 |
# File 'lib/shipping/base.rb', line 20 def insured_value @insured_value end |
#label_type ⇒ Object
Returns the value of attribute label_type.
26 27 28 |
# File 'lib/shipping/base.rb', line 26 def label_type @label_type end |
#measure_height ⇒ Object
Returns the value of attribute measure_height.
21 22 23 |
# File 'lib/shipping/base.rb', line 21 def measure_height @measure_height end |
#measure_length ⇒ Object
Returns the value of attribute measure_length.
21 22 23 |
# File 'lib/shipping/base.rb', line 21 def measure_length @measure_length end |
#measure_units ⇒ Object
Returns the value of attribute measure_units.
21 22 23 |
# File 'lib/shipping/base.rb', line 21 def measure_units @measure_units end |
#measure_width ⇒ Object
Returns the value of attribute measure_width.
21 22 23 |
# File 'lib/shipping/base.rb', line 21 def measure_width @measure_width end |
#name ⇒ Object
Returns the value of attribute name.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def name @name end |
#package_total ⇒ Object
Returns the value of attribute package_total.
22 23 24 |
# File 'lib/shipping/base.rb', line 22 def package_total @package_total end |
#packaging_type ⇒ Object
Returns the value of attribute packaging_type.
22 23 24 |
# File 'lib/shipping/base.rb', line 22 def packaging_type @packaging_type end |
#pay_type ⇒ Object
Returns the value of attribute pay_type.
26 27 28 |
# File 'lib/shipping/base.rb', line 26 def pay_type @pay_type end |
#phone ⇒ Object
Returns the value of attribute phone.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def phone @phone end |
#plain_response ⇒ Object (readonly)
Returns the value of attribute plain_response.
12 13 14 |
# File 'lib/shipping/base.rb', line 12 def plain_response @plain_response end |
#price ⇒ Object
Returns the value of attribute price.
24 25 26 |
# File 'lib/shipping/base.rb', line 24 def price @price end |
#required ⇒ Object (readonly)
Returns the value of attribute required.
12 13 14 |
# File 'lib/shipping/base.rb', line 12 def required @required end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
12 13 14 |
# File 'lib/shipping/base.rb', line 12 def response @response end |
#sender_address ⇒ Object
Returns the value of attribute sender_address.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_address @sender_address end |
#sender_city ⇒ Object
Returns the value of attribute sender_city.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_city @sender_city end |
#sender_company ⇒ Object
Returns the value of attribute sender_company.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_company @sender_company end |
#sender_country ⇒ Object
Returns the value of attribute sender_country.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_country @sender_country end |
#sender_email ⇒ Object
Returns the value of attribute sender_email.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_email @sender_email end |
#sender_name ⇒ Object
Returns the value of attribute sender_name.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_name @sender_name end |
#sender_phone ⇒ Object
Returns the value of attribute sender_phone.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_phone @sender_phone end |
#sender_state ⇒ Object
Returns the value of attribute sender_state.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_state @sender_state end |
#sender_zip ⇒ Object
Returns the value of attribute sender_zip.
18 19 20 |
# File 'lib/shipping/base.rb', line 18 def sender_zip @sender_zip end |
#service_type ⇒ Object
Returns the value of attribute service_type.
22 23 24 |
# File 'lib/shipping/base.rb', line 22 def service_type @service_type end |
#services ⇒ Object (readonly)
Returns the value of attribute services.
12 13 14 |
# File 'lib/shipping/base.rb', line 12 def services @services end |
#ship_date ⇒ Object
Returns the value of attribute ship_date.
26 27 28 |
# File 'lib/shipping/base.rb', line 26 def ship_date @ship_date end |
#state ⇒ Object
Returns the value of attribute state.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def state @state end |
#time_in_transit ⇒ Object
Returns the value of attribute time_in_transit.
24 25 26 |
# File 'lib/shipping/base.rb', line 24 def time_in_transit @time_in_transit end |
#transaction_type ⇒ Object
Returns the value of attribute transaction_type.
20 21 22 |
# File 'lib/shipping/base.rb', line 20 def transaction_type @transaction_type end |
#ups_license_number=(value) ⇒ Object (writeonly)
Sets the attribute ups_license_number
14 15 16 |
# File 'lib/shipping/base.rb', line 14 def ups_license_number=(value) @ups_license_number = value end |
#ups_password=(value) ⇒ Object (writeonly)
Sets the attribute ups_password
14 15 16 |
# File 'lib/shipping/base.rb', line 14 def ups_password=(value) @ups_password = value end |
#ups_shipper_number=(value) ⇒ Object (writeonly)
Sets the attribute ups_shipper_number
14 15 16 |
# File 'lib/shipping/base.rb', line 14 def ups_shipper_number=(value) @ups_shipper_number = value end |
#ups_tool=(value) ⇒ Object (writeonly)
Sets the attribute ups_tool
14 15 16 |
# File 'lib/shipping/base.rb', line 14 def ups_tool=(value) @ups_tool = value end |
#ups_url=(value) ⇒ Object (writeonly)
Sets the attribute ups_url
14 15 16 |
# File 'lib/shipping/base.rb', line 14 def ups_url=(value) @ups_url = value end |
#ups_user=(value) ⇒ Object (writeonly)
Sets the attribute ups_user
14 15 16 |
# File 'lib/shipping/base.rb', line 14 def ups_user=(value) @ups_user = value end |
#weight ⇒ Object
Returns the value of attribute weight.
20 21 22 |
# File 'lib/shipping/base.rb', line 20 def weight @weight end |
#weight_units ⇒ Object
Returns the value of attribute weight_units.
20 21 22 |
# File 'lib/shipping/base.rb', line 20 def weight_units @weight_units end |
#zip ⇒ Object
Returns the value of attribute zip.
17 18 19 |
# File 'lib/shipping/base.rb', line 17 def zip @zip end |
Class Method Details
.plain ⇒ Object
166 |
# File 'lib/shipping/base.rb', line 166 def @response.plain; @response_plain; end |
.state_from_zip(zip) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/shipping/base.rb', line 63 def self.state_from_zip(zip) zip = zip.to_i { (99500...99929) => "AK", (35000...36999) => "AL", (71600...72999) => "AR", (75502...75505) => "AR", (85000...86599) => "AZ", (90000...96199) => "CA", (80000...81699) => "CO", (6000...6999) => "CT", (20000...20099) => "DC", (20200...20599) => "DC", (19700...19999) => "DE", (32000...33999) => "FL", (34100...34999) => "FL", (30000...31999) => "GA", (96700...96798) => "HI", (96800...96899) => "HI", (50000...52999) => "IA", (83200...83899) => "ID", (60000...62999) => "IL", (46000...47999) => "IN", (66000...67999) => "KS", (40000...42799) => "KY", (45275...45275) => "KY", (70000...71499) => "LA", (71749...71749) => "LA", (1000...2799) => "MA", (20331...20331) => "MD", (20600...21999) => "MD", (3801...3801) => "ME", (3804...3804) => "ME", (3900...4999) => "ME", (48000...49999) => "MI", (55000...56799) => "MN", (63000...65899) => "MO", (38600...39799) => "MS", (59000...59999) => "MT", (27000...28999) => "NC", (58000...58899) => "ND", (68000...69399) => "NE", (3000...3803) => "NH", (3809...3899) => "NH", (7000...8999) => "NJ", (87000...88499) => "NM", (89000...89899) => "NV", (400...599) => "NY", (6390...6390) => "NY", (9000...14999) => "NY", (43000...45999) => "OH", (73000...73199) => "OK", (73400...74999) => "OK", (97000...97999) => "OR", (15000...19699) => "PA", (2800...2999) => "RI", (6379...6379) => "RI", (29000...29999) => "SC", (57000...57799) => "SD", (37000...38599) => "TN", (72395...72395) => "TN", (73300...73399) => "TX", (73949...73949) => "TX", (75000...79999) => "TX", (88501...88599) => "TX", (84000...84799) => "UT", (20105...20199) => "VA", (20301...20301) => "VA", (20370...20370) => "VA", (22000...24699) => "VA", (5000...5999) => "VT", (98000...99499) => "WA", (49936...49936) => "WI", (53000...54999) => "WI", (24700...26899) => "WV", (82000...83199) => "WY" }.each do |range, state| return state if range.include? zip end raise ShippingError, "Invalid zip code" end |