class Speedos::Entries

Attributes

raw[R]

Public Class Methods

new(array) click to toggle source
# File lib/speedos/models/entries.rb, line 5
def initialize array
  @raw = array
end

Public Instance Methods

earliest_start_time() click to toggle source
# File lib/speedos/models/entries.rb, line 21
def earliest_start_time
  @earliest_start_time ||= begin
    get_earliest_start_time_latest_end_time
    earliest_start_time
  end
end
inspect() click to toggle source
# File lib/speedos/models/entries.rb, line 17
def inspect
  "Entries: #{name}"
end
latest_end_time() click to toggle source
# File lib/speedos/models/entries.rb, line 28
def latest_end_time
  @latest_end_time ||= begin
    get_earliest_start_time_latest_end_time
    latest_end_time
  end
end
name() click to toggle source
# File lib/speedos/models/entries.rb, line 13
def name
  raw.map{|e| e['pageref']}.uniq.first
end
total_load_time() click to toggle source
# File lib/speedos/models/entries.rb, line 9
def total_load_time
  (latest_end_time && earliest_start_time) ? (latest_end_time - earliest_start_time) * 1000 : 0
end

Private Instance Methods

get_earliest_start_time_latest_end_time() click to toggle source
# File lib/speedos/models/entries.rb, line 36
def get_earliest_start_time_latest_end_time
  raw.each do |e|
    start_time = Time.parse(e["startedDateTime"])
    end_time   = Time.at(start_time.to_f + (e["time"].to_f / 1000))
    @earliest_start_time = start_time if !@earliest_start_time || @earliest_start_time > start_time
    @latest_end_time     = end_time   if !@latest_end_time || @latest_end_time < end_time
  end
end