Module: Tiler::Presets

Defined in:
lib/tiler/presets.rb,
lib/tiler/presets/default.rb,
lib/tiler/presets/commerce.rb,
lib/tiler/presets/test_automation.rb

Overview

Tiler Presets — pre-built dashboards you can drop into a fresh Rails app. Each preset creates the data source(s), the dashboard, every panel with a sensible config, and a small batch of sample records so the visualizations have something to render. Idempotent: re-running a preset reuses existing records by slug.

Invoked via the rake CLI:

bin/rails tiler:preset:default
bin/rails tiler:preset:test_automation
bin/rails tiler:preset:commerce
bin/rails tiler:preset           # lists what's available

Defined Under Namespace

Classes: Base, Commerce, Default, TestAutomation

Constant Summary collapse

REGISTRY =
{}

Class Method Summary collapse

Class Method Details

.fetch(name) ⇒ Object



24
25
26
27
28
# File 'lib/tiler/presets.rb', line 24

def self.fetch(name)
  REGISTRY.fetch(name.to_s) do
    raise ArgumentError, "unknown preset '#{name}' — try one of: #{names.join(', ')}"
  end
end

.namesObject



20
21
22
# File 'lib/tiler/presets.rb', line 20

def self.names
  REGISTRY.keys.sort
end

.register(name, klass) ⇒ Object



16
17
18
# File 'lib/tiler/presets.rb', line 16

def self.register(name, klass)
  REGISTRY[name.to_s] = klass
end

.run!(name) ⇒ Object



30
31
32
33
34
# File 'lib/tiler/presets.rb', line 30

def self.run!(name)
  preset = fetch(name).new
  preset.build!
  preset
end