takuhai_status 1.7.4 → 1.8.1
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.
- checksums.yaml +4 -4
- data/.travis.yml +11 -2
- data/README.md +1 -1
- data/lib/takuhai_status.rb +10 -9
- data/lib/takuhai_status/fedex.rb +1 -0
- data/lib/takuhai_status/japanpost.rb +3 -1
- data/lib/takuhai_status/kuronekoyamato.rb +3 -1
- data/lib/takuhai_status/sagawa.rb +3 -1
- data/lib/takuhai_status/tmg_cargo.rb +4 -2
- data/lib/takuhai_status/ups.rb +3 -1
- data/lib/takuhai_status/usps.rb +35 -0
- data/lib/takuhai_status/version.rb +1 -1
- data/takuhai_status.gemspec +1 -0
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed2db8aae5fed40752347a6f60e990a97b5c81077525919d2dc6426055f832b9
|
4
|
+
data.tar.gz: 6b72759578390a483719d6b7b643b57ff99dbc6c71df38634fe3d14d68644825
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebd4cf407b922c128980e234fd0a6fc52cb22aba452784ba0d4d7216a5d2aefd952910fb4bab1defc662ff351d3c4ab2e82280aa5406077e3b685da4c7359190
|
7
|
+
data.tar.gz: 1e97d4d8e8f4c52d1395202cad34158b751c25b81a14aa1a721d34fbae1fe88f7b595ab112c3193463173264478be18eab02d6ee57217ba4e095c77384f1328e
|
data/.travis.yml
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
language: ruby
|
2
|
+
sudo: false
|
3
|
+
cache: bundler
|
4
|
+
before_install:
|
5
|
+
- gem install bundler -v '> 1.5.0'
|
2
6
|
rvm:
|
3
|
-
|
4
|
-
|
7
|
+
- 2.5.2
|
8
|
+
deploy:
|
9
|
+
provider: rubygems
|
10
|
+
api_key:
|
11
|
+
secure: anktbhiTQ2FuZn7EqJBVVCyJjMMXKz2f25ETuqMlriKOCYcKEUKtCGo91F69oxf6SAkAkZCARqTF0IxUrpadiU+x+7n0FD3x2s4BMQqvvPpLPM5sUgAZXIZGsNyfi5Pi5E9HIQ/yuKAAzuNPIlcfVo3f3Os9b/gOICr5j7NcyD6h5zU6qDEW7fskc3HA9w0DDhcxARzGl/O9wiU7NJBNVZQO25/9e1N412VlI3F8+EtLMDeHf3GgHaqwBGIdMLEvN+tb9poA4oLz1Koz3YqgHVMpHrCWWHyLIZ1FmrdhF0gLq4G0Kuas9Nrr3deAh8jAqkX/UMt4WOoOjzi9H/xb6F2CfgAq74FOdOf1SpZkpmFAiC+vtDrGJxgpNQMpoqZ8NdRSfGbEy27HlCznSYZaCm6B9KX7PdstBaqIYJGfByAktgGQnLOIIW24TJpPasMOMmG6r5o2J31fdCv4e8gWoUSRvsJmE7vS8RsL5bG6BtiEqh4akpriBQS8dQ+b2orPQ60yEcRMQVP7E7V0mhzO88j0/Cm+mhjmVo9DPd6PTEMTMOKaYCGR15PUQFmYl11f9WFMKLLzhcUBjDR6ltnDtH5Vow4AUk9oPbPbVLHk1EzM3CsPrmOMie1jlPAZyNhkpTKg385Wq5CSAVcgeLQs2wxABbrB1hJqJlf8K8zy2vU=
|
12
|
+
on:
|
13
|
+
tags: true
|
data/README.md
CHANGED
data/lib/takuhai_status.rb
CHANGED
@@ -1,11 +1,3 @@
|
|
1
|
-
require "takuhai_status/version"
|
2
|
-
require "takuhai_status/japanpost"
|
3
|
-
require "takuhai_status/kuronekoyamato"
|
4
|
-
require "takuhai_status/sagawa"
|
5
|
-
require "takuhai_status/tmg_cargo"
|
6
|
-
require "takuhai_status/ups"
|
7
|
-
require "takuhai_status/fedex"
|
8
|
-
|
9
1
|
require "logger"
|
10
2
|
require "timeout"
|
11
3
|
|
@@ -20,10 +12,19 @@ module TakuhaiStatus
|
|
20
12
|
end
|
21
13
|
end
|
22
14
|
|
15
|
+
# loading plugins
|
16
|
+
@@services = []
|
17
|
+
def self.add_service(service_name)
|
18
|
+
@@services << service_name
|
19
|
+
end
|
20
|
+
Dir.glob("#{File.dirname(__FILE__)}/takuhai_status/*.rb") do |plugin|
|
21
|
+
require plugin
|
22
|
+
end
|
23
|
+
|
23
24
|
def self.scan(key, timeout: 10, logger: Logger.new(nil))
|
24
25
|
services = []
|
25
26
|
[].tap{|threads|
|
26
|
-
|
27
|
+
@@services.each do |service|
|
27
28
|
threads.push(Thread.new{
|
28
29
|
if Thread.method_defined?(:report_on_exception)
|
29
30
|
Thread.current.report_on_exception = false
|
data/lib/takuhai_status/fedex.rb
CHANGED
@@ -4,9 +4,11 @@ require 'nokogiri'
|
|
4
4
|
module TakuhaiStatus
|
5
5
|
class JapanPost
|
6
6
|
attr_reader :key, :time, :state
|
7
|
+
TakuhaiStatus.add_service(self)
|
7
8
|
|
8
9
|
def initialize(key)
|
9
|
-
@key = key.
|
10
|
+
@key = key.strip
|
11
|
+
raise NotMyKey.new('invalid key format') unless @key =~ /\A[a-zA-Z0-9]+\Z/
|
10
12
|
@time, @state = check
|
11
13
|
end
|
12
14
|
|
@@ -4,9 +4,11 @@ require 'nokogiri'
|
|
4
4
|
module TakuhaiStatus
|
5
5
|
class KuronekoYamato
|
6
6
|
attr_reader :key, :time, :state
|
7
|
+
TakuhaiStatus.add_service(self)
|
7
8
|
|
8
9
|
def initialize(key)
|
9
|
-
@key = key.
|
10
|
+
@key = key.strip
|
11
|
+
raise NotMyKey.new('invalid key format') unless @key =~ /\A[0-9]+\Z/
|
10
12
|
@time, @state = check
|
11
13
|
end
|
12
14
|
|
@@ -4,9 +4,11 @@ require 'nokogiri'
|
|
4
4
|
module TakuhaiStatus
|
5
5
|
class Sagawa
|
6
6
|
attr_reader :key, :time, :state
|
7
|
+
TakuhaiStatus.add_service(self)
|
7
8
|
|
8
9
|
def initialize(key)
|
9
|
-
@key = key.
|
10
|
+
@key = key.strip
|
11
|
+
raise NotMyKey.new('invalid key format') unless @key =~ /\A[0-9]+\Z/
|
10
12
|
@time, @state = check
|
11
13
|
end
|
12
14
|
|
@@ -5,10 +5,12 @@ require 'nokogiri'
|
|
5
5
|
module TakuhaiStatus
|
6
6
|
class TMGCargo
|
7
7
|
attr_reader :key, :time, :state
|
8
|
+
TakuhaiStatus.add_service(self)
|
8
9
|
@@conn = nil
|
9
10
|
|
10
11
|
def initialize(key)
|
11
|
-
@key = key.
|
12
|
+
@key = key.strip
|
13
|
+
raise NotMyKey.new('invalid key format') unless @key =~ /\A[0-9]+\Z/
|
12
14
|
@time, @state = check
|
13
15
|
end
|
14
16
|
|
@@ -18,7 +20,7 @@ module TakuhaiStatus
|
|
18
20
|
|
19
21
|
private
|
20
22
|
def check
|
21
|
-
@@conn = Faraday.new(url: '
|
23
|
+
@@conn = Faraday.new(url: 'https://track-a.tmg-group.jp'){|builder|
|
22
24
|
builder.use :cookie_jar
|
23
25
|
builder.request :url_encoded
|
24
26
|
builder.adapter :net_http
|
data/lib/takuhai_status/ups.rb
CHANGED
@@ -5,10 +5,12 @@ require 'nokogiri'
|
|
5
5
|
module TakuhaiStatus
|
6
6
|
class UPS
|
7
7
|
attr_reader :key, :time, :state
|
8
|
+
TakuhaiStatus.add_service(self)
|
8
9
|
@@conn = nil
|
9
10
|
|
10
11
|
def initialize(key)
|
11
|
-
@key = key.
|
12
|
+
@key = key.strip
|
13
|
+
raise NotMyKey.new('invalid key format') unless @key =~ /\A[a-zA-Z0-9]+\Z/
|
12
14
|
@time, @state = check
|
13
15
|
end
|
14
16
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
module TakuhaiStatus
|
5
|
+
class USPS
|
6
|
+
attr_reader :key, :time, :state
|
7
|
+
TakuhaiStatus.add_service(self)
|
8
|
+
|
9
|
+
def initialize(key)
|
10
|
+
@key = key.strip
|
11
|
+
raise NotMyKey.new('invalid key format') unless @key =~ /\A[a-zA-Z0-9]+\Z/
|
12
|
+
@time, @state = check
|
13
|
+
end
|
14
|
+
|
15
|
+
def finish?
|
16
|
+
return !!(@state =~ /^Delivered/)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
def check
|
21
|
+
url = "https://tools.usps.com/go/TrackConfirmAction?tLabels=#{@key}"
|
22
|
+
html = Faraday.new(url: url).get.body
|
23
|
+
date, status, detail = Nokogiri(html).css('div.status_feed p');
|
24
|
+
date_str = date.text.strip
|
25
|
+
status_str = status.text.gsub(/\u00A0/, ' ').strip
|
26
|
+
detail_str = detail.text.gsub(/\u00A0/, ' ').strip
|
27
|
+
|
28
|
+
unless date_str.empty?
|
29
|
+
return Time.parse(date_str), "#{status_str} (#{detail_str})"
|
30
|
+
else
|
31
|
+
raise NotMyKey
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/takuhai_status.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: takuhai_status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TADA Tadashi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: travis
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
description: get delivery status of Takuhai-bin in Japan
|
112
126
|
email:
|
113
127
|
- t@tdtds.jp
|
@@ -132,6 +146,7 @@ files:
|
|
132
146
|
- lib/takuhai_status/sagawa.rb
|
133
147
|
- lib/takuhai_status/tmg_cargo.rb
|
134
148
|
- lib/takuhai_status/ups.rb
|
149
|
+
- lib/takuhai_status/usps.rb
|
135
150
|
- lib/takuhai_status/version.rb
|
136
151
|
- takuhai_status.gemspec
|
137
152
|
homepage: https://github.com/tdtds/takuhai_status
|
@@ -154,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
169
|
version: '0'
|
155
170
|
requirements: []
|
156
171
|
rubyforge_project:
|
157
|
-
rubygems_version: 2.7.
|
172
|
+
rubygems_version: 2.7.7
|
158
173
|
signing_key:
|
159
174
|
specification_version: 4
|
160
175
|
summary: get delivery status of Takuhai-bin in Japan
|