Sha256: bf1a84448fcb8220e899ae3b09fed9ea3325b60c7cca3ed931f92f70fb4ae059

Contents?: true

Size: 521 Bytes

Versions: 4

Compression:

Stored size: 521 Bytes

Contents

# frozen_string_literal: true

class Matey::TopEventsComponent < Matey::ApplicationComponent
  def initialize(events:, time_window: 1.week, limit: 5, color_scheme: "neutral")
    raise ArgumentError unless events.is_a?(ActiveRecord::Relation)
    raise ArgumentError unless time_window.is_a?(Integer)

    @events = events.where(time: time_window.ago..Time.current).limit(limit).order("count(name) DESC").group(:name).count
    @time_window = time_window

    @color_scheme = color_scheme(scheme: color_scheme)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
matey-0.2.0 app/components/matey/top_events_component.rb
matey-0.1.6 app/components/matey/top_events_component.rb
matey-0.1.5 app/components/matey/top_events_component.rb
matey-0.1.4 app/components/matey/top_events_component.rb