Class: Solidstats::Configuration

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

Overview

Configuration class for Solidstats gem

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



253
254
255
# File 'lib/solidstats.rb', line 253

def initialize
  set_defaults
end

Instance Attribute Details

#assetsHash

Returns Asset configuration options.

Returns:

  • (Hash)

    Asset configuration options



247
248
249
# File 'lib/solidstats.rb', line 247

def assets
  @assets
end

#cache_durationActiveSupport::Duration

Returns Cache duration for services.

Returns:

  • (ActiveSupport::Duration)

    Cache duration for services



227
228
229
# File 'lib/solidstats.rb', line 227

def cache_duration
  @cache_duration
end

#css_frameworkSymbol

Returns CSS framework integration (:none, :bootstrap, :tailwind).

Returns:

  • (Symbol)

    CSS framework integration (:none, :bootstrap, :tailwind)



251
252
253
# File 'lib/solidstats.rb', line 251

def css_framework
  @css_framework
end

#enable_componentsBoolean

Returns Whether to enable ViewComponent integration.

Returns:

  • (Boolean)

    Whether to enable ViewComponent integration



231
232
233
# File 'lib/solidstats.rb', line 231

def enable_components
  @enable_components
end

#enable_previewsBoolean

Returns Whether to enable component previews.

Returns:

  • (Boolean)

    Whether to enable component previews



239
240
241
# File 'lib/solidstats.rb', line 239

def enable_previews
  @enable_previews
end

#log_levelSymbol

Returns Logging level.

Returns:

  • (Symbol)

    Logging level



235
236
237
# File 'lib/solidstats.rb', line 235

def log_level
  @log_level
end

#preview_layoutString

Returns Layout for component previews.

Returns:

  • (String)

    Layout for component previews



243
244
245
# File 'lib/solidstats.rb', line 243

def preview_layout
  @preview_layout
end

Instance Method Details

#components_enabled?Boolean

Check if components are enabled and available

Returns:

  • (Boolean)

    True if components can be used



259
260
261
# File 'lib/solidstats.rb', line 259

def components_enabled?
  @enable_components && Solidstats.view_component_available?
end

#previews_enabled?Boolean

Check if previews are enabled

Returns:

  • (Boolean)

    True if previews should be shown



265
266
267
# File 'lib/solidstats.rb', line 265

def previews_enabled?
  @enable_previews && Solidstats.development?
end

#validate!Boolean

Validate configuration

Returns:

  • (Boolean)

    True if configuration is valid

Raises:



272
273
274
275
276
277
278
279
280
281
282
# File 'lib/solidstats.rb', line 272

def validate!
  unless cache_duration.respond_to?(:seconds)
    raise ConfigurationError, "cache_duration must be a time duration"
  end

  unless [ :debug, :info, :warn, :error, :fatal, :unknown ].include?(@log_level)
    raise ConfigurationError, "log_level must be a valid log level symbol"
  end

  true
end