Class: F1Results::Event
- Inherits:
-
Object
- Object
- F1Results::Event
- Defined in:
- lib/f1results/event.rb
Constant Summary collapse
- TYPE_ALIASES =
{ p1: :practice1, p2: :practice2, p3: :practice3, q: :qualifying, r: :race }
Instance Attribute Summary collapse
-
#country ⇒ Object
Returns the value of attribute country.
-
#country_slug ⇒ Object
Returns the value of attribute country_slug.
-
#name ⇒ Object
Returns the value of attribute name.
-
#results ⇒ Object
Returns the value of attribute results.
-
#type ⇒ Object
Returns the value of attribute type.
-
#url ⇒ Object
Returns the value of attribute url.
-
#year ⇒ Object
Returns the value of attribute year.
Instance Method Summary collapse
- #[](i) ⇒ Object
- #get_results ⇒ Object
- #get_results_with_url(url) ⇒ Object
-
#initialize(args = {}) ⇒ Event
constructor
A new instance of Event.
- #losing ⇒ Object
- #practice? ⇒ Boolean
- #qualifying? ⇒ Boolean
- #race? ⇒ Boolean
- #to_a ⇒ Object
-
#type_name ⇒ Object
Human readable type, e.g.
- #type_slug ⇒ Object
- #winning ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ Event
Returns a new instance of Event.
15 16 17 18 |
# File 'lib/f1results/event.rb', line 15 def initialize(args = {}) @results = [] args.each { |k,v| send("#{k}=", v) } end |
Instance Attribute Details
#country ⇒ Object
Returns the value of attribute country.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def country @country end |
#country_slug ⇒ Object
Returns the value of attribute country_slug.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def country_slug @country_slug end |
#name ⇒ Object
Returns the value of attribute name.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def name @name end |
#results ⇒ Object
Returns the value of attribute results.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def results @results end |
#type ⇒ Object
Returns the value of attribute type.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def type @type end |
#url ⇒ Object
Returns the value of attribute url.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def url @url end |
#year ⇒ Object
Returns the value of attribute year.
5 6 7 |
# File 'lib/f1results/event.rb', line 5 def year @year end |
Instance Method Details
#[](i) ⇒ Object
50 51 52 |
# File 'lib/f1results/event.rb', line 50 def [](i) @results[i] end |
#get_results ⇒ Object
62 63 64 65 |
# File 'lib/f1results/event.rb', line 62 def get_results agent = F1Results::Agent.new agent.get_results(self) end |
#get_results_with_url(url) ⇒ Object
67 68 69 70 |
# File 'lib/f1results/event.rb', line 67 def get_results_with_url(url) agent = F1Results::Agent.new agent.fetch_results_with_url(url) end |
#losing ⇒ Object
58 59 60 |
# File 'lib/f1results/event.rb', line 58 def losing self[-1] end |
#practice? ⇒ Boolean
34 35 36 |
# File 'lib/f1results/event.rb', line 34 def practice? /^practice(1|2|3)$/ =~ @type.to_s end |
#qualifying? ⇒ Boolean
38 39 40 |
# File 'lib/f1results/event.rb', line 38 def @type == :qualifying end |
#race? ⇒ Boolean
42 43 44 |
# File 'lib/f1results/event.rb', line 42 def race? @type == :race end |
#to_a ⇒ Object
46 47 48 |
# File 'lib/f1results/event.rb', line 46 def to_a @results.map(&:to_a) end |
#type_name ⇒ Object
Human readable type, e.g. “Practice 1”, “Qualifying”
26 27 28 |
# File 'lib/f1results/event.rb', line 26 def type_name @type.to_s.gsub(/\d/, ' \0').capitalize end |
#type_slug ⇒ Object
30 31 32 |
# File 'lib/f1results/event.rb', line 30 def type_slug type_name.parameterize end |
#winning ⇒ Object
54 55 56 |
# File 'lib/f1results/event.rb', line 54 def winning self[0] end |