Class: Jekyll::ClientSearch::LiveSearchConfiguration
- Inherits:
-
Object
- Object
- Jekyll::ClientSearch::LiveSearchConfiguration
- Defined in:
- lib/jekyll/client_search/live_search_configuration.rb
Overview
Normalizes optional browser live-search behavior.
Constant Summary collapse
- DEFAULTS =
{ "min_chars" => 2, "debounce_ms" => 150, "semantic_debounce_ms" => 500, "update_url" => true }.freeze
Instance Method Summary collapse
-
#initialize(config, engine: "minisearch") ⇒ LiveSearchConfiguration
constructor
A new instance of LiveSearchConfiguration.
- #to_h(engine:) ⇒ Object
Constructor Details
#initialize(config, engine: "minisearch") ⇒ LiveSearchConfiguration
Returns a new instance of LiveSearchConfiguration.
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jekyll/client_search/live_search_configuration.rb', line 14 def initialize(config, engine: "minisearch") unless config.is_a?(Hash) raise Jekyll::Errors::FatalException, "client_search live_search configuration must be a mapping" end @engine = engine @values = DEFAULTS.merge(config) @values["enabled"] = default_enabled?(engine) unless config.key?("enabled") validate! end |
Instance Method Details
#to_h(engine:) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/jekyll/client_search/live_search_configuration.rb', line 26 def to_h(engine:) { "enabled" => @values.fetch("enabled"), "minChars" => @values.fetch("min_chars"), "debounceMs" => debounce_ms(engine), "updateUrl" => @values.fetch("update_url") } end |