fedex-web-services 1.1.6 → 1.1.42

Sign up to get free protection for your applications and to get access to all the features.
data/lib/fedex.rb CHANGED
@@ -1,2 +1,6 @@
1
1
  require "fedex/version"
2
2
  require "fedex/web_services"
3
+
4
+ module Fedex
5
+ require 'fedex/railtie' if defined?(Rails)
6
+ end
@@ -0,0 +1,9 @@
1
+ module Fedex
2
+ class Railtie < Rails::Railtie
3
+ railtie_name :fedex
4
+
5
+ rake_tasks do
6
+ load "fedex/tasks/fedex.rake"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,21 @@
1
+ namespace :fedex do
2
+ desc "Generate the ruby definition files from the FedEx wsdl files"
3
+ task :generate_definitions do
4
+ wsdl_dir = ENV['WSDL_DIR']
5
+ if (!Dir.exist?(wsdl_dir || ""))
6
+ puts "Set the WSDL_DIR environment variable to location of the Fedex wsdl files"
7
+ else
8
+ Fedex::WebServices::Definitions.generate_definitions(
9
+ File.join(Rails.root, 'lib'),
10
+ *Dir.glob(File.join(ENV['WSDL_DIR'], '*.wsdl'))
11
+ )
12
+
13
+ File.open(File.join(Rails.root, 'config', 'initializers', 'fedex.rb'), "w") do |file|
14
+ file.puts "Fedex::WebServices::Definitions.load_definitions('lib')"
15
+ end
16
+
17
+ puts "Added lib/fedex/web_services/definitions/"
18
+ puts "Added config/initializers/fedex.rb"
19
+ end
20
+ end
21
+ end
data/lib/fedex/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fedex
2
- VERSION = "1.1.6"
2
+ VERSION = "1.1.42"
3
3
  end
@@ -33,7 +33,7 @@ module Fedex::WebServices
33
33
  def version
34
34
  VersionId.new.tap do |o|
35
35
  o.serviceId = @service.service_id
36
- o.major = @service.service_version
36
+ o.major = 10
37
37
  o.intermediate = 0
38
38
  o.minor = 0
39
39
  end
@@ -45,9 +45,7 @@ module Fedex::WebServices
45
45
  o.shippingChargesPayment = Payment.new.tap do |o|
46
46
  o.paymentType = PaymentType::SENDER
47
47
  o.payor = Payor.new.tap do |o|
48
- o.responsibleParty = Party.new.tap do |o|
49
- o.accountNumber = @service.credentials.account_number
50
- end
48
+ o.accountNumber = @service.credentials.account_number
51
49
  end
52
50
  end
53
51
 
@@ -58,9 +58,7 @@ module Fedex::WebServices
58
58
  o.shippingChargesPayment = Payment.new.tap do |o|
59
59
  o.paymentType = PaymentType::SENDER
60
60
  o.payor = Payor.new.tap do |o|
61
- o.responsibleParty = @shipper.clone.tap do |o|
62
- o.accountNumber = @service.credentials.account_number
63
- end
61
+ o.accountNumber = @service.credentials.account_number
64
62
  end
65
63
  end
66
64
 
@@ -10,7 +10,7 @@ module Fedex::WebServices
10
10
  include Fedex::WebServices::Definitions
11
11
  include Fedex::WebServices::Request
12
12
 
