standings 0.2.1 → 0.2.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.
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