ruby-gls 0.0.4 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1161f9e8417e9964244f2a7fe0ba28547ca155297d892276ea5619dc0f78c8e8
4
- data.tar.gz: de9369a3e933f084461833e680fb5e06658ded3878a9678240a2ed540adf7155
3
+ metadata.gz: 339295053ba5cd65b81566ae1cd54776a35207a1e24640eb25c11e498372cfa6
4
+ data.tar.gz: 4dcbb375d4879e0fb3385ee8cdc6e1c6a9aa7b50fa689d5e95ea3a305c59f91a
5
5
  SHA512:
6
- metadata.gz: afff4c8d267a2c90601f241a44902f2607058ff192177ef58f4ffb3d793f3dadc86c027f99c40f4538444703e68458cfedde32d370ffdbc3fe2f876756fd4d88
7
- data.tar.gz: 43b9bca4b55b8503f7107987cd7bd0eedb6c5068e1370cc2c0632310be5b66d58b2d833ad6c432739bbb95ac2499d02b9a5489f5d62053ef31270ecfce064885
6
+ metadata.gz: af2066a781678f4708a586f33b4828be40594c9a23b27205203b8b6f18ce3c8bfe8a0a2e27d2cef0346de16ec6ba27a6fa0506b485071597d9869d0884926670
7
+ data.tar.gz: 58e169ad6d64366d79214552d34753a68723d7e8081524ce0497271e2a5a37a647501ff3332f953b00bf8feb31e53cfb3a946819ec819d9f741af9250be28a63
@@ -1,3 +1,3 @@
1
1
  class RubyGLS
2
- VERSION='0.0.4'
2
+ VERSION='1.0.1'
3
3
  end
data/lib/ruby-gls.rb CHANGED
@@ -1,69 +1,12 @@
1
- require 'net/http'
2
- require 'json'
3
-
4
1
  require 'ruby-gls/version'
5
2
  require 'ruby-gls/configuration'
6
- require 'nokogiri'
3
+ require 'ruby-gls/tracking'
4
+ require 'ruby-gls/client'
5
+ require 'ruby-gls/connection'
6
+ require 'ruby-gls/url'
7
7
 
8
8
  class RubyGLS
9
+ extend Tracking
10
+
9
11
  RubyGLS.configure
10
-
11
- class << self
12
-
13
- def find(tracking_number)
14
- uri = URI(generate_url(tracking_number))
15
- res = Net::HTTP.get_response(uri)
16
-
17
- parsed = JSON.parse(res.body)
18
-
19
- key = parsed.dig('content').keys.last
20
- html = parsed.dig('content', key, 'html')
21
-
22
- doc = Nokogiri::HTML(html)
23
-
24
- status = doc.css('.trigger-status').text.strip
25
- status_desc = doc.css('.text-primary.lead strong').text.strip
26
- parcel_number = doc.css('.row.justify-content-left').text&.strip&.split(':')&.last&.strip
27
-
28
- detailed = [].tap do |arr|
29
- doc.css('.data_table tbody tr').each do |row|
30
-
31
- date, time, parcel_status, loc = row.css('td').map(&:text).map(&:strip)
32
-
33
- arr << {
34
- date: date,
35
- time: time,
36
- parcel_status: parcel_status,
37
- location: loc
38
- }
39
- end
40
- end
41
-
42
- if status == ""
43
- status = 'Not found'
44
- status_desc = "No tracking information found for #{tracking_number}"
45
- end
46
-
47
- {
48
- tracking_number: tracking_number,
49
- status: status,
50
- status_description: status_desc,
51
- parcel_number: parcel_number,
52
- detailed_tracking: detailed
53
- }
54
- rescue => e
55
- {
56
- tracking_number: tracking_number,
57
- status: 'Not found',
58
- status_description: "#{e.message}"
59
- }
60
- end
61
-
62
- private
63
-
64
- def generate_url(tracking_number)
65
- RubyGLS.config.base_url + "&match=#{tracking_number}"
66
- end
67
-
68
- end
69
12
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-gls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adem Dinarevic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-28 00:00:00.000000000 Z
11
+ date: 2022-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.1.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rspec
15
29
  requirement: !ruby/object:Gem::Requirement