live_soccer 0.1.1 → 0.1.2

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