class Quilt::Performance::Report

Attributes

connection[RW]
events[RW]
navigations[RW]

Public Class Methods

from_params(params) click to toggle source
# File lib/quilt_rails/performance/report.rb, line 11
def from_params(params)
  params.transform_keys! { |key| key.underscore.to_sym }
  params[:connection] = { effectiveType: 'unknown' } if params[:connection].blank?

  connection = Connection.from_params(params[:connection])

  Report.new(
    connection: connection,
    navigations: build_navigations(params[:navigations], connection: connection),
    events: build_events(params[:events], connection: connection),
  )
end
new(events:, navigations:, connection:) click to toggle source
# File lib/quilt_rails/performance/report.rb, line 45
def initialize(events:, navigations:, connection:)
  @events = events
  @navigations = navigations
  @connection = connection
end

Private Class Methods

build_events(events_params, connection:) click to toggle source
# File lib/quilt_rails/performance/report.rb, line 35
def build_events(events_params, connection:)
  events_params ||= []
  events_params.map do |event|
    event = Event.from_params(event)
    event.connection = connection
    event
  end
end
build_navigations(navigations_params, connection:) click to toggle source
# File lib/quilt_rails/performance/report.rb, line 26
def build_navigations(navigations_params, connection:)
  navigations_params ||= []
  navigations_params.map do |navigation|
    navigation = Navigation.from_params(navigation)
    navigation.connection = connection
    navigation
  end
end