Module: FedexLabelService
- Defined in:
- lib/fedex_label_service.rb,
lib/fedex_label_service/version.rb,
lib/fedex_label_service/configuration.rb,
lib/fedex_label_service/ground_message.rb,
lib/fedex_label_service/smartpost_message.rb
Defined Under Namespace
Classes: Configuration, GroundMessage, SmartpostMessage
Constant Summary
collapse
- VERSION =
'0.5.1'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
15
16
17
|
# File 'lib/fedex_label_service.rb', line 15
def self.configuration
@configuration ||= Configuration.new
end
|
Class Method Details
.call(message) ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/fedex_label_service.rb', line 41
def self.call(message)
client = Savon.client(wsdl: FedexLabelService.configuration.wsdl)
begin
@response = client.call(:process_shipment, message: message)
rescue Savon::SOAPFault => error
puts error.http.inspect
end
@response
end
|
23
24
25
|
# File 'lib/fedex_label_service.rb', line 23
def self.configure
yield(configuration)
end
|
.message(service, sender_attributes, recipient_attributes) ⇒ Object
31
32
33
34
35
36
37
38
39
|
# File 'lib/fedex_label_service.rb', line 31
def self.message(service, sender_attributes, recipient_attributes)
if service == 'smartpost'
message = FedexLabelService::SmartpostMessage.build(sender_attributes, recipient_attributes)
elsif service == 'ground'
message = FedexLabelService::GroundMessage.build(sender_attributes, recipient_attributes)
end
message
end
|
.parsed_response(response) ⇒ Object
53
54
55
56
57
58
|
# File 'lib/fedex_label_service.rb', line 53
def self.parsed_response(response)
{
tracking_number: response.body[:process_shipment_reply][:completed_shipment_detail][:completed_package_details][:tracking_ids][:tracking_number],
label_data: response.body[:process_shipment_reply][:completed_shipment_detail][:completed_package_details][:label][:parts][:image]
}
end
|
.reset ⇒ Object
19
20
21
|
# File 'lib/fedex_label_service.rb', line 19
def self.reset
@configuration = Configuration.new
end
|
.root ⇒ Object
27
28
29
|
# File 'lib/fedex_label_service.rb', line 27
def self.root
Pathname.new File.expand_path('..', __dir__)
end
|