13
- Credentials = Struct.new(
13
+ Credentials = Struct.new("Credentials",
14
14
  :account_number, :meter_number, :key, :password, :environment
15
15
  )
16
16
 
@@ -25,16 +25,6 @@ module Fedex::WebServices
25
25
  raise "service_id must be implemented by subclasses of Service"
26
26
  end
27
27
 
28
- def service_version
29
- raise "service_version must be implemented by subclasses of Service"
30
- end
31
-
32
- def service_url
33
- (@credentials.environment.to_sym == :production) ?
34
- 'https://ws.fedex.com:443/web-services' :
35
- 'https://wsbeta.fedex.com:443/web-services'
36
- end
37
-
38
28
  protected
39
29
  def port
40
30
  raise "port must be implemented by subclasses of Service"
@@ -4,12 +4,12 @@ module Fedex::WebServices
4
4
  module Service
5
5
  class Rate < Base
6
6
 
7
- def get_rates(service_type, rate_request_type, from, to, weight, &process_contents)
7
+ def get_rates(service_type, rate_request_type, shipper, recipient, weight, &process_contents)
8
8
  request = GetRates.new(self,
9
9
  service_type,
10
10
  rate_request_type,
11
- from,
12
- to,
11
+ shipper,
12
+ recipient,
13
13
  weight
14
14
  )
15
15
 
@@ -21,10 +21,6 @@ module Fedex::WebServices
21
21
  :crs
22
22
  end
23
23
 
24
- def service_version
25
- 13
26
- end
27
-
28
24
  def self.rate_for(response, rate_request_type)
29
25
  details = response.rateReplyDetails.first.ratedShipmentDetails.select do |detail|
30
26
  detail.shipmentRateDetail.rateType == "PAYOR_#{rate_request_type}_PACKAGE"
@@ -37,7 +33,7 @@ module Fedex::WebServices
37
33
 
38
34
  protected
39
35
  def port
40
- RatePortType.new(service_url)
36
+ RatePortType.new('https://wsbeta.fedex.com:443/web-services')
41
37
  end
42
38
  end
43
39
  end
@@ -9,10 +9,6 @@ module Fedex::WebServices
9
9
  :ship
10
10
  end
11
11
 
12
- def service_version
13
- 12
14
- end
15
-
16
12
  def process_shipment(service_type, shipper, recipient,
17
13
  label_specification, package_weights, &process_contents)
18
14
 
@@ -76,13 +72,11 @@ module Fedex::WebServices
76
72
  acc + BigDecimal.new(rate.netCharge.amount) :
77
73
  acc
78
74
  end
79
- rescue
80
- raise "Unable to extract rate information from response"
81
75
  end
82
76
 
83
77
  protected
84
78
  def port
85
- ShipPortType.new(service_url)
79
+ ShipPortType.new('https://wsbeta.fedex.com:443/web-services')
86
80
  end
87
81
  end
88
82
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fedex-web-services
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.42
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-02 00:00:00.000000000 Z
12
+ date: 2012-04-18 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: soap4r-ruby19
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70234741411120 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,12 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *70234741411120
30
25
  description: Interfaces with the FedEx web services API to look up shipping rates,
31
26
  generate labels, and cancel shipments
32
27
  email:
@@ -35,6 +30,8 @@ executables: []
35
30
  extensions: []
36
31
  extra_rdoc_files: []
37
32
  files:
33
+ - lib/fedex/railtie.rb
34
+ - lib/fedex/tasks/fedex.rake
38
35
  - lib/fedex/version.rb
39
36
  - lib/fedex/web_services/definitions.rb
40
37
  - lib/fedex/web_services/request/base.rb
@@ -46,10 +43,8 @@ files:
46
43
  - lib/fedex/web_services/service/ship.rb
47
44
  - lib/fedex/web_services.rb
48
45
  - lib/fedex.rb
49
- - lib/generators/fedex/generate_definitions_generator.rb
50
46
  homepage: https://github.com/brewski/fedex-web-services
51
- licenses:
52
- - MIT
47
+ licenses: []
53
48
  post_install_message:
54
49
  rdoc_options: []
55
50
  require_paths:
@@ -68,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
63
  version: '0'
69
64
  requirements: []
70
65
  rubyforge_project: fedex-web-services
71
- rubygems_version: 1.8.23
66
+ rubygems_version: 1.8.10
72
67
  signing_key:
73
68
  specification_version: 3
74
69
  summary: Provies an interface to the FedEx web services API (version 10)
@@ -1,38 +0,0 @@
1
- module Fedex
2
- module Generators
3
- class GenerateDefinitionsGenerator < ::Rails::Generators::Base
4
- FEDEX_INITIALIZER_FILE = File.join(Rails.root, 'config', 'initializers', 'fedex.rb')
5
-
6
- class_option :wsdl_dir,
7
- default: File.join(%w(lib fedex web_services wsdl)),
8
- type: :string,
9
- desc: "directory where the fedex wsld files are stored"
10
-
11
-
12
- class_option :skip_initializer,
13
- default: false,
14
- type: :boolean,
15
- desc: "install a rails initializer to load the wsdl definitions"
16
-
17
- desc "Generate the FedEx WebServices class definitions and create an initializer to load them"
18
-
19
- def install
20
- wsdl_dir = options[:wsdl_dir]
21
- wsdl_files = Dir.glob(File.join(wsdl_dir, '*.wsdl'))
22
- target_lib_dir = File.join(Rails.root, 'lib')
23
-
24
- if (wsdl_files.empty?)
25
- say("Could not find any wsdl files in #{wsdl_dir}", :red)
26
- else
27
- Fedex::WebServices::Definitions.generate_definitions(target_lib_dir, *wsdl_files)
28
- say("Added #{File.join(target_lib_dir, Fedex::WebServices::Definitions::MODULE_PATH)}", :green)
29
-
30
- unless (options[:skip_initializer])
31
- create_file(FEDEX_INITIALIZER_FILE,
32
- "Fedex::WebServices::Definitions.load_definitions('lib')")
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end