dji 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dji/fedex.rb +65 -11
  3. data/lib/dji/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7c4c635b914833977002d2330f7816564abc006
4
- data.tar.gz: f77af95f82c98e5c5c49db1974b73882175717f7
3
+ metadata.gz: d68f0ce20f2c80fa4383c208f6edfc614a3b97a9
4
+ data.tar.gz: f46f7d001d7a0f46891e477b72dc557bde47c82a
5
5
  SHA512:
6
- metadata.gz: 1746c1802873a30a5fc654fce017efb2cb7c4c06deeb1dccf1f8a725966bf0b6b9e7f48697fdd8859f314452f755a6677fcebcd775128236cf0043695d52d4ad
7
- data.tar.gz: cb5b10a7eeb27712c203073f77ef51eaf5b997f677791ca9c714597059ad8f603e0ce8caa32a2118d87131e0b283dcd155a3402b1a7a12c0fb72e66b8ae8fbb9
6
+ metadata.gz: 0813f17416a2ed6ddf5acc835a14c7fc76a42e58a77aca849a7d003da9d57e1473d83017d699ec01e72d292064891899d99c08e50e9c717d6fced0bd767d523b
7
+ data.tar.gz: 95b3fdc513d4b86ab863f62acf3c91e7465ad4d061ecaa12d05e639b7823c0ff9a8154d05f0f994d788678503b7aa6f04177dc676c1b99347f042158071a6eb5
@@ -11,6 +11,70 @@ module DJI
11
11
 
12
12
  class << self
13
13
 
14
+ def track(tracking_number)
15
+ uri = URI.parse(tracking_url_json)
16
+
17
+ params = {
18
+ 'action' => 'trackpackages',
19
+ 'locale' => 'en_US',
20
+ 'version' => 1,
21
+ 'format' => 'json'
22
+ }
23
+ params['data'] = {
24
+ 'TrackPackagesRequest' => {
25
+ 'appType' => 'WTRK',
26
+ 'appDeviceType' => 'DESKTOP',
27
+ 'uniqueKey' => '',
28
+ 'processingParameters' => {},
29
+ 'trackingInfoList' => [
30
+ {
31
+ 'trackNumberInfo' => {
32
+ 'trackingNumber' => tracking_number,
33
+ 'trackingQualifier' => '',
34
+ 'trackingCarrier' => ''
35
+ }
36
+ }
37
+ ]
38
+ }
39
+ }.to_json
40
+
41
+ headers = {
42
+ 'Content-Type' => 'application/x-www-form-urlencoded',
43
+ 'Origin' => 'https://www.fedex.com/',
44
+ 'Referer' => "#{tracking_url}?tracknumbers=#{tracking_number}",
45
+ 'Accept' => '*/*',
46
+ 'X-Requested-With' => 'XMLHttpRequest'
47
+ }
48
+
49
+ http = Net::HTTP.new uri.host, uri.port
50
+ http.use_ssl = true
51
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
52
+ request = Net::HTTP::Post.new uri.path, headers
53
+ request.set_form_data params
54
+ res = http.request(request)
55
+
56
+ case res
57
+ when Net::HTTPSuccess, Net::HTTPRedirection
58
+ # OK
59
+ # puts res.body
60
+ response = JSON.parse(res.body)['TrackPackagesResponse']
61
+ tpr = DJI::Fedex::TrackPackagesResponse.new_from_response(response)
62
+
63
+ data = { tracking_number: tracking_number }
64
+ if tpr.present?
65
+ data[:track_packages_response] = tpr
66
+ print_track_packages_response(data)
67
+ else
68
+ puts response
69
+ puts "Nothing parsed!"
70
+ end
71
+ else
72
+ puts res.inspect
73
+ res.error!
74
+ end
75
+
76
+ end
77
+
14
78
  # Get the tracking details for an order
15
79
  def tracking_details(country, postal_code)
16
80
  uri = URI.parse(tracking_url)
@@ -121,17 +185,7 @@ module DJI
121
185
  puts response
122
186
  puts "Nothing parsed!"
123
187
  end
124
- # page = Nokogiri::HTML(res.body)
125
- # content = page.at_xpath('//div[@id="main"]/div[@class="container"]/div[@class="row"]/div[@class="col-xs-9"]/div[@class="col-xs-10 well"][2]')
126
- # # puts content
127
- # data = {}
128
- # data[:order_number] = content.at_xpath('div[1]').text.split(' ')[-1]
129
- # data[:total] = content.at_xpath('div[2]').text.split(' ')[1..-1].join(' ')
130
- # data[:payment_status] = content.at_xpath('div[3]').text.split(': ')[1]
131
- # data[:shipping_status] = content.at_xpath('div[4]').text.split(': ')[1]
132
- # data[:shipping_company] = content.at_xpath('div[5]/span').text
133
- # data[:tracking_number] = content.at_xpath('div[6]/a').text
134
-
188
+
135
189
  # print_tracking_details(data)
136
190
  else
137
191
  puts res.inspect
@@ -1,3 +1,3 @@
1
1
  module DJI
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dji
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Elliott
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-08 00:00:00.000000000 Z
11
+ date: 2016-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport