Class: F1Results::Event

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#countryObject

Returns the value of attribute country.



5
6
7
# File 'lib/f1results/event.rb', line 5

def country
  @country
end

#country_slugObject

Returns the value of attribute country_slug.



5
6
7
# File 'lib/f1results/event.rb', line 5

def country_slug
  @country_slug
end

#nameObject

Returns the value of attribute name.



5
6
7
# File 'lib/f1results/event.rb', line 5

def name
  @name
end

#resultsObject

Returns the value of attribute results.



5
6
7
# File 'lib/f1results/event.rb', line 5

def results
  @results
end

#typeObject

Returns the value of attribute type.



5
6
7
# File 'lib/f1results/event.rb', line 5

def type
  @type
end

#urlObject

Returns the value of attribute url.



5
6
7
# File 'lib/f1results/event.rb', line 5

def url
  @url
end

#yearObject

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_resultsObject



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

#losingObject



58
59
60
# File 'lib/f1results/event.rb', line 58

def losing
  self[-1]
end

#practice?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/f1results/event.rb', line 34

def practice?
  /^practice(1|2|3)$/ =~ @type.to_s
end

#qualifying?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/f1results/event.rb', line 38

def qualifying?
  @type == :qualifying
end

#race?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/f1results/event.rb', line 42

def race?
  @type == :race
end

#to_aObject



46
47
48
# File 'lib/f1results/event.rb', line 46

def to_a
  @results.map(&:to_a)
end

#type_nameObject

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_slugObject



30
31
32
# File 'lib/f1results/event.rb', line 30

def type_slug
  type_name.parameterize
end

#winningObject



54
55
56
# File 'lib/f1results/event.rb', line 54

def winning
  self[0]
end