Module: Lookout
- Defined in:
- lib/lookout.rb,
lib/lookout/goals.rb,
lib/lookout/engine.rb,
lib/lookout/funnels.rb,
lib/lookout/railtie.rb,
lib/lookout/version.rb,
app/models/lookout/export.rb,
app/models/lookout/widget.rb,
lib/lookout/configuration.rb,
lib/lookout/predicate_label.rb,
app/models/lookout/rangeable.rb,
lib/lookout/database_adapter.rb,
lib/lookout/period_collection.rb,
app/queries/lookout/city_query.rb,
lib/lookout/ahoy/event_methods.rb,
lib/lookout/ahoy/visit_methods.rb,
app/queries/lookout/event_query.rb,
app/queries/lookout/visit_query.rb,
app/models/lookout/filter_parser.rb,
app/queries/lookout/device_query.rb,
app/queries/lookout/region_query.rb,
app/queries/lookout/source_query.rb,
app/queries/lookout/country_query.rb,
lib/lookout/filters_configuration.rb,
app/models/lookout/comparison_mode.rb,
app/queries/lookout/campaign_query.rb,
app/queries/lookout/top_page_query.rb,
app/models/lookout/range_from_params.rb,
app/queries/lookout/exit_pages_query.rb,
app/queries/lookout/stats/base_query.rb,
app/decorators/lookout/city_decorator.rb,
app/decorators/lookout/page_decorator.rb,
app/models/concerns/lookout/limitable.rb,
app/queries/lookout/application_query.rb,
app/queries/lookout/entry_pages_query.rb,
app/helpers/lookout/application_helper.rb,
app/presenters/lookout/goals_presenter.rb,
app/decorators/lookout/device_decorator.rb,
app/decorators/lookout/region_decorator.rb,
app/decorators/lookout/source_decorator.rb,
app/presenters/lookout/funnel_presenter.rb,
lib/lookout/filter_configuration/filter.rb,
app/controllers/lookout/goals_controller.rb,
app/controllers/lookout/roots_controller.rb,
app/controllers/lookout/stats_controller.rb,
app/decorators/lookout/country_decorator.rb,
app/models/concerns/lookout/compare_mode.rb,
lib/generators/lookout/install_generator.rb,
app/components/lookout/combobox_component.rb,
app/decorators/lookout/campaign_decorator.rb,
app/decorators/lookout/top_page_decorator.rb,
app/models/concerns/lookout/range_options.rb,
app/controllers/lookout/devices_controller.rb,
app/controllers/lookout/exports_controller.rb,
app/controllers/lookout/funnels_controller.rb,
app/controllers/lookout/sources_controller.rb,
app/decorators/lookout/exit_page_decorator.rb,
app/presenters/lookout/dashboard_presenter.rb,
lib/generators/lookout/migration_generator.rb,
app/components/lookout/tables/dynamic_table.rb,
app/decorators/lookout/entry_page_decorator.rb,
app/controllers/lookout/campaigns_controller.rb,
app/controllers/lookout/realtimes_controller.rb,
app/controllers/lookout/top_pages_controller.rb,
app/decorators/lookout/application_decorator.rb,
app/queries/lookout/stats/bounce_rates_query.rb,
app/controllers/lookout/exit_pages_controller.rb,
app/controllers/lookout/properties_controller.rb,
app/controllers/lookout/stats/base_controller.rb,
app/queries/concerns/lookout/comparable_query.rb,
app/components/lookout/previous_next_component.rb,
app/components/lookout/tables/header_component.rb,
app/controllers/lookout/application_controller.rb,
app/controllers/lookout/entry_pages_controller.rb,
app/queries/lookout/stats/total_visitors_query.rb,
app/queries/lookout/stats/visit_duration_query.rb,
app/controllers/lookout/filters/base_controller.rb,
app/controllers/lookout/filters/utms_controller.rb,
app/queries/concerns/lookout/comparable_queries.rb,
app/queries/lookout/stats/total_pageviews_query.rb,
app/queries/lookout/stats/unique_visitors_query.rb,
app/queries/lookout/stats/views_per_visit_query.rb,
app/components/lookout/stats/container_component.rb,
app/components/lookout/tables/rows/row_component.rb,
app/controllers/lookout/filters/goals_controller.rb,
app/controllers/lookout/locations/maps_controller.rb,
app/controllers/lookout/filters/screens_controller.rb,
app/controllers/lookout/filters/sources_controller.rb,
app/queries/concerns/lookout/lazy_comparable_query.rb,
lib/lookout/filter_configuration/filter_collection.rb,
app/components/lookout/tables/goals_table_component.rb,
app/controllers/lookout/locations/cities_controller.rb,
app/controllers/lookout/filters/locations_controller.rb,
app/controllers/lookout/locations/regions_controller.rb,
app/components/lookout/tables/devices_table_component.rb,
app/components/lookout/tables/dynamic_table_component.rb,
app/controllers/lookout/stats/bounce_rates_controller.rb,
app/controllers/lookout/stats/total_visits_controller.rb,
app/components/lookout/tables/headers/header_component.rb,
app/controllers/lookout/locations/countries_controller.rb,
app/queries/lookout/stats/average_visit_duration_query.rb,
app/queries/lookout/stats/average_views_per_visit_query.rb,
app/components/lookout/tables/properties_table_component.rb,
app/controllers/lookout/filters/pages/actions_controller.rb,
app/controllers/lookout/stats/total_pageviews_controller.rb,
app/controllers/lookout/stats/unique_visitors_controller.rb,
app/controllers/lookout/stats/visit_durations_controller.rb,
app/controllers/lookout/stats/views_per_visits_controller.rb,
app/components/lookout/stats/comparable_container_component.rb,
app/controllers/lookout/filters/pages/exit_pages_controller.rb,
app/controllers/lookout/filters/properties/names_controller.rb,
app/controllers/lookout/filters/pages/entry_pages_controller.rb,
app/controllers/lookout/filters/properties/values_controller.rb,
app/controllers/lookout/filters/operating_systems/names_controller.rb,
app/controllers/lookout/filters/operating_systems/versions_controller.rb
Defined Under Namespace
Modules: Ahoy, ApplicationHelper, ComparableQueries, ComparableQuery, CompareMode, DatabaseAdapter, Filters, Generators, LazyComparableQuery, Limitable, Locations, RangeOptions, Rangeable, Stats, Tables
Classes: ApplicationController, ApplicationDecorator, ApplicationQuery, CampaignDecorator, CampaignQuery, CampaignsController, CityDecorator, CityQuery, ComboboxComponent, ComparisonLinkComponent, ComparisonMode, Configuration, CountryDecorator, CountryQuery, DashboardPresenter, DeviceDecorator, DeviceQuery, DevicesController, DropdownButtonComponent, DropdownLinkComponent, Engine, EntryPageDecorator, EntryPagesController, EntryPagesQuery, EventQuery, ExitPageDecorator, ExitPagesController, ExitPagesQuery, Export, ExportsController, FilterConfiguration, FilterParser, FiltersConfiguration, Funnel, FunnelCollection, FunnelPresenter, FunnelsController, Goal, GoalCollection, GoalsController, GoalsPresenter, PageDecorator, PeriodCollection, PredicateLabel, PreviousNextComponent, PropertiesController, Railtie, RangeFromParams, RealtimesController, RegionDecorator, RegionQuery, RootsController, SourceDecorator, SourceQuery, SourcesController, StatsController, StickyNavComponent, TableComponent, TileComponent, TooltipComponent, TopPageDecorator, TopPageQuery, TopPagesController, VisitQuery, Widget
Constant Summary
collapse
- VERSION =
"0.6.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
Returns the value of attribute configuration.
16
17
18
|
# File 'lib/lookout.rb', line 16
def configuration
@configuration
end
|
Class Method Details
.cache ⇒ Object
18
19
20
21
22
23
24
|
# File 'lib/lookout.rb', line 18
def cache
@cache ||= if config.cache[:enabled]
config.cache[:store]
else
ActiveSupport::Cache::NullStore.new
end
end
|
.config ⇒ Object
62
63
64
|
# File 'lib/lookout.rb', line 62
def config
self.configuration ||= Configuration.new
end
|
66
67
68
|
# File 'lib/lookout.rb', line 66
def configure
yield config
end
|
.event ⇒ Object
70
71
72
|
# File 'lib/lookout.rb', line 70
def event
@event ||= config.models[:event].constantize
end
|
.importmap(builder = nil) ⇒ Object
Rails 8+ one-liner support:
In a host app's config/importmap.rb you can now do:
Lookout.importmap(self)
This will draw all Lookout pins onto the host's map builder.
If no builder is provided, this returns a standalone Importmap::Map (for inlining).
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/lookout.rb', line 31
def importmap(builder = nil)
if builder
builder.pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true
builder.pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true
builder.pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
builder.pin "application", to: "lookout/application.js", preload: true
builder.pin "chart.js", to: "https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js", preload: true
builder.pin "chartjs-plugin-datalabels", to: "https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2", preload: true
builder.pin "classnames", to: "https://cdnjs.cloudflare.com/ajax/libs/classnames/2.3.2/index.min.js", preload: true
builder.pin "chartjs-chart-geo", to: "https://cdn.jsdelivr.net/npm/[email protected]/build/index.umd.min.js", preload: true
builder.pin_all_from Lookout::Engine.root.join("app/assets/javascript/lookout/controllers"), under: "controllers", to: "lookout/controllers"
builder.pin_all_from Lookout::Engine.root.join("app/assets/javascript/lookout/helpers"), under: "helpers", to: "lookout/helpers"
return builder
end
Importmap::Map.new.draw do
pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true
pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
pin "application", to: "lookout/application.js", preload: true
pin "chart.js", to: "https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js", preload: true
pin "chartjs-plugin-datalabels", to: "https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2", preload: true
pin "classnames", to: "https://cdnjs.cloudflare.com/ajax/libs/classnames/2.3.2/index.min.js", preload: true
pin "chartjs-chart-geo", to: "https://cdn.jsdelivr.net/npm/[email protected]/build/index.umd.min.js", preload: true
pin_all_from Lookout::Engine.root.join("app/assets/javascript/lookout/controllers"), under: "controllers", to: "lookout/controllers"
pin_all_from Lookout::Engine.root.join("app/assets/javascript/lookout/helpers"), under: "helpers", to: "lookout/helpers"
end
end
|
.none ⇒ Object
78
79
80
|
# File 'lib/lookout.rb', line 78
def none
@none ||= OpenStruct.new(text: "(none)", value: "!none!")
end
|
.visit ⇒ Object
74
75
76
|
# File 'lib/lookout.rb', line 74
def visit
@visit ||= config.models[:visit].constantize
end
|