Module: NBA::Static
- Defined in:
- lib/nba/static.rb
Overview
Provides static data lookup for teams without API calls
Class Method Summary collapse
-
.find_team_by_abbreviation(abbreviation) ⇒ Hash?
Finds a team by abbreviation.
-
.find_team_by_id(id) ⇒ Hash?
Finds a team by ID.
-
.find_team_by_nickname(nickname) ⇒ Hash?
Finds teams by nickname.
-
.find_teams_by_city(city) ⇒ Array<Hash>
Finds teams by city name.
-
.find_teams_by_full_name(name) ⇒ Array<Hash>
Finds teams by full name.
-
.find_teams_by_state(state) ⇒ Array<Hash>
Finds teams by state name.
-
.find_teams_by_year_founded(year) ⇒ Array<Hash>
Finds teams by year founded.
-
.teams ⇒ Array<Hash>
Retrieves all NBA teams.
Class Method Details
.find_team_by_abbreviation(abbreviation) ⇒ Hash?
Finds a team by abbreviation
40 41 42 |
# File 'lib/nba/static.rb', line 40 def self.find_team_by_abbreviation(abbreviation) Data::TEAMS.find { |t| t.fetch(:abbreviation).casecmp?(abbreviation) } end |
.find_team_by_id(id) ⇒ Hash?
Finds a team by ID
28 29 30 |
# File 'lib/nba/static.rb', line 28 def self.find_team_by_id(id) Data::TEAMS.find { |t| t.fetch(:id).eql?(id) } end |
.find_team_by_nickname(nickname) ⇒ Hash?
Finds teams by nickname
78 79 80 |
# File 'lib/nba/static.rb', line 78 def self.find_team_by_nickname(nickname) Data::TEAMS.find { |t| t.fetch(:nickname).casecmp?(nickname) } end |
.find_teams_by_city(city) ⇒ Array<Hash>
Finds teams by city name
52 53 54 55 |
# File 'lib/nba/static.rb', line 52 def self.find_teams_by_city(city) pattern = Regexp.new(Regexp.escape(city), Regexp::IGNORECASE) Data::TEAMS.select { |t| pattern.match?(t.fetch(:city)) } end |
.find_teams_by_full_name(name) ⇒ Array<Hash>
Finds teams by full name
90 91 92 93 |
# File 'lib/nba/static.rb', line 90 def self.find_teams_by_full_name(name) pattern = Regexp.new(Regexp.escape(name), Regexp::IGNORECASE) Data::TEAMS.select { |t| pattern.match?(t.fetch(:full_name)) } end |
.find_teams_by_state(state) ⇒ Array<Hash>
Finds teams by state name
65 66 67 68 |
# File 'lib/nba/static.rb', line 65 def self.find_teams_by_state(state) pattern = Regexp.new(Regexp.escape(state), Regexp::IGNORECASE) Data::TEAMS.select { |t| pattern.match?(t.fetch(:state)) } end |