gares 0.1.3 → 0.1.4

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
  SHA1:
3
- metadata.gz: 5324b2323c5e6541b8a3ec5e054ff26283f97460
4
- data.tar.gz: c5d3afb9a6cd70704aff7a4fc5dd0c1f6e1a37bd
3
+ metadata.gz: e2ad3bf50a1a740e624ca06ba9ea4de2173b0b22
4
+ data.tar.gz: 7e04564b13989559a80d666ce3d74717d1863ab9
5
5
  SHA512:
6
- metadata.gz: 8ae8367c09ffb8b8032352a4549301e9f0fbb8b3d4591f02f77cca94d34bcd6c08715c69774b65e61364fdf2e686bd4c41af73aa5f5d88e716c2e699daadc717
7
- data.tar.gz: 6d6cb2afafb0e04718d5905c6b194b30501bde3fb55c90ab2b2a4afc0326f30be33b7315fbb13988cc8bd8fcb6c88c4edc43eff4d4379e12cb7456de86104725
6
+ metadata.gz: d1794901b7b8dc65826c3eb3fa07457798eccc6462828cda410c4d14fbff7062b49c6cfa85b8f5ef9cb7cf7b340378c68a688bf26ad66b52298ba834b194f92a
7
+ data.tar.gz: e8b3bc039ff0b802dab7ee8ff1a81c60915774d275da36110d23db98ba01204cde0fcf8412a5708da63fb559ab8778e47fada48dcf1d97d028190e03f6d1f082
data/README.md CHANGED
@@ -25,21 +25,28 @@ Gares currently features the following:
25
25
  g.wifi?
26
26
  #=> true
27
27
 
28
+ g.has_borne?
29
+ #=> true
30
+
28
31
  g.services.first
29
32
  #=> "Services à la clientèle"
30
33
 
34
+ [g.lat, g.long]
35
+ #=> [45.760281, 4.859801]
36
+
31
37
  ### Searching:
32
38
 
33
39
  g = Gares::Search.new("Aix")
34
40
 
35
41
  g.gares.size
36
42
  #=> 7
37
-
43
+
38
44
  # or
39
-
45
+
40
46
  gares = Gares::Gare.search("lyon")
41
-
42
- gares.last.name
47
+ gare = gares.last
48
+
49
+ gare.name
43
50
  #=> "Paris Gare de Lyon"
44
51
 
45
52
  ## Installation
data/gares.gemspec CHANGED
@@ -26,6 +26,8 @@ Gem::Specification.new do |s|
26
26
  s.add_development_dependency 'rake'
27
27
  s.add_development_dependency 'rspec'
28
28
  s.add_development_dependency 'gokdok'
29
+ s.add_development_dependency 'guard'
30
+ s.add_development_dependency 'guard-rspec'
29
31
  s.add_development_dependency 'rdoc'
30
32
  s.add_development_dependency 'fakeweb'
31
33
  s.add_development_dependency 'coveralls'
data/lib/gares/base.rb CHANGED
@@ -3,6 +3,9 @@ module Gares
3
3
  class Base
4
4
  attr_accessor :slug, :name
5
5
 
6
+ GPS_COORD = 'Coordonnées GPS : '
7
+ NAME = 'En direct de '
8
+
6
9
  # Initialize a new Gare object with it's gare-en-mouvemnt id (as a String)
7
10
  #
8
11
  # gare = Gares::Gare.new("frabt")
@@ -16,6 +19,14 @@ module Gares
16
19
  @name = name if name
17
20
  end
18
21
 
22
+ def lat
23
+ coordinates.first.to_f
24
+ end
25
+
26
+ def long
27
+ coordinates.last.to_f
28
+ end
29
+
19
30
  def services
20
31
  @services ||= Services.new(@slug)
21
32
  @services.all
@@ -52,12 +63,17 @@ module Gares
52
63
  if @name && !force_refresh
53
64
  @name
54
65
  else
55
- @name = document.at('h1').inner_html.gsub(/En direct de /, '') rescue nil
66
+ @name = document.at('h1').inner_html.gsub(NAME, '') rescue nil
56
67
  end
57
68
  end
58
69
 
59
70
  private
60
71
 
72
+ def coordinates
73
+ @coordinates ||= document.xpath("//p/strong[contains(text(), '#{GPS_COORD}')]").first.parent.text
74
+ .gsub(GPS_COORD, '').split(',')
75
+ end
76
+
61
77
  # Returns a new Nokogiri document for parsing.
62
78
  def document
63
79
  @document ||= Nokogiri::HTML(Gares::Gare.find_by_slug(@slug))
data/lib/gares/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gares
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
@@ -22,6 +22,14 @@ describe Gares::Gare do
22
22
  expect(name).to eql('Lyon Part Dieu')
23
23
  end
24
24
 
25
+ it 'should find the geolocation coordinates' do
26
+ lat = @gare.lat
27
+ long = @gare.long
28
+
29
+ expect(lat).to eql(45.760281)
30
+ expect(long).to eql(4.859801)
31
+ end
32
+
25
33
  it 'should have opening hours' do
26
34
  horaires = @gare.horaires
27
35
 
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe String do
4
+
5
+ let(:html) { "<p>my paragraph</p>" }
6
+ let(:escaped_html) { CGI::escapeHTML(html) }
7
+
8
+ describe '#strip_tags' do
9
+ subject { html.strip_tags }
10
+ it { should eql("my paragraph") }
11
+ end
12
+
13
+ describe '#unescape_html' do
14
+ subject { escaped_html.unescape_html }
15
+ it { should eql(html) }
16
+ end
17
+ end
metadata CHANGED
@@ -1,139 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gares
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Bonaud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-11 00:00:00.000000000 Z
11
+ date: 2015-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.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
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: hashie
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: unidecoder
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: gokdok
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-rspec
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
+ - - ">="
95
123
  - !ruby/object:Gem::Version
96
124
  version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rdoc
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
- - - '>='
129
+ - - ">="
102
130
  - !ruby/object:Gem::Version
103
131
  version: '0'
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
- - - '>='
136
+ - - ">="
109
137
  - !ruby/object:Gem::Version
110
138
  version: '0'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: fakeweb
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
- - - '>='
143
+ - - ">="
116
144
  - !ruby/object:Gem::Version
117
145
  version: '0'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
- - - '>='
150
+ - - ">="
123
151
  - !ruby/object:Gem::Version
124
152
  version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: coveralls
127
155
  requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
- - - '>='
157
+ - - ">="
130
158
  - !ruby/object:Gem::Version
131
159
  version: '0'
132
160
  type: :development
133
161
  prerelease: false
134
162
  version_requirements: !ruby/object:Gem::Requirement
135
163
  requirements:
136
- - - '>='
164
+ - - ">="
137
165
  - !ruby/object:Gem::Version
138
166
  version: '0'
139
167
  description: Easily use Ruby or the command line to find information on gares-en-mouvement.com.
@@ -143,11 +171,11 @@ executables: []
143
171
  extensions: []
144
172
  extra_rdoc_files: []
145
173
  files:
146
- - .gitignore
147
- - .rspec
148
- - .rubocop.yml
149
- - .rubocop_todo.yml
150
- - .travis.yml
174
+ - ".gitignore"
175
+ - ".rspec"
176
+ - ".rubocop.yml"
177
+ - ".rubocop_todo.yml"
178
+ - ".travis.yml"
151
179
  - Gemfile
152
180
  - MIT-LICENSE
153
181
  - README.md
@@ -175,6 +203,7 @@ files:
175
203
  - spec/gares/gare_spec.rb
176
204
  - spec/gares/sales_spec.rb
177
205
  - spec/gares/search_spec.rb
206
+ - spec/gares/string_extensions_spec.rb
178
207
  - spec/spec_helper.rb
179
208
  - tasks/fixtures.rake
180
209
  - tasks/rspec.rake
@@ -188,18 +217,19 @@ require_paths:
188
217
  - lib
189
218
  required_ruby_version: !ruby/object:Gem::Requirement
190
219
  requirements:
191
- - - '>='
220
+ - - ">="
192
221
  - !ruby/object:Gem::Version
193
222
  version: '0'
194
223
  required_rubygems_version: !ruby/object:Gem::Requirement
195
224
  requirements:
196
- - - '>='
225
+ - - ">="
197
226
  - !ruby/object:Gem::Version
198
227
  version: '0'
199
228
  requirements: []
200
229
  rubyforge_project: gares
201
- rubygems_version: 2.0.3
230
+ rubygems_version: 2.2.0
202
231
  signing_key:
203
232
  specification_version: 4
204
233
  summary: Easily access the publicly available information on gares-en-mouvement.com.
205
234
  test_files: []
235
+ has_rdoc: