Class: FreightKit::DRRQ
- Defined in:
- lib/freight_kit/carriers/drrq.rb
Constant Summary collapse
- REACTIVE_FREIGHT_CARRIER =
true- JSON_HEADERS =
{ Accept: 'application/json', 'Content-Type': 'application/json', charset: 'utf-8' }.freeze
Constants inherited from Carrier
Carrier::BOL_NUMBER_TRACKING_URL_TEMPLATE, Carrier::NUMBERS, Carrier::ORDER_NUMBER_TRACKING_URL_TEMPLATE, Carrier::PICKUP_NUMBER_TRACKING_URL_TEMPLATE, Carrier::PO_NUMBER_TRACKING_URL_TEMPLATE, Carrier::TRACKING_NUMBER_TRACKING_URL_TEMPLATE, Carrier::VALID_BOL_NUMBER_REGEX, Carrier::VALID_ORDER_NUMBER_REGEX, Carrier::VALID_PICKUP_NUMBER_REGEX, Carrier::VALID_PO_NUMBER_REGEX, Carrier::VALID_TRACKING_NUMBER_REGEX
Class Attribute Summary collapse
-
.name ⇒ Object
readonly
Returns the value of attribute name.
-
.scac ⇒ Object
readonly
Returns the value of attribute scac.
Attributes inherited from Carrier
#conf, #credentials, #customer_location, #last_request, #rates_with_excessive_length_fees, #tariff, #tmpdir
Class Method Summary collapse
- .overlength_fees_require_tariff? ⇒ Boolean
- .pickup_number_is_tracking_number? ⇒ Boolean
- .required_credential_types ⇒ Object
- .requirements ⇒ Object
Instance Method Summary collapse
- #bol(tracking_number) ⇒ Object
-
#bol_requires_tracking_number? ⇒ Boolean
Documents.
-
#create_pickup(delivery_from:, delivery_to:, dispatcher:, pickup_from:, pickup_to:, scac:, service:, shipment:) ⇒ Object
Pickups.
-
#find_rates(shipment:) ⇒ Object
Rates.
- #pod(tracking_number) ⇒ Object
-
#valid_tracking_number?(tracking_number) ⇒ Boolean
Tracking.
Methods inherited from Carrier
#available_services, bol_requires_tracking_number?, #cancel_shipment, default_location, #fetch_credential, #find_estimate, #find_locations, find_rates_with_declared_value?, #find_tracking_info, #find_tracking_number_from_pickup_number, implemented?, #initialize, maximum_address_field_length, maximum_height, maximum_weight, minimum_length_for_overlength_fees, #overlength_fee, #scanned_bol, #serviceable_accessorials?, tracking_url_template, #valid_credentials?, valid_number_regex, #validate_packages
Constructor Details
This class inherits a constructor from FreightKit::Carrier
Class Attribute Details
.name ⇒ Object (readonly)
Returns the value of attribute name.
32 33 34 |
# File 'lib/freight_kit/carriers/drrq.rb', line 32 def name @name end |
.scac ⇒ Object (readonly)
Returns the value of attribute scac.
32 33 34 |
# File 'lib/freight_kit/carriers/drrq.rb', line 32 def scac @scac end |
Class Method Details
.overlength_fees_require_tariff? ⇒ Boolean
6 7 8 |
# File 'lib/freight_kit/carriers/drrq.rb', line 6 def overlength_fees_require_tariff? false end |
.pickup_number_is_tracking_number? ⇒ Boolean
10 11 12 |
# File 'lib/freight_kit/carriers/drrq.rb', line 10 def pickup_number_is_tracking_number? true end |
.required_credential_types ⇒ Object
14 15 16 |
# File 'lib/freight_kit/carriers/drrq.rb', line 14 def required_credential_types %i[api selenoid website] end |
.requirements ⇒ Object
18 19 20 |
# File 'lib/freight_kit/carriers/drrq.rb', line 18 def requirements %i[credentials] end |
Instance Method Details
#bol(tracking_number) ⇒ Object
43 44 45 46 |
# File 'lib/freight_kit/carriers/drrq.rb', line 43 def bol(tracking_number) request = build_document_request(:bol, tracking_number) parse_bol_response(commit(request), :bol, tracking_number) end |
#bol_requires_tracking_number? ⇒ Boolean
Documents
39 40 41 |
# File 'lib/freight_kit/carriers/drrq.rb', line 39 def bol_requires_tracking_number? true end |
#create_pickup(delivery_from:, delivery_to:, dispatcher:, pickup_from:, pickup_to:, scac:, service:, shipment:) ⇒ Object
Pickups
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/freight_kit/carriers/drrq.rb', line 54 def create_pickup( delivery_from:, delivery_to:, dispatcher:, pickup_from:, pickup_to:, scac:, service:, shipment: ) request = build_pickup_request( delivery_from:, delivery_to:, dispatcher:, pickup_from:, pickup_to:, scac:, service:, shipment:, ) parse_pickup_response(commit(request)) end |
#find_rates(shipment:) ⇒ Object
Rates
80 81 82 83 84 85 86 |
# File 'lib/freight_kit/carriers/drrq.rb', line 80 def find_rates(shipment:) # Not necessary # validate_packages(packages) request = build_rate_request(shipment:) parse_rate_response(shipment:, response: commit(request)) end |
#pod(tracking_number) ⇒ Object
48 49 50 |
# File 'lib/freight_kit/carriers/drrq.rb', line 48 def pod(tracking_number) parse_pod_response(tracking_number) end |
#valid_tracking_number?(tracking_number) ⇒ Boolean
Tracking
90 91 92 |
# File 'lib/freight_kit/carriers/drrq.rb', line 90 def valid_tracking_number?(tracking_number) tracking_number[..2] == 'UAP' && tracking_number.length == 13 end |