bluedart 0.1.2 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjEwZjJhOTcxOGQ5ZmRlYWE2M2I1NGRkNzUwMTZkODExMGExOTMxNw==
4
+ NmFhNjkyMjczYTQ2ZmVjNGU3YzQyMGE1ZDhiMTUwYzNjODJkZWY3NQ==
5
5
  data.tar.gz: !binary |-
6
- MTQ0Yzc0YWVjMjlmYWJmNTc1N2FiZTkyOTEzMWE0MTliYzdlYTRmZg==
6
+ NjZjNjhlZGEzYWU0ZjcwMTNlOGRiY2M5MDU1NTA1Y2MzZWY1MmMyYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzdlZTk3YzczZmIzMWFlMjg5NjUyNTkxYTczY2U4NmUyMmRlMTdjZTBmZTBj
10
- MjZkODBmZjZkY2RmYzQxZjhkYTliZGU5NWU1Njc3OTc1ODkyZGRmMDc3NmNi
11
- ODk3ZTA3NmYzZTUzYTgwOGIzNzdlZGU0MDE0ZTNjYmM4MjFlMzU=
9
+ NmU2YmVlZDdjNTUzNDBlZWIxY2Y3NTlhM2IzMDZiMjI5YThlMDU5MGNiMzFh
10
+ NDhmMzAwODkyMmU3NDM1NWQ2MDQ0ZWEzOTFjNzBkNzQ3ZTY2YjQwM2VkNzcx
11
+ ZDM5MjBmYjQ5NzU3NGJjYzBlY2Y0NDYxZDE5MTQ2NTllNzk3NGQ=
12
12
  data.tar.gz: !binary |-
13
- ODJkMGUyMWY4NGI3OTk3OTg5MzMxNDhkMTllZjgxNmRiNjFlNjM5NDJiODRh
14
- YTBkOGU4ZWE2MTM2ZDM0ZWRhYTQ5NzE5NGE2NmYwZWIyODRmZjU0OTQyOTNk
15
- YjQ3YWYxNjBkYzk3MmU1MjM5MjYxZWFlZmVkNTM5YTIyY2I0ODE=
13
+ OWU0NjExZjUxZDAxMGJlOTRlNWM0NDdiMTEyYjQ1ZDEyY2IxZDIyYmU4YzBm
14
+ NDg3NzE2YTUwNzc0OTc4YTM3MTQ3NzQ5MGJjMTZkYjRkOGZjMDVhYzYyZTQ0
15
+ NjE1MjZjODk2ZGFmMTM1ZmFmNGI3ZDMzMWNlZjk4MTZkMDIzNDI=
data/README.md CHANGED
@@ -46,6 +46,19 @@ b = Bluedart::Shipment.new(shipment_details)
46
46
  b.response
47
47
  ```
48
48
 
49
+ ### Tracking API
50
+
51
+ ```ruby
52
+
53
+ tracking_details = {creds: {license_key: '', login_id: ''}, scans: 0}
54
+
55
+ tracking_details[:numbers] = ['123456798']
56
+
57
+ t = Bluedart::Tracking.new(tracking_details)
58
+ t.request
59
+
60
+ ```
61
+
49
62
  ## Development
50
63
 
51
64
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'nokogiri'
22
- spec.add_dependency 'httparty'
23
- spec.add_dependency 'nori'
21
+ spec.add_dependency 'nokogiri', ">= 1.5.11"
22
+ spec.add_dependency 'httparty', ">= 0.13.5"
23
+ spec.add_dependency 'nori', ">= 2.4.0"
24
24
 
25
25
  spec.add_development_dependency "bundler", "~> 1.9"
26
26
  spec.add_development_dependency "rake", "~> 10.0"
27
- spec.add_development_dependency "debugger"
27
+ spec.add_development_dependency "debugger", ">= 1.6.8"
28
28
  end
@@ -2,6 +2,7 @@ require 'bluedart/version'
2
2
  require 'bluedart/base'
3
3
  require 'bluedart/pincode_service'
4
4
  require 'bluedart/shipment'
5
+ require 'bluedart/tracking'
5
6
 
6
7
  module Bluedart
7
8
  end
@@ -0,0 +1,45 @@
1
+ require 'httparty'
2
+ require 'nori'
3
+
4
+ module Bluedart
5
+ class Tracking
6
+ attr_reader :response
7
+
8
+ def initialize(details)
9
+ @numbers = details[:numbers].join(',')
10
+ @scans = details[:scans]
11
+ @license_key = details[:creds][:license_key]
12
+ @loginid = details[:creds][:login_id]
13
+ end
14
+
15
+ def self.request_url
16
+ 'http://www.bluedart.com/servlet/RoutingServlet'
17
+ end
18
+
19
+ def request
20
+ @response = make_request
21
+ end
22
+
23
+ private
24
+ def make_request
25
+ params = {handler: 'tnt', action: 'custawbquery', loginid: @loginid,
26
+ awb: 'awb', numbers: @numbers, lickey: @license_key,
27
+ verno: 1, scan: @scans
28
+ }
29
+ request = HTTParty.get(Tracking.request_url, query: params, verify: false)
30
+ response_return(request.body)
31
+ end
32
+
33
+ def response_return(xml)
34
+ nori = Nori.new(strip_namespaces: true)
35
+ xml_hash = nori.parse(xml)
36
+ # TODO need to implement error block
37
+ response_hash = {error: false, error_text: ''}
38
+ response_hash[:results] = xml_hash['ShipmentData']['Shipment']
39
+ if response_hash[:results].is_a?(Hash)
40
+ response_hash[:results] = [response_hash[:results]]
41
+ end
42
+ response_hash
43
+ end
44
+ end
45
+ end
@@ -1,3 +1,3 @@
1
1
  module Bluedart
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bluedart
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - CJ
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
11
+ date: 2015-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.5.11
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.5.11
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httparty
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.13.5
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.13.5
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: nori
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 2.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 2.4.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 1.6.8
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 1.6.8
97
97
  description: Provides an interface to Bluedart Web Services
98
98
  email:
99
99
  - chirag7jain@gmail.com
@@ -115,6 +115,7 @@ files:
115
115
  - lib/bluedart/base.rb
116
116
  - lib/bluedart/pincode_service.rb
117
117
  - lib/bluedart/shipment.rb
118
+ - lib/bluedart/tracking.rb
118
119
  - lib/bluedart/version.rb
119
120
  homepage: https://github.com/chirag7jain/bluedart
120
121
  licenses: []