fedex 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # Fedex Rate Web Service
2
2
 
3
+
3
4
  For more information visit [Fedex Web Services for Shipping](https://www.fedex.com/wpor/web/jsp/drclinks.jsp?links=wss/index.html).
4
5
 
5
6
  This version uses the Non-SOAP Web Services so there is no need to download the
6
7
  Fedex WSDL files, note however that you will need to apply for development/production credentials.
7
8
 
8
- Note: This is work in progress make sure to test your results.
9
+ Note: Please make sure to test your results.
10
+
9
11
 
10
12
  # Installation:
11
13
 
@@ -115,6 +117,16 @@ Fedex provides multiple total values; `total_net_charge` is the final amount you
115
117
  @total_net_freight="32.1",
116
118
  @rate_zone="51">
117
119
  ```
120
+ ### ** Get a Transit time **
121
+ ```ruby
122
+ ship = fedex.ship(:shipper=>shipper,
123
+ :recipient => recipient,
124
+ :packages => packages,
125
+ :service_type => "FEDEX_GROUND",
126
+ :shipping_details => shipping_details)
127
+ puts ship[:completed_shipment_detail][:operational_detail] [:transit_time]
128
+ ```
129
+ Above code will give you the transit time.
118
130
 
119
131
  ### ** Generate a shipping label (PDF) **
120
132
 
@@ -227,7 +239,7 @@ Fedex::Shipment::DROP_OFF_TYPES
227
239
  - [parndt](https://github.com/parndt) (Philip Arndt)
228
240
  - [mmell](https://github.com/mmell) (Michael Mell)
229
241
  - [jordanbyron](https://github.com/jordanbyron) (Jordan Byron)
230
- - [GermanC4](https://github.com/GermanC4) (German Garcia)
242
+ - [geermc4](https://github.com/geermc4) (German Garcia)
231
243
  - [janders223] (https://github.com/janders223) (Jim Anders)
232
244
  - [jlambert121] (https://github.com/jlambert121) (Justin Lambert)
233
245
 
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.rubyforge_project = "fedex"
16
16
 
17
- s.add_dependency 'httparty', '~> 0.8.0'
17
+ s.add_dependency 'httparty', '~> 0.9.0'
18
18
  s.add_dependency 'nokogiri', '~> 1.5.0'
19
19
 
20
20
  s.add_development_dependency "rspec", '~> 2.9.0'
@@ -23,7 +23,7 @@ module Fedex
23
23
  error_message = if response[:address_validation_reply]
24
24
  [response[:address_validation_reply][:notifications]].flatten.first[:message]
25
25
  else
26
- api_response["Fault"]["detail"]["fault"]["reason"]
26
+ "#{api_response["Fault"]["detail"]["fault"]["reason"]}\n#{api_response["Fault"]["detail"]["fault"]["details"]["ValidationFailureDetail"]["message"]}"
27
27
  end rescue $1
28
28
  raise RateError, error_message
29
29
  end
@@ -89,4 +89,4 @@ module Fedex
89
89
 
90
90
  end
91
91
  end
92
- end
92
+ end
@@ -15,7 +15,7 @@ module Fedex
15
15
  error_message = if response[:rate_reply]
16
16
  [response[:rate_reply][:notifications]].flatten.first[:message]
17
17
  else
18
- api_response["Fault"]["detail"]["fault"]["reason"]
18
+ "#{api_response["Fault"]["detail"]["fault"]["reason"]}\n#{api_response["Fault"]["detail"]["fault"]["details"]["ValidationFailureDetail"]["message"]}"
19
19
  end rescue $1
20
20
  raise RateError, error_message
21
21
  end
@@ -63,4 +63,4 @@ module Fedex
63
63
 
64
64
  end
65
65
  end
66
- end
66
+ end
@@ -70,7 +70,7 @@ module Fedex
70
70
  error_message = if response[:process_shipment_reply]
71
71
  [response[:process_shipment_reply][:notifications]].flatten.first[:message]
72
72
  else
73
- api_response["Fault"]["detail"]["fault"]["reason"]
73
+ "#{api_response["Fault"]["detail"]["fault"]["reason"]}\n#{api_response["Fault"]["detail"]["fault"]["details"]["ValidationFailureDetail"]["message"]}"
74
74
  end rescue $1
75
75
  raise RateError, error_message
76
76
  end
@@ -15,7 +15,7 @@ module Fedex
15
15
  @credentials = credentials
16
16
 
17
17
  # Optional
18
- @include_detailed_scans = options[:include_detailed_scans]
18
+ @include_detailed_scans = options[:include_detailed_scans] || true
19
19
  @uuid = options[:uuid]
20
20
  @paging_token = options[:paging_token]
21
21
 
@@ -25,6 +25,7 @@ module Fedex
25
25
  end
26
26
 
27
27
  def process_request
28
+ puts build_xml
28
29
  api_response = self.class.post(api_url, :body => build_xml)
29
30
  puts api_response if @debug == true
30
31
  response = parse_response(api_response)
@@ -37,7 +38,7 @@ module Fedex
37
38
  error_message = if response[:track_reply]
38
39
  response[:track_reply][:notifications][:message]
39
40
  else
40
- api_response["Fault"]["detail"]["fault"]["reason"]
41
+ "#{api_response["Fault"]["detail"]["fault"]["reason"]}\n#{api_response["Fault"]["detail"]["fault"]["details"]["ValidationFailureDetail"]["message"]}"
41
42
  end rescue $1
42
43
  raise RateError, error_message
43
44
  end
@@ -86,4 +87,4 @@ module Fedex
86
87
 
87
88
  end
88
89
  end
89
- end
90
+ end
@@ -38,7 +38,9 @@ module Fedex
38
38
  @signature_name = details[:delivery_signature_name]
39
39
  @service_type = details[:service_type]
40
40
  @status = details[:status_description]
41
- @delivery_at = Time.parse(details[:actual_delivery_timestamp])
41
+ if details.has_key?(:actual_delivery_timestamp)
42
+ @delivery_at = Time.parse(details[:actual_delivery_timestamp])
43
+ end
42
44
 
43
45
  @events = details[:events].map do |event_details|
44
46
  Event.new(event_details)
@@ -1,3 +1,3 @@
1
1
  module Fedex
2
- VERSION = "2.2.1"
2
+ VERSION = "2.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fedex
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-24 00:00:00.000000000 Z
12
+ date: 2012-12-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70200674635740 !ruby/object:Gem::Requirement
16
+ requirement: &70199311767300 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.8.0
21
+ version: 0.9.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70200674635740
24
+ version_requirements: *70199311767300
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70200674635240 !ruby/object:Gem::Requirement
27
+ requirement: &70199311766780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.5.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70200674635240
35
+ version_requirements: *70199311766780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70200674634760 !ruby/object:Gem::Requirement
38
+ requirement: &70199311766300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.9.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70200674634760
46
+ version_requirements: *70199311766300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: vcr
49
- requirement: &70200674634280 !ruby/object:Gem::Requirement
49
+ requirement: &70199311765820 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70200674634280
57
+ version_requirements: *70199311765820
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: fakeweb
60
- requirement: &70200674633880 !ruby/object:Gem::Requirement
60
+ requirement: &70199311765440 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70200674633880
68
+ version_requirements: *70199311765440
69
69
  description: Provides an interface to Fedex Web Services(version 10) - shipping rates,
70
70
  generate labels and address validation
71
71
  email: