Class: PhlexKit::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/phlex_kit/configuration.rb

Overview

Runtime configuration. Everything has a sane default so the gem works with zero setup; hosts tune it in an initializer:

PhlexKit.configure do |c|
c.reactive = true          # opt into phlex-reactive integration
c.define_ui_alias = true   # expose `UI::Button` as an alias for `PhlexKit::Button`
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



26
27
28
29
30
# File 'lib/phlex_kit/configuration.rb', line 26

def initialize
  @reactive = :auto
  @define_ui_alias = false
  @icon_library = :lucide
end

Instance Attribute Details

#define_ui_aliasObject

When true, UI is aliased to PhlexKit, so revue-style UI::Button call sites work unchanged. Off by default to avoid owning a generic const.



18
19
20
# File 'lib/phlex_kit/configuration.rb', line 18

def define_ui_alias
  @define_ui_alias
end

#icon_libraryObject

Which icon set PhlexKit::Icon (and every built-in component glyph) draws from: :lucide (default, shadcn's own), :tabler, :phosphor, or :remix. HugeIcons is deliberately absent — its free set forbids redistribution, so its artwork can't ship inside this gem.



24
25
26
# File 'lib/phlex_kit/configuration.rb', line 24

def icon_library
  @icon_library
end

#reactiveObject

:auto (default) enables reactive helpers only when phlex-reactive is loaded; true forces on (raises if the gem is absent); false forces off.



14
15
16
# File 'lib/phlex_kit/configuration.rb', line 14

def reactive
  @reactive
end