easy_transilien 0.0.2 → 0.0.4
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/.rspec +2 -0
- data/Gemfile.lock +20 -20
- data/easy_transilien.gemspec +1 -1
- data/lib/easy_transilien/line.rb +1 -1
- data/lib/easy_transilien/station.rb +1 -1
- data/lib/easy_transilien/trip.rb +28 -5
- data/lib/easy_transilien/version.rb +1 -1
- data/spec/station_spec.rb +4 -3
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d0f3e75eec981ffaa1bcb9eb609904855e53fabf
|
|
4
|
+
data.tar.gz: f43ece58c36e86416f8c277e8342d2949a2d0000
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0db76307217b2cef514905c2bcc95211cce4bc53276e3487738de7d4d57ed60e55fca852709696e2895685d78c85b177145c72f99c81d826edd83001fbab012d
|
|
7
|
+
data.tar.gz: 63c81f059d66998e0ebe909d9e22c36d4a49461112488666034bffc60c15858a3516e347526754b446dab201c90e7c8524038b46fa01d9236b9e5ac63fa1c784
|
data/.rspec
ADDED
data/Gemfile.lock
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
easy_transilien (0.0.
|
|
5
|
-
transilien_microservices (~> 0.0.
|
|
4
|
+
easy_transilien (0.0.3)
|
|
5
|
+
transilien_microservices (~> 0.0.6)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
10
|
celluloid (0.15.2)
|
|
11
11
|
timers (~> 1.1.0)
|
|
12
|
-
coderay (1.0
|
|
13
|
-
diff-lcs (1.2.
|
|
12
|
+
coderay (1.1.0)
|
|
13
|
+
diff-lcs (1.2.5)
|
|
14
14
|
faraday (0.8.8)
|
|
15
15
|
multipart-post (~> 1.2.0)
|
|
16
|
-
ffi (1.9.
|
|
16
|
+
ffi (1.9.3)
|
|
17
17
|
formatador (0.2.4)
|
|
18
|
-
guard (2.2.
|
|
18
|
+
guard (2.2.5)
|
|
19
19
|
formatador (>= 0.2.4)
|
|
20
20
|
listen (~> 2.1)
|
|
21
21
|
lumberjack (~> 1.0)
|
|
22
22
|
pry (>= 0.9.12)
|
|
23
23
|
thor (>= 0.18.1)
|
|
24
|
-
guard-rspec (4.
|
|
25
|
-
guard (
|
|
26
|
-
rspec (
|
|
27
|
-
listen (2.
|
|
24
|
+
guard-rspec (4.2.3)
|
|
25
|
+
guard (~> 2.1)
|
|
26
|
+
rspec (>= 2.14, < 4.0)
|
|
27
|
+
listen (2.4.0)
|
|
28
28
|
celluloid (>= 0.15.2)
|
|
29
29
|
rb-fsevent (>= 0.9.3)
|
|
30
30
|
rb-inotify (>= 0.9)
|
|
@@ -32,33 +32,33 @@ GEM
|
|
|
32
32
|
method_source (0.8.2)
|
|
33
33
|
mini_portile (0.5.2)
|
|
34
34
|
multipart-post (1.2.0)
|
|
35
|
-
nokogiri (1.6.
|
|
35
|
+
nokogiri (1.6.1)
|
|
36
36
|
mini_portile (~> 0.5.0)
|
|
37
|
-
pry (0.9.12.
|
|
38
|
-
coderay (~> 1.0
|
|
37
|
+
pry (0.9.12.4)
|
|
38
|
+
coderay (~> 1.0)
|
|
39
39
|
method_source (~> 0.8)
|
|
40
40
|
slop (~> 3.4)
|
|
41
|
-
pry-doc (0.
|
|
41
|
+
pry-doc (0.5.1)
|
|
42
42
|
pry (>= 0.9)
|
|
43
43
|
yard (>= 0.8)
|
|
44
|
-
rb-fsevent (0.9.
|
|
45
|
-
rb-inotify (0.9.
|
|
44
|
+
rb-fsevent (0.9.4)
|
|
45
|
+
rb-inotify (0.9.3)
|
|
46
46
|
ffi (>= 0.5.0)
|
|
47
47
|
rspec (2.14.1)
|
|
48
48
|
rspec-core (~> 2.14.0)
|
|
49
49
|
rspec-expectations (~> 2.14.0)
|
|
50
50
|
rspec-mocks (~> 2.14.0)
|
|
51
51
|
rspec-core (2.14.7)
|
|
52
|
-
rspec-expectations (2.14.
|
|
52
|
+
rspec-expectations (2.14.4)
|
|
53
53
|
diff-lcs (>= 1.1.3, < 2.0)
|
|
54
54
|
rspec-mocks (2.14.4)
|
|
55
|
-
slop (3.4.
|
|
55
|
+
slop (3.4.7)
|
|
56
56
|
thor (0.18.1)
|
|
57
57
|
timers (1.1.0)
|
|
58
|
-
transilien_microservices (0.0.
|
|
58
|
+
transilien_microservices (0.0.6)
|
|
59
59
|
faraday (>= 0.8.4)
|
|
60
60
|
nokogiri (>= 1.5.5)
|
|
61
|
-
yard (0.8.7.
|
|
61
|
+
yard (0.8.7.3)
|
|
62
62
|
|
|
63
63
|
PLATFORMS
|
|
64
64
|
ruby
|
data/easy_transilien.gemspec
CHANGED
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
|
|
|
13
13
|
gem.homepage = "https://github.com/ook/easy_transilien"
|
|
14
14
|
gem.license = 'MIT'
|
|
15
15
|
|
|
16
|
-
gem.add_runtime_dependency('transilien_microservices', '~> 0.0.
|
|
16
|
+
gem.add_runtime_dependency('transilien_microservices', '~> 0.0.6') # Hey, it's a wrapper, so we must wrap it ;)
|
|
17
17
|
|
|
18
18
|
gem.files = `git ls-files`.split($/)
|
|
19
19
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
data/lib/easy_transilien/line.rb
CHANGED
|
@@ -60,7 +60,7 @@ module EasyTransilien
|
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def codes
|
|
63
|
-
@codes ||= ms_lines.map(&:code).flatten.uniq.sort
|
|
63
|
+
@codes ||= ms_lines.map(&:code).flatten.uniq.sort#.reject { |code| code.length != 1 } # DEV NOTE lines with more than 1 letter are special lines for "travaux"
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
def ms_lines
|
|
@@ -56,7 +56,7 @@ module EasyTransilien
|
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
def codes
|
|
59
|
-
@codes ||= ms_stop_area.lines.map(&:code).flatten.uniq.sort
|
|
59
|
+
@codes ||= ms_stop_area.lines.map(&:code).flatten.uniq.sort#.reject { |c| c.length != 1 } # DEV NOTE lines with more than 1 letter are special lines for "travaux"
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def coord(format = :gps)
|
data/lib/easy_transilien/trip.rb
CHANGED
|
@@ -3,8 +3,8 @@ module EasyTransilien
|
|
|
3
3
|
# This class give you the differents Train from one point to an other point, on the same Transilien::Route, in the Time boudaries you
|
|
4
4
|
# gave.
|
|
5
5
|
#
|
|
6
|
-
# The key method id Trip.find(from, to,
|
|
7
|
-
# You can let [at] and [last] params empty: in that case [at] will be right now, and [last] will be in 1 hour later than [at]
|
|
6
|
+
# The key method id Trip.find(from, to, options)
|
|
7
|
+
# You can let options[at] and options[last] params empty: in that case [at] will be right now, and [last] will be in 1 hour later than [at]
|
|
8
8
|
#
|
|
9
9
|
# A trip is the EasyTransilien representation from Transilien::VehicleJourney
|
|
10
10
|
class Trip
|
|
@@ -12,7 +12,7 @@ module EasyTransilien
|
|
|
12
12
|
attr_accessor :from_station, :to_station, :from_stop, :to_stop, :access_time
|
|
13
13
|
attr_accessor :start_time, :arrival_time
|
|
14
14
|
attr_accessor :mission
|
|
15
|
-
attr_accessor :
|
|
15
|
+
attr_accessor :ms_journey
|
|
16
16
|
|
|
17
17
|
attr_accessor :at
|
|
18
18
|
attr_accessor :stops
|
|
@@ -20,7 +20,24 @@ module EasyTransilien
|
|
|
20
20
|
class << self
|
|
21
21
|
|
|
22
22
|
# Find
|
|
23
|
-
|
|
23
|
+
# Options:
|
|
24
|
+
# * at (default Time.new)
|
|
25
|
+
# * last (default at + 3600)
|
|
26
|
+
# * whole_day: if true, override at and last with respectively 00:01 and 00:00
|
|
27
|
+
# * return: if true, invert from and to
|
|
28
|
+
def find(from, to , options= {})
|
|
29
|
+
at = last = nil
|
|
30
|
+
if options[:whole_day]
|
|
31
|
+
now = Time.new
|
|
32
|
+
at = Time.new(now.year, now.month, now.day, 0, 0, 1)
|
|
33
|
+
last = at + 86400
|
|
34
|
+
end
|
|
35
|
+
if options[:return]
|
|
36
|
+
from_was = from
|
|
37
|
+
from = to
|
|
38
|
+
to = from_was
|
|
39
|
+
end
|
|
40
|
+
at ||= Time.new
|
|
24
41
|
raise "at params MUST be a valid Time instance. Given: #{at.inspect}" unless at.is_a?(Time)
|
|
25
42
|
last ||= at + 3600
|
|
26
43
|
raise "last params MUST be a valid Time instance. Given: #{last.inspect}" unless last.is_a?(Time)
|
|
@@ -50,8 +67,10 @@ module EasyTransilien
|
|
|
50
67
|
item.to_stop = item.stops.select { |ts| ts.station_external_code == to_station.external_code }.first
|
|
51
68
|
next if item.from_stop.nil? || item.to_stop.nil? # drop item if this journey doesn't deserve our from_stop or to_stop
|
|
52
69
|
item.access_time = journey.access_time
|
|
53
|
-
item.
|
|
70
|
+
item.ms_journey = journey
|
|
54
71
|
item.mission = journey.name
|
|
72
|
+
item.start_time = item.from_stop.ms_stop.stop_time.time
|
|
73
|
+
item.arrival_time = item.to_stop.ms_stop.stop_time.time
|
|
55
74
|
|
|
56
75
|
trips << item
|
|
57
76
|
|
|
@@ -73,6 +92,10 @@ module EasyTransilien
|
|
|
73
92
|
to_station.name
|
|
74
93
|
end
|
|
75
94
|
|
|
95
|
+
def line_code
|
|
96
|
+
ms_journey.route.line.code
|
|
97
|
+
end
|
|
98
|
+
|
|
76
99
|
def to_s
|
|
77
100
|
"[#{mission}] #{from_stop} -> #{to_stop}"
|
|
78
101
|
end
|
data/spec/station_spec.rb
CHANGED
|
@@ -13,16 +13,17 @@ describe EasyTransilien::Station do
|
|
|
13
13
|
(col.length > 0).should be_true
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
it 'should get Line for a Station' do
|
|
16
|
+
it 'should get at least a Line for a Station' do
|
|
17
17
|
station = EasyTransilien::Station.find('Val d\'Argenteuil').first
|
|
18
18
|
station.lines.is_a?(Array).should be_true
|
|
19
|
+
(station.lines.length > 0).should be_true
|
|
19
20
|
station.lines[0].is_a?(EasyTransilien::Line).should be_true
|
|
20
21
|
end
|
|
21
22
|
|
|
22
|
-
it 'should get line_letters for a Station' do
|
|
23
|
+
it 'should get at least one line_letters for a Station' do
|
|
23
24
|
station = EasyTransilien::Station.find('Val d\'Argenteuil').first
|
|
24
25
|
station.codes.is_a?(Array).should be_true
|
|
25
|
-
station.codes.length.should
|
|
26
|
+
(station.codes.length > 0).should be_true
|
|
26
27
|
station.codes[0].is_a?(String).should be_true
|
|
27
28
|
station.codes[0].should eql('J')
|
|
28
29
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: easy_transilien
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas Lecavelier
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2014-01-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: transilien_microservices
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ~>
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.0.
|
|
19
|
+
version: 0.0.6
|
|
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.0.
|
|
26
|
+
version: 0.0.6
|
|
27
27
|
description: 'Access SNCF Transilien micro-services datan the easy way: enable access
|
|
28
28
|
to their theoric offer.'
|
|
29
29
|
email:
|
|
@@ -33,6 +33,7 @@ extensions: []
|
|
|
33
33
|
extra_rdoc_files: []
|
|
34
34
|
files:
|
|
35
35
|
- .gitignore
|
|
36
|
+
- .rspec
|
|
36
37
|
- .ruby-version
|
|
37
38
|
- Gemfile
|
|
38
39
|
- Gemfile.lock
|