traffic 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,7 +14,8 @@ module Traffic
14
14
  end
15
15
 
16
16
  def timestamp
17
- Time.parse(rss.title.gsub(/Fileindex.nl actuele files /, ""))
17
+ time_string = translate(rss.title.gsub(/Fileindex.nl actuele files /, ""))
18
+ Time.parse(time_string)
18
19
  end
19
20
 
20
21
  def count
@@ -54,6 +55,11 @@ module Traffic
54
55
  def rss
55
56
  @data ||= Feedzirra::Feed.fetch_and_parse(RSS_FEED)
56
57
  end
58
+
59
+ def translate(timestamp)
60
+ months = {"maa" => "mar", "mei" => "may", "okt" => "oct"}
61
+ timestamp.gsub(/maa|mei|okt/) { |match| months[match] }
62
+ end
57
63
  end
58
64
  end
59
65
  end
@@ -1,3 +1,3 @@
1
1
  module Traffic
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -0,0 +1,30 @@
1
+
2
+ <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Fileindex.nl actuele files 02-mei-2012 17:51:51</title><link>http://www.fileindex.nl/meldingenRSS.aspx</link><description>Er zijn 20 files met een totale lengte van 64 km.</description><language>en-us</language><item><title>A1 van Amersfoort richting Amsterdam 2.2 km
3
+ </title><description>Langzaam rijdend verkeer tussen Amersfoort-Noord en Eembrugge door Ongeval(len) HMP39.1 --&gt; HMP36.9 Deze file wordt korter.</description></item><item><title>A4 van Amsterdam richting Delft 2.3 km
4
+ </title><description>Stilstaand verkeer tussen Roelofarendsveen en Brug over de Oude Rijn HMP27.8 --&gt; HMP30.1</description></item><item><title>A4 van Delft richting Amsterdam 2.2 km
5
+ </title><description>Langzaam rijdend verkeer tussen Leidschendam en Zoeterwoude-Dorp HMP37.3 --&gt; HMP35.1 Deze file wordt langer.</description></item><item><title>A4 van Hoogvliet richting Vlaardingen 2.2 km
6
+ </title><description>Langzaam rijdend verkeer tussen Benelux en Kethelplein HMP72.7 --&gt; HMP70.5</description></item><item><title>A7 van Hoorn richting Zaandam 1.4 km
7
+ </title><description>Rechter rijstro(o)k(en) afgesloten tussen Wijde Wormer en Zaandijk door Olie op het wegdek HMP8.4 --&gt; HMP7 Deze file wordt langer.</description></item><item><title>A7 van Hoorn richting Zaandam 5.8 km
8
+ </title><description>Stilstaand verkeer tussen Purmerend-Zuid en Zaandijk door Olie op het wegdek HMP14 --&gt; HMP8.2 Deze file wordt korter.
9
+ </description></item><item><title>A10 van De Nieuwe Meer richting Coenplein 3.3 km
10
+ </title><description>Langzaam rijdend verkeer tussen Geuzenveld en Coenplein HMP25.8 --&gt; HMP29.1 Deze file wordt korter.
11
+ </description></item><item><title>A12 van Den Haag richting Utrecht 2.4 km
12
+ </title><description>Langzaam rijdend verkeer tussen Malieveld en Voorburg HMP2.9 --&gt; HMP5.3 Deze file wordt korter.
13
+ </description></item><item><title>A15 van Ridderkerk richting Rozenburg 3 km
14
+ </title><description>Langzaam rijdend verkeer tussen Hoogvliet en Spijkenisse HMP48 --&gt; HMP45 Deze file wordt korter.
15
+ </description></item><item><title>A15 van Rozenburg richting Ridderkerk 4.5 km
16
+ </title><description>Langzaam rijdend verkeer tussen Benelux en Vaanplein HMP51 --&gt; HMP55.5 Deze file wordt korter.
17
+ </description></item><item><title>A15 van Gorinchem richting Ridderkerk 2.6 km
18
+ </title><description>Langzaam rijdend verkeer tussen Sliedrecht-Oost en Papendrecht HMP82.9 --&gt; HMP80.3 Deze file wordt korter.
19
+ </description></item><item><title>A16 van Breda richting Rotterdam 6.8 km
20
+ </title><description>Stilstaand verkeer tussen Ridderkerk-Noord en Terbregseplein HMP24.2 --&gt; HMP17.4 Deze file wordt langer.</description></item><item><title>A20 van Hoek van Holland richting Gouda 2.3 km
21
+ </title><description>Stilstaand verkeer tussen Kleinpolderplein en Rotterdam-Centrum HMP28.7 --&gt; HMP31</description></item><item><title>A20 van Gouda richting Hoek van Holland 7 km
22
+ </title><description>Stilstaand verkeer tussen Nieuwerkerk aan den IJssel en Crooswijk door Eerder(e) ongeval(len) HMP40.8 --&gt; HMP33.8 Deze file wordt korter.
23
+ </description></item><item><title>A27 van Gorinchem richting Breda 2.5 km
24
+ </title><description>Langzaam rijdend verkeer tussen Gorinchem en Merwedebrug HMP37.4 --&gt; HMP34.9 Deze file wordt langer.</description></item><item><title>A27 van Gorinchem richting Utrecht 3.6 km
25
+ </title><description>Langzaam rijdend verkeer tussen Veemarkt en Bilthoven HMP80.5 --&gt; HMP84.1 Deze file wordt langer.</description></item><item><title>A27 van Utrecht richting Almere 2.5 km
26
+ </title><description>Langzaam rijdend verkeer tussen Hilversum en Eemnes HMP93.6 --&gt; HMP96.1</description></item><item><title>A28 van Utrecht richting Amersfoort 2.2 km
27
+ </title><description>Langzaam rijdend verkeer tussen Soesterberg en Maarn HMP13.6 --&gt; HMP15.8 Deze file wordt langer.</description></item><item><title>A28 van Utrecht richting Amersfoort 2.4 km
28
+ </title><description>Langzaam rijdend verkeer tussen Leusden-Zuid en Leusden HMP17.1 --&gt; HMP19.5</description></item><item><title>A76 van Leuven richting Geleen 3 km
29
+ </title><description>Stilstaand verkeer tussen Stein en Geleen door Ongeval(len) HMP1.5 --&gt; HMP4.5 Deze file wordt korter.
30
+ </description></item></channel></rss>
@@ -68,8 +68,22 @@ describe Traffic do
68
68
  @info.traffic.should be_true
69
69
  end
70
70
 
71
- it "should return a timestamp" do
72
- @info.timestamp.strftime("%H:%M").should == "17:51"
71
+ context "timestamp" do
72
+ it "should return a timestamp" do
73
+ @info.timestamp.strftime("%H:%M").should == "17:51"
74
+ end
75
+
76
+ it "should parse the date correctly" do
77
+ stub_feed "file_index/dutch_date.xml"
78
+ Traffic.from(:file_index).timestamp.strftime("%Y-%m-%d").should == "2012-05-02"
79
+ end
80
+
81
+ it "should translate the date" do
82
+ provider = Traffic::Providers::FileIndex.new
83
+ provider.send(:translate, "01-mei-2012").should == "01-may-2012"
84
+ provider.send(:translate, "01-okt-2012").should == "01-oct-2012"
85
+ provider.send(:translate, "01-maa-2012").should == "01-mar-2012"
86
+ end
73
87
  end
74
88
 
75
89
  it "should return an info object" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traffic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70103555463260 !ruby/object:Gem::Requirement
16
+ requirement: &70278638289820 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70103555463260
24
+ version_requirements: *70278638289820
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70103555462260 !ruby/object:Gem::Requirement
27
+ requirement: &70278638289320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0.9'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70103555462260
35
+ version_requirements: *70278638289320
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70103555461220 !ruby/object:Gem::Requirement
38
+ requirement: &70278638288860 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.7'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70103555461220
46
+ version_requirements: *70278638288860
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mocha
49
- requirement: &70103555460020 !ruby/object:Gem::Requirement
49
+ requirement: &70278638288400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0.10'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70103555460020
57
+ version_requirements: *70278638288400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &70103555459520 !ruby/object:Gem::Requirement
60
+ requirement: &70278638287940 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0.5'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70103555459520
68
+ version_requirements: *70278638287940
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fakeweb
71
- requirement: &70103555458980 !ruby/object:Gem::Requirement
71
+ requirement: &70278638287480 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '1.3'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70103555458980
79
+ version_requirements: *70278638287480
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: feedzirra
82
- requirement: &70103555458360 !ruby/object:Gem::Requirement
82
+ requirement: &70278637983800 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0.1'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70103555458360
90
+ version_requirements: *70278637983800
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: activesupport
93
- requirement: &70103555457400 !ruby/object:Gem::Requirement
93
+ requirement: &70278637980480 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - =
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 3.1.3
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70103555457400
101
+ version_requirements: *70278637980480
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: httpclient
104
- requirement: &70103555479980 !ruby/object:Gem::Requirement
104
+ requirement: &70278637979220 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '2.2'
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70103555479980
112
+ version_requirements: *70278637979220
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: nokogiri
115
- requirement: &70103555479280 !ruby/object:Gem::Requirement
115
+ requirement: &70278637977800 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '1.4'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70103555479280
123
+ version_requirements: *70278637977800
124
124
  description: Traffic is a gem that supplies traffic information from multiple data
125
125
  providers
126
126
  email:
@@ -143,6 +143,7 @@ files:
143
143
  - spec/fixtures/anwb/empty.html
144
144
  - spec/fixtures/anwb/traffic.html
145
145
  - spec/fixtures/file_index/apostrophe_in_description.xml
146
+ - spec/fixtures/file_index/dutch_date.xml
146
147
  - spec/fixtures/file_index/empty_rss.xml
147
148
  - spec/fixtures/file_index/rss.xml
148
149
  - spec/fixtures/file_index/weird_description.xml
@@ -181,6 +182,7 @@ test_files:
181
182
  - spec/fixtures/anwb/empty.html
182
183
  - spec/fixtures/anwb/traffic.html
183
184
  - spec/fixtures/file_index/apostrophe_in_description.xml
185
+ - spec/fixtures/file_index/dutch_date.xml
184
186
  - spec/fixtures/file_index/empty_rss.xml
185
187
  - spec/fixtures/file_index/rss.xml
186
188
  - spec/fixtures/file_index/weird_description.xml