class Navtastic::Configuration
Configuration
settings
Attributes
The base url will be prepended to every item url
Defaults to nil.
@return [String,nil]
Should the renderer class be reloaded everytime the menu is rendered?
This is helpful during development, to avoid restarting the server after every change, but should be disabled during production.
Defaults to `false`
@return bool
The default renderer to use when displaying a menu
Defaults to {Navtastic::Renderer::Simple}.
@return any class that responds to the `.render` method
Default options passed to the current renderer
Defaults to empty Hash.
@return [Hash]
Public Class Methods
# File lib/navtastic/configuration.rb, line 35 def initialize @renderer = Navtastic::Renderer::Simple @renderer_options = {} @reload_renderer = false @base_url = nil end
Public Instance Methods
@return [Navtastic::Renderer] renderer to use
Will hot reload the renderer class if needed
# File lib/navtastic/configuration.rb, line 62 def current_renderer klass = renderer if reload_renderer klass = klass.to_s unless klass.is_a?(String) Object.const_get(klass) else klass end end
Set the renderer to use for displaying a menu
@param value [Symbol,Class]
# File lib/navtastic/configuration.rb, line 45 def renderer=(value) if value.is_a? Symbol renderers = available_renderers unless renderers.key? value raise ArgumentError, "Unknown renderer: #{value}" end @renderer = renderers[value] else @renderer = value end end
Private Instance Methods
Built in renderers
@return Hash
# File lib/navtastic/configuration.rb, line 78 def available_renderers { bootstrap4: Renderer::Bootstrap4, bulma: Renderer::Bulma, foundation6: Renderer::Foundation6, simple: Renderer::Simple, } end