standings 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2U2MmNmOTg5NWFlNTJiZmFiNjBhMGFmMThhNzc3N2JkYWE1M2MyMQ==
4
+ YzFmZWRkN2FmOWRjOGZjNDU3YWI3YTkzZjM3MTY5YjhlNmJiMmJjNw==
5
5
  data.tar.gz: !binary |-
6
- ZjU3MGVkMzA3MzBjMzY4NGYwZjk3ZDY3NDFiNGE4YzAwMDNmZjM4ZQ==
6
+ MDg3MDM4ZTVkMWI5ZjQ4MDk1ODIxY2RlN2MyMzUyZWE4YzVjNzdlNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YmMxODQ2MDYxMTY2MjFjZDhmMTI5MDE5MWM2ZDM2ZmEwNGZhNmMwZmI4Yzg1
10
- Y2NiZTdmMWQ4ZWQwMzdlYmM4M2ZjYmVlYTdkOTE2N2EzYWI2MmMyM2Q3MGJi
11
- MWI3YjRhM2Y5NjVkODIxY2Y2YmY1NGVkZGVhNmY5NWE0NzI5Nzk=
9
+ YzBjNjAwZGI0NmQ0MTU3MTI3MGE2ZWE3MzcxZThhMmZjN2UwNDdmMzhmZjg2
10
+ NWIwNjExMjEyMTM2NzgyODZlNDMyZTRjYmZiY2FkYWQ0ZWZkMjA2NzQyYWEy
11
+ N2VkYjg0NjU2NDdlMTVkNzk1ZmI1ZTNhOTk1NDA3Njg2YjhiYmM=
12
12
  data.tar.gz: !binary |-
13
- OWU0NzBmODU0OTQ3NzJiZTM2NDUxZTIyZDQ2OTUyOTQ1ZTE0Y2M1ZjVhZGQ1
14
- ZDA2MDIzNGFiZjBlMTY2NzI1MjUxZmRhYzViYmVjM2Y3MDFiNmQwNjUzMWE3
15
- ZjRlNGUzNjk5YTA1NmY5NGI2Mjc1ZTJlMTMzMDA2ODA0YWJiMzg=
13
+ OGU5YzAzZGIzNWZlYTI1OWFiNDY0YTM5NWNhY2VjMmNkOWEzYjY2MTM1ZjFh
14
+ MGMxYjYzNmM3YmRkNmYxNGJmNjcxN2I2Nzk4MzdkODg4NWMxNDEyZDRkNDM0
15
+ ZDkwMjQ4ZmM1OTU0MWY3YWQ3ZTNmYzExZjI3Yzk3MzVhMjY0ZTE=
@@ -4,7 +4,7 @@ require 'colorize'
4
4
  require 'trollop'
5
5
  require 'pry'
6
6
 
7
- require_relative '../lib/league.rb'
7
+ require_relative '../lib/league_reference.rb'
8
8
  require_relative '../lib/displayer.rb'
9
9
  require_relative '../lib/table_scraper.rb'
10
10
  require_relative '../lib/team.rb'
data/lib/displayer.rb CHANGED
@@ -16,20 +16,19 @@ class Displayer
16
16
  else
17
17
  output += team.name
18
18
  end
19
-
20
19
  end
21
20
 
22
21
  def display_table
23
22
  puts dashes_for_display_table
24
23
  puts "# P Pts Team"
25
24
  puts dashes_for_display_table
26
- League.teams.each { |team| puts template(team) }
25
+ Team::teams.each { |team| puts template(team); sleep 0.01 }
27
26
  puts dashes_for_display_table
28
27
  end
29
28
 
30
29
  def dashes_for_display_table
31
30
  # draw enough dashes so that teams with long names are still covered by the dashes. Given a team length integer, add it to 17 (the length of the static puts statement in #display_table)
32
- "-" * (17 + League.get_longest_team_name_length)
31
+ "-" * (17 + Team.get_longest_team_name_length)
33
32
  end
34
33
 
35
34
  end
@@ -0,0 +1,75 @@
1
+ class LeagueReference
2
+ class << self
3
+ attr_accessor :league_symbol, :league_full_name, :top_teams, :middle_teams, :bottom_teams
4
+ end
5
+
6
+ LeaguesHash = {
7
+ :epl => {
8
+ :full_name => "premierleague",
9
+ :top_teams => 4,
10
+ :middle_teams => 5,
11
+ :bottom_teams => 3
12
+ },
13
+ :championship => {
14
+ :full_name => "championship",
15
+ :top_teams => 2,
16
+ :middle_teams => 6,
17
+ :bottom_teams => 3
18
+ },
19
+ :spl => {
20
+ :full_name => "scottishpremierleague",
21
+ :top_teams => 1,
22
+ :middle_teams => 3,
23
+ :bottom_teams => 2
24
+ },
25
+ :liga => {
26
+ :full_name => "laligafootball",
27
+ :top_teams => 3,
28
+ :middle_teams => 6,
29
+ :bottom_teams => 3
30
+ },
31
+ :ligue => {
32
+ :full_name => "ligue1football",
33
+ :top_teams => 3,
34
+ :middle_teams => 4,
35
+ :bottom_teams => 3
36
+ },
37
+ :seriea => {
38
+ :full_name => "serieafootball",
39
+ :top_teams => 3,
40
+ :middle_teams => 5,
41
+ :bottom_teams => 3
42
+ },
43
+ :bundesliga => {
44
+ :full_name => "bundesligafootball",
45
+ :top_teams => 4,
46
+ :middle_teams => 6,
47
+ :bottom_teams => 3
48
+ }
49
+ }
50
+
51
+ def self.set_league_info(league_selection)
52
+ self.league_symbol = league_selection
53
+ self.set_league_full_name
54
+ self.set_top_teams
55
+ self.set_middle_teams
56
+ self.set_bottom_teams
57
+ end
58
+
59
+ def self.set_league_full_name
60
+ self.league_full_name = LeaguesHash[league_symbol][:full_name]
61
+ end
62
+
63
+ def self.set_top_teams
64
+ self.top_teams = LeaguesHash[league_symbol][:top_teams]
65
+ end
66
+
67
+ def self.set_middle_teams
68
+ self.middle_teams = LeaguesHash[league_symbol][:middle_teams]
69
+ end
70
+
71
+ def self.set_bottom_teams
72
+ self.bottom_teams = LeaguesHash[league_symbol][:bottom_teams]
73
+ end
74
+
75
+ end
data/lib/standings.rb CHANGED
@@ -6,7 +6,7 @@ opts = Trollop::options do
6
6
  version <<-EOS
7
7
 
8
8
  ⚽ Standings
9
- Version 0.2.0 | November 2013
9
+ Version 0.2.2 | November 2013
10
10
  Scott Luptowski | @scottluptowski
11
11
 
12
12
  EOS
@@ -29,7 +29,7 @@ end
29
29
  league_selection = opts.keys.detect { |k| opts[k] }
30
30
 
31
31
  unless !league_selection
32
- League.set_league_info(league_selection)
32
+ LeagueReference.set_league_info(league_selection)
33
33
  TableScraper.new.call
34
34
  Displayer.new.call
35
35
  else
data/lib/table_scraper.rb CHANGED
@@ -3,7 +3,7 @@ class TableScraper
3
3
  attr_accessor :url, :teams
4
4
 
5
5
  def initialize
6
- @url = "http://www.theguardian.com/football/" + League::league_full_name + "/table"
6
+ @url = "http://www.theguardian.com/football/" + LeagueReference::league_full_name + "/table"
7
7
  end
8
8
 
9
9
  def call
data/lib/team.rb CHANGED
@@ -1,24 +1,42 @@
1
1
  class Team
2
+ class << self
3
+ attr_accessor :longest_team_name_length
4
+ end
5
+
2
6
  attr_accessor :name, :position, :played, :points
7
+
8
+ @@teams = []
3
9
 
4
10
  def initialize(info)
5
11
  @name = info[:name]
6
12
  @played = info[:played]
7
13
  @points = info[:points]
8
14
  @position = info[:position]
9
- League.teams << self
15
+ @@teams << self
10
16
  end
11
-
17
+
12
18
  def top?
13
- self.position.to_i <= League.top_teams
19
+ self.position.to_i <= LeagueReference.top_teams
14
20
  end
15
21
 
16
22
  def middle?
17
- League.middle_teams && self.position.to_i <= League.middle_teams
23
+ LeagueReference.middle_teams && self.position.to_i <= LeagueReference.middle_teams
18
24
  end
19
25
 
20
26
  def bottom?
21
- self.position.to_i >= League.team_count - (League.bottom_teams - 1)
27
+ self.position.to_i >= (Team.teams_count - LeagueReference.bottom_teams + 1)
28
+ end
29
+
30
+ def self.teams
31
+ @@teams
32
+ end
33
+
34
+ def self.teams_count
35
+ @@teams.count
36
+ end
37
+
38
+ def self.get_longest_team_name_length
39
+ self.longest_team_name_length ||= self.teams.sort_by {|t| t.name.length }.last.name.length
22
40
  end
23
41
 
24
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Luptowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2010-11-04 00:00:00.000000000 Z
11
+ date: 2010-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -64,6 +64,7 @@ files:
64
64
  - config/environment.rb
65
65
  - lib/displayer.rb
66
66
  - lib/league.rb
67
+ - lib/league_reference.rb
67
68
  - lib/standings.rb
68
69
  - lib/table_scraper.rb
69
70
  - lib/team.rb