live_soccer 0.1.1 → 0.1.2

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.
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ 0.1.2
2
+ * Added penalties score
3
+
1
4
  0.1.1
2
5
  * Nice message when there's no ongoing match
3
6
  * Added changelog
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/bin/live_soccer CHANGED
@@ -3,16 +3,5 @@
3
3
 
4
4
  $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
5
5
  require 'live_soccer'
6
- require 'thor'
7
6
 
8
- class Command < Thor
9
- default_task :show
10
-
11
- desc "show", "shows the current matches(if any) and the results"
12
- def show
13
- collection = LiveSoccer::MatchCollection.new(LiveSoccer::Checker.parse_matches)
14
- puts collection.to_s
15
- end
16
- end
17
-
18
- Command.start
7
+ LiveSoccer::Command.start
data/lib/live_soccer.rb CHANGED
@@ -2,4 +2,5 @@ module LiveSoccer
2
2
  autoload :Checker, 'live_soccer/checker'
3
3
  autoload :Match, 'live_soccer/match'
4
4
  autoload :MatchCollection, 'live_soccer/match_collection'
5
+ autoload :Command, 'live_soccer/command'
5
6
  end
@@ -1,8 +1,13 @@
1
1
  require 'httparty'
2
2
  require 'nokogiri'
3
3
 
4
+ class Nokogiri::XML::Node
5
+ def soccer_value(selector)
6
+ self.css(selector).first.content.strip
7
+ end
8
+ end
9
+
4
10
  module LiveSoccer
5
-
6
11
  class Checker
7
12
  MATCHES_URL = "http://espn.estadao.com.br/temporeal/acoes.listaPartidasAjax.tiles.logic?"
8
13
 
@@ -13,9 +18,11 @@ module LiveSoccer
13
18
  def self.parse_matches
14
19
  [].tap do |matches|
15
20
  self.each_match do |match|
16
- matches << { date: DateTime.parse(match.css('li.noticia_hora').first.content),
17
- home: match.css('div.jogo td.time1').first.content.strip,
18
- visitor: match.css('div.jogo td.time2').first.content.strip,
21
+ date = "#{match.soccer_value 'li.noticia_dia'} #{match.soccer_value 'li.noticia_hora'} -03:00"
22
+
23
+ matches << { date: DateTime.parse(date),
24
+ home: match.soccer_value('div.jogo td.time1'),
25
+ visitor: match.soccer_value('div.jogo td.time2'),
19
26
  score: match.css('div.jogo td.placar').last.content.strip,
20
27
  id: match.css('div.jogo td.placar a').first && match.css('div.jogo td.placar a').first.attributes["href"].value.split("id=").last }
21
28
  end
@@ -27,8 +34,7 @@ module LiveSoccer
27
34
  Nokogiri::HTML.parse(self.fetch_matches).css('div.bloco_jogos').each do |link|
28
35
  yield link
29
36
  end
30
- end
31
-
37
+ end
32
38
  end
33
39
 
34
- end
40
+ end
@@ -0,0 +1,13 @@
1
+ require 'thor'
2
+
3
+ module LiveSoccer
4
+ class Command < Thor
5
+ default_task :show
6
+
7
+ desc "show", "shows the current matches(if any) and the results"
8
+ def show
9
+ collection = LiveSoccer::MatchCollection.new(LiveSoccer::Checker.parse_matches)
10
+ puts collection.to_s
11
+ end
12
+ end
13
+ end
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  module LiveSoccer
3
3
  class Match
4
- attr_accessor :id, :date, :home, :visitor, :score
4
+ attr_accessor :id, :date, :home, :visitor, :score, :penalty_home, :penalty_visitor
5
5
 
6
6
  def initialize(attrs)
7
7
  self.id = attrs.fetch :id
@@ -9,11 +9,25 @@ module LiveSoccer
9
9
  self.home = attrs.fetch :home
10
10
  self.visitor = attrs.fetch :visitor
11
11
  self.score = attrs.fetch :score
12
+ self.penalty_home = attrs.delete(:penalty_home) || nil
13
+ self.penalty_visitor = attrs.delete(:penalty_visitor) || nil
12
14
  end
13
15
 
14
16
  def to_s
15
- "#{date.strftime("%d%b %H:%M")} - #{self.home} #{self.score} #{self.visitor}"
17
+ "#{date.strftime("%d%b %H:%M")} - #{self.home} #{score_and_penalties} #{self.visitor}"
16
18
  end
17
19
 
20
+ def score_and_penalties
21
+ with_penalties { self.score }
22
+ end
23
+
24
+ private
25
+ def with_penalties
26
+ "".tap do |output|
27
+ output << "(#{self.penalty_home}) " if self.penalty_home
28
+ output << yield
29
+ output << " (#{self.penalty_visitor})" if self.penalty_visitor
30
+ end
31
+ end
18
32
  end
19
33
  end
data/live_soccer.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "live_soccer"
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matias H. Leidemer"]
12
- s.date = "2012-05-22"
12
+ s.date = "2012-05-26"
13
13
  s.description = "Find out how your soccer team is going right now!"
14
14
  s.email = "matiasleidemer@gmail.com"
15
15
  s.executables = ["live_soccer"]
@@ -30,10 +30,12 @@ Gem::Specification.new do |s|
30
30
  "bin/live_soccer",
31
31
  "lib/live_soccer.rb",
32
32
  "lib/live_soccer/checker.rb",
33
+ "lib/live_soccer/command.rb",
33
34
  "lib/live_soccer/match.rb",
34
35
  "lib/live_soccer/match_collection.rb",
35
36
  "live_soccer.gemspec",
36
37
  "spec/checker_spec.rb",
38
+ "spec/command_spec.rb",
37
39
  "spec/live_soccer_spec.rb",
38
40
  "spec/match_collection_spec.rb",
39
41
  "spec/match_spec.rb",
data/spec/checker_spec.rb CHANGED
@@ -15,7 +15,7 @@ describe "Checker" do
15
15
  end
16
16
 
17
17
  describe ".parse_matches" do
18
- let(:match) { { date: DateTime.parse("18h30"), home: "Vasco", visitor: "Grêmio", score: "1 x 2", id: "40075" } }
18
+ let(:match) { { date: DateTime.parse("24May 20h00 -03:00"), home: "Santos", visitor: "Vélez Sarsfield", score: "1 x 0", id: "39230" } }
19
19
 
20
20
  it "parses the matches" do
21
21
  LiveSoccer::Checker.parse_matches.first.should == match
@@ -0,0 +1,5 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Command" do
4
+
5
+ end
data/spec/match_spec.rb CHANGED
@@ -4,6 +4,7 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
4
4
  describe "Match" do
5
5
 
6
6
  let(:params) { { date: DateTime.parse("20May 18h30"), home: "Vasco", visitor: "Grêmio", score: "1 x 2", id: "40075" } }
7
+ let(:match) { LiveSoccer::Match.new params }
7
8
 
8
9
  describe ".new" do
9
10
  it "initializes a new Match class" do
@@ -13,9 +14,14 @@ describe "Match" do
13
14
 
14
15
  describe "#to_s" do
15
16
  it "returns the match as a string" do
16
- match = LiveSoccer::Match.new params
17
17
  match.to_s.should == "20May 18:30 - Vasco 1 x 2 Grêmio"
18
18
  end
19
+
20
+ it "returns the match with penalties score" do
21
+ match.penalty_home = "4"
22
+ match.penalty_visitor = "5"
23
+ match.to_s.should == "20May 18:30 - Vasco (4) 1 x 2 (5) Grêmio"
24
+ end
19
25
  end
20
26
 
21
27
  end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,11 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
6
  require 'rspec'
4
7
  require 'live_soccer'
5
8
  require 'fakeweb'
6
-
7
9
  # Requires supporting files with custom matchers and macros, etc,
8
10
  # in ./support/ and its subdirectories.
9
11
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
@@ -8,31 +8,34 @@
8
8
  <ul id="tr_agenda" class="clearfix">
9
9
 
10
10
  <li >
11
- <a href="#" rel="151" title="/Francês 2011/2012">Francês 2011/2012</a>
11
+ <a href="#" rel="193" title="/Copa do Brasil 2012">Copa do Brasil 2012</a>
12
12
  </li>
13
13
 
14
- <li class="now">
15
- <a href="#" rel="198" title="/Brasileiro Série A 2012">Brasileiro Série A 2012</a>
14
+ <li >
15
+ <a href="#" rel="194" title="/Libertadores da América 2012">Libertadores da América 2012</a>
16
+ </li>
17
+
18
+ <li >
19
+ <a href="#" rel="199" title="/Brasileiro Série B 2012">Brasileiro Série B 2012</a>
16
20
  </li>
17
21
 
18
22
  </ul>
19
23
 
20
24
 
25
+ <!-- JOGOS ENCERRRADOS -->
21
26
 
22
- <!-- JOGOS EM ANDAMENTO -->
23
-
24
- <h2>Jogos em andamento</h2>
27
+ <h2>Jogos encerrrados</h2>
25
28
 
26
29
 
27
30
  <div class="bloco_jogos">
28
31
  <div class="img_noticias">
29
- <ul class="agora">
30
- <li class="noticia_hora">18h30</li>
32
+ <ul >
33
+ <li class="noticia_hora">20h00</li>
31
34
  <li class="noticia_dia">
32
35
 
33
36
 
34
- Agora
35
37
 
38
+ 24May
36
39
 
37
40
 
38
41
 
@@ -42,100 +45,100 @@
42
45
 
43
46
 
44
47
  <div class="jogo ">
45
- <table cellpadding="0" cellspacing="0" border="0">
48
+ <table cellpadding="0" cellspacing="0" border="0">
46
49
  <colgroup>
47
50
  <col width="60" />
48
51
  <col width="90" />
49
- <col width="64" />
52
+ <col width="55" />
50
53
  <col width="25" />
51
54
  <col width="80" />
52
55
  <col width="25" />
53
- <col width="64" />
56
+ <col width="55" />
54
57
  <col width="90" />
55
- <col width="40" />
58
+ <col width="50" />
56
59
  </colgroup>
57
60
  <tbody>
58
61
  <tr>
59
62
  <td class="placar">
60
-
61
63
  </td>
62
64
  <td class="time1">
63
65
 
64
66
 
65
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40075" title="Vasco">
66
- Vasco
67
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=39230" title="Santos">
68
+ Santos
67
69
  </a>
68
70
 
69
71
 
70
-
71
-
72
+
72
73
  </td>
73
74
  <td class="time">
74
75
 
75
76
 
76
77
 
77
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40075" title="Vasco">
78
- <img src="http://contenti1.espn.com.br/time/cc8c2869-226f-3522-8c3b-e71b8a8c19ad.gif" />
78
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=39230" title="Santos">
79
+ <img src="http://contenti1.espn.com.br/time/8c38a98c-3fc9-3875-94af-233f4f8b4c4b.gif" />
79
80
  </a>
80
81
 
81
82
 
82
-
83
-
84
-
83
+
84
+
85
85
  </td>
86
-
87
-
88
86
  <td class="placar_penalt man">
87
+
88
+ <a title="4">
89
+ 4
90
+ </a>
89
91
 
90
- </td>
91
-
92
+ </td>
92
93
  <td class="placar">
93
94
 
94
95
 
95
96
 
96
-
97
+
97
98
 
98
99
 
99
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40075" title="1 x 2">
100
- 1 x 2
100
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=39230" title="1 x 0">
101
+ 1 x 0
101
102
  </a>
102
103
 
103
104
 
104
-
105
+
105
106
  </td>
106
-
107
107
  <td class="placar_penalt vis">
108
+
109
+ <a title="2">
110
+ 2
111
+ </a>
108
112
 
109
113
  </td>
110
-
111
114
  <td class="time">
112
115
 
113
116
 
114
117
 
115
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40075" title="Grêmio">
116
- <img src="http://contenti1.espn.com.br/time/fe9a6e35-61ad-3362-92dc-431be84f8d37.gif" />
118
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=39230" title="Vélez Sarsfield">
119
+ <img src="http://contenti1.espn.com.br/time/7ad5f137-8e50-3ada-aa47-e66999298ba7.png" />
117
120
  </a>
118
121
 
119
122
 
120
-
123
+
121
124
 
122
125
  </td>
123
- <td class="time2">
126
+ <td class="time2">
124
127
 
125
128
 
126
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40075" title="Grêmio">
127
- Grêmio
129
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=39230" title="Vélez Sarsfield">
130
+ Vélez Sarsfield
128
131
  </a>
129
132
 
130
133
 
131
-
134
+
132
135
  </td>
133
136
  <td>
134
137
 
135
138
 
136
139
 
137
140
 
138
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40075"
141
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=39230"
139
142
  title="Jogos transmitidos com narração da partida e todas as estatísticas" class="data_full">
140
143
  Lance a Lance</a>
141
144
 
@@ -145,125 +148,22 @@
145
148
 
146
149
 
147
150
 
148
- </td>
151
+ </td>
149
152
  </tr>
150
153
  </tbody>
151
154
  </table>
152
155
  </div>
153
156
  </div>
154
157
 
155
- <div class="bloco_jogos">
156
- <div class="img_noticias">
157
- <ul >
158
- <li class="noticia_hora">16h00</li>
159
- <li class="noticia_dia">
160
-
161
-
162
-
163
- 20May
164
-
165
-
166
-
167
- </li>
168
- </ul>
169
- </div>
170
-
171
-
172
- <div class="jogo ">
173
- <table cellpadding="0" cellspacing="0" border="0">
174
- <colgroup>
175
- <col width="60" />
176
- <col width="90" />
177
- <col width="55" />
178
- <col width="25" />
179
- <col width="80" />
180
- <col width="25" />
181
- <col width="55" />
182
- <col width="90" />
183
- <col width="50" />
184
- </colgroup>
185
- <tbody>
186
- <tr>
187
- <td class="placar">
188
- </td>
189
- <td class="time1">
190
-
191
-
192
-
193
- Rennes
194
-
195
-
196
- </td>
197
- <td class="time">
198
-
199
-
200
-
201
-
202
- <img src="http://contenti1.espn.com.br/time/07415332-64a9-3407-86f5-45b0a37bb7b7.png" />
203
-
204
-
205
-
206
- </td>
207
- <td class="placar_penalt man">
208
-
209
- </td>
210
- <td class="placar">
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
- 5 x 0
219
-
220
-
221
- </td>
222
- <td class="placar_penalt vis">
223
-
224
- </td>
225
- <td class="time">
226
-
227
-
228
-
229
-
230
- <img src="http://contenti1.espn.com.br/time/3554362f-20ca-32f4-b434-4f8afc02cf23.png" />
231
-
232
-
233
-
234
- </td>
235
- <td class="time2">
236
-
237
-
238
-
239
- Dijon
240
-
241
-
242
- </td>
243
- <td>
244
-
245
-
246
-
247
-
248
- <!-- <a title="Placar" class="">Jogos transmitidos com Placar</a> -->
249
-
250
-
251
- </td>
252
- </tr>
253
- </tbody>
254
- </table>
255
- </div>
256
- </div>
257
-
258
158
  <div class="bloco_jogos">
259
159
  <div class="img_noticias">
260
- <ul class="agora">
261
- <li class="noticia_hora">18h30</li>
160
+ <ul >
161
+ <li class="noticia_hora">21h00</li>
262
162
  <li class="noticia_dia">
263
163
 
264
164
 
265
- Agora
266
165
 
166
+ 24May
267
167
 
268
168
 
269
169
 
@@ -275,228 +175,92 @@
275
175
 
276
176
 
277
177
  <div class="jogo odd">
278
- <table cellpadding="0" cellspacing="0" border="0">
178
+ <table cellpadding="0" cellspacing="0" border="0">
279
179
  <colgroup>
280
180
  <col width="60" />
281
181
  <col width="90" />
282
- <col width="64" />
182
+ <col width="55" />
283
183
  <col width="25" />
284
184
  <col width="80" />
285
185
  <col width="25" />
286
- <col width="64" />
186
+ <col width="55" />
287
187
  <col width="90" />
288
- <col width="40" />
188
+ <col width="50" />
289
189
  </colgroup>
290
190
  <tbody>
291
191
  <tr>
292
192
  <td class="placar">
293
-
294
193
  </td>
295
194
  <td class="time1">
296
195
 
297
196
 
298
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40085" title="Cruzeiro">
299
- Cruzeiro
197
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=38938" title="Grêmio">
198
+ Grêmio
300
199
  </a>
301
200
 
302
201
 
303
-
304
-
202
+
305
203
  </td>
306
204
  <td class="time">
307
205
 
308
206
 
309
207
 
310
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40085" title="Cruzeiro">
311
- <img src="http://contenti1.espn.com.br/time/fd7795de-1c57-3dcd-a37c-4374ec61d26f.gif" />
208
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=38938" title="Grêmio">
209
+ <img src="http://contenti1.espn.com.br/time/fe9a6e35-61ad-3362-92dc-431be84f8d37.gif" />
312
210
  </a>
313
211
 
314
212
 
315
-
316
-
317
-
213
+
214
+
318
215
  </td>
319
-
320
-
321
216
  <td class="placar_penalt man">
322
217
 
323
- </td>
324
-
218
+ </td>
325
219
  <td class="placar">
326
220
 
327
221
 
328
222
 
329
-
330
-
331
-
332
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40085" title="0 x 0">
333
- 0 x 0
334
- </a>
335
-
336
-
337
-
338
- </td>
339
-
340
- <td class="placar_penalt vis">
341
-
342
- </td>
343
-
344
- <td class="time">
345
-
346
-
347
-
348
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40085" title="Atlético-GO">
349
- <img src="http://contenti1.espn.com.br/time/a67d8582-6eba-3110-bc95-52e40c999a78.gif" />
350
- </a>
351
-
352
-
353
-
354
-
355
- </td>
356
- <td class="time2">
357
-
358
-
359
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40085" title="Atlético-GO">
360
- Atlético-GO
361
- </a>
362
-
363
-
364
-
365
- </td>
366
- <td>
367
-
368
-
369
-
370
-
371
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40085"
372
- title="Jogos transmitidos com narração da partida e todas as estatísticas" class="data_full">
373
- Lance a Lance</a>
374
-
375
-
376
-
377
-
378
-
379
-
380
223
 
381
- </td>
382
- </tr>
383
- </tbody>
384
- </table>
385
- </div>
386
- </div>
387
-
388
- <div class="bloco_jogos">
389
- <div class="img_noticias">
390
- <ul class="agora">
391
- <li class="noticia_hora">18h30</li>
392
- <li class="noticia_dia">
393
-
394
-
395
- Agora
396
-
397
-
398
-
399
-
400
- </li>
401
- </ul>
402
- </div>
403
-
404
-
405
- <div class="jogo ">
406
- <table cellpadding="0" cellspacing="0" border="0">
407
- <colgroup>
408
- <col width="60" />
409
- <col width="90" />
410
- <col width="64" />
411
- <col width="25" />
412
- <col width="80" />
413
- <col width="25" />
414
- <col width="64" />
415
- <col width="90" />
416
- <col width="40" />
417
- </colgroup>
418
- <tbody>
419
- <tr>
420
- <td class="placar">
421
-
422
- </td>
423
- <td class="time1">
424
224
 
425
225
 
426
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40093" title="Bahia">
427
- Bahia
226
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=38938" title="2 x 0">
227
+ 2 x 0
428
228
  </a>
429
229
 
430
230
 
431
-
432
-
433
- </td>
434
- <td class="time">
435
-
436
-
437
-
438
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40093" title="Bahia">
439
- <img src="http://contenti1.espn.com.br/time/afdfb939-ff85-30fc-aa1e-9224ef6c145e.png" />
440
- </a>
441
231
 
442
-
443
-
444
-
445
-
446
- </td>
447
-
448
-
449
- <td class="placar_penalt man">
450
-
451
- </td>
452
-
453
- <td class="placar">
454
-
455
-
456
-
457
-
458
-
459
-
460
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40093" title="0 x 0">
461
- 0 x 0
462
- </a>
463
-
464
-
465
-
466
232
  </td>
467
-
468
233
  <td class="placar_penalt vis">
469
234
 
470
235
  </td>
471
-
472
236
  <td class="time">
473
237
 
474
238
 
475
239
 
476
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40093" title="Santos">
477
- <img src="http://contenti1.espn.com.br/time/8c38a98c-3fc9-3875-94af-233f4f8b4c4b.gif" />
240
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=38938" title="Bahia">
241
+ <img src="http://contenti1.espn.com.br/time/afdfb939-ff85-30fc-aa1e-9224ef6c145e.png" />
478
242
  </a>
479
243
 
480
244
 
481
-
245
+
482
246
 
483
247
  </td>
484
- <td class="time2">
248
+ <td class="time2">
485
249
 
486
250
 
487
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40093" title="Santos">
488
- Santos
251
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=38938" title="Bahia">
252
+ Bahia
489
253
  </a>
490
254
 
491
255
 
492
-
256
+
493
257
  </td>
494
258
  <td>
495
259
 
496
260
 
497
261
 
498
262
 
499
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40093"
263
+ <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=38938"
500
264
  title="Jogos transmitidos com narração da partida e todas as estatísticas" class="data_full">
501
265
  Lance a Lance</a>
502
266
 
@@ -506,36 +270,22 @@
506
270
 
507
271
 
508
272
 
509
- </td>
273
+ </td>
510
274
  </tr>
511
275
  </tbody>
512
276
  </table>
513
277
  </div>
514
278
  </div>
515
279
 
516
- <!-- FIM JOGOS EM ANDAMENTO -->
517
-
518
-
519
- <!-- JOGOS MARCADOS PARA HOJE -->
520
-
521
-
522
- <!-- FIM JOGOS MARCADOS PARA HOJE -->
523
-
524
-
525
- <!-- JOGOS ENCERRRADOS -->
526
-
527
- <h2>Jogos encerrrados</h2>
528
-
529
-
530
280
  <div class="bloco_jogos">
531
281
  <div class="img_noticias">
532
282
  <ul >
533
- <li class="noticia_hora">16h00</li>
283
+ <li class="noticia_hora">22h30</li>
534
284
  <li class="noticia_dia">
535
285
 
536
286
 
537
287
 
538
- 20May
288
+ 24May
539
289
 
540
290
 
541
291
 
@@ -564,10 +314,8 @@
564
314
  <td class="time1">
565
315
 
566
316
 
567
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40087" title="Ponte Preta">
568
- Ponte Preta
569
- </a>
570
317
 
318
+ Universidad de Chile
571
319
 
572
320
 
573
321
  </td>
@@ -575,10 +323,8 @@
575
323
 
576
324
 
577
325
 
578
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40087" title="Ponte Preta">
579
- <img src="http://contenti1.espn.com.br/time/d0e3f767-a816-37dc-8305-c55c5591fc4f.gif" />
580
- </a>
581
326
 
327
+ <img src="http://contenti1.espn.com.br/time/84d51a07-9b6c-3bf2-838a-6df1cca78b72.gif" />
582
328
 
583
329
 
584
330
 
@@ -593,10 +339,8 @@
593
339
 
594
340
 
595
341
 
596
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40087" title="0 x 1">
597
- 0 x 1
598
- </a>
599
342
 
343
+ 1 x 1
600
344
 
601
345
 
602
346
  </td>
@@ -607,10 +351,8 @@
607
351
 
608
352
 
609
353
 
610
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40087" title="Atlético-MG">
611
- <img src="http://contenti1.espn.com.br/time/be421723-4d87-3e44-88f3-66cf8052d88b.gif" />
612
- </a>
613
354
 
355
+ <img src="http://contenti1.espn.com.br/time/ae86f5e0-2d19-3ab0-b187-d04c3826b860.png" />
614
356
 
615
357
 
616
358
 
@@ -618,26 +360,17 @@
618
360
  <td class="time2">
619
361
 
620
362
 
621
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40087" title="Atlético-MG">
622
- Atlético-MG
623
- </a>
624
363
 
364
+ Libertad
625
365
 
626
366
 
627
367
  </td>
628
368
  <td>
629
369
 
630
-
631
370
 
632
-
633
- <a href="/temporeal/acoes.partida.logic?realTimeMatch.id=40087"
634
- title="Jogos transmitidos com narração da partida e todas as estatísticas" class="data_full">
635
- Lance a Lance</a>
636
-
637
-
638
-
639
371
 
640
372
 
373
+ <!-- <a title="Placar" class="">Jogos transmitidos com Placar</a> -->
641
374
 
642
375
 
643
376
  </td>
@@ -647,4 +380,4 @@
647
380
  </div>
648
381
  </div>
649
382
 
650
- <!-- FIM JOGOS ENCERRRADOS -->
383
+ <!-- FIM JOGOS ENCERRRADOS -->
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: live_soccer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-22 00:00:00.000000000Z
12
+ date: 2012-05-26 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70111554097100 !ruby/object:Gem::Requirement
16
+ requirement: &70186392687440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.8.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70111554097100
24
+ version_requirements: *70186392687440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70111554095540 !ruby/object:Gem::Requirement
27
+ requirement: &70186392684660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.5.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70111554095540
35
+ version_requirements: *70186392684660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: thor
38
- requirement: &70111554093360 !ruby/object:Gem::Requirement
38
+ requirement: &70186392682700 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.15.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70111554093360
46
+ version_requirements: *70186392682700
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70111554092120 !ruby/object:Gem::Requirement
49
+ requirement: &70186392679680 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.10.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70111554092120
57
+ version_requirements: *70186392679680
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &70111554090380 !ruby/object:Gem::Requirement
60
+ requirement: &70186392677200 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '3.12'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70111554090380
68
+ version_requirements: *70186392677200
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &70111554088880 !ruby/object:Gem::Requirement
71
+ requirement: &70186392645960 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.1.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70111554088880
79
+ version_requirements: *70186392645960
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: jeweler
82
- requirement: &70111554087580 !ruby/object:Gem::Requirement
82
+ requirement: &70186392641860 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.8.3
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70111554087580
90
+ version_requirements: *70186392641860
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: simplecov
93
- requirement: &70111554085420 !ruby/object:Gem::Requirement
93
+ requirement: &70186392635140 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.6.4
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70111554085420
101
+ version_requirements: *70186392635140
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: fakeweb
104
- requirement: &70111554083620 !ruby/object:Gem::Requirement
104
+ requirement: &70186392631120 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: 1.3.0
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70111554083620
112
+ version_requirements: *70186392631120
113
113
  description: Find out how your soccer team is going right now!
114
114
  email: matiasleidemer@gmail.com
115
115
  executables:
@@ -131,10 +131,12 @@ files:
131
131
  - bin/live_soccer
132
132
  - lib/live_soccer.rb
133
133
  - lib/live_soccer/checker.rb
134
+ - lib/live_soccer/command.rb
134
135
  - lib/live_soccer/match.rb
135
136
  - lib/live_soccer/match_collection.rb
136
137
  - live_soccer.gemspec
137
138
  - spec/checker_spec.rb
139
+ - spec/command_spec.rb
138
140
  - spec/live_soccer_spec.rb
139
141
  - spec/match_collection_spec.rb
140
142
  - spec/match_spec.rb
@@ -155,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
157
  version: '0'
156
158
  segments:
157
159
  - 0
158
- hash: -44823639091886771
160
+ hash: -3363444524132540551
159
161
  required_rubygems_version: !ruby/object:Gem::Requirement
160
162
  none: false
161
163
  requirements: