easy_transilien 0.0.2 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|