Class: Ace::Search::Molecules::SearchOptionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/search/molecules/search_option_builder.rb

Overview

Builds search options from CLI options and configuration

This molecule handles the merging of CLI-provided options with configuration defaults, including type conversion and option aliasing.

Examples:

Building search options

builder = SearchOptionBuilder.new(cli_options)
options = builder.build
# => { type: :content, format: :text, ... }

Instance Method Summary collapse

Constructor Details

#initialize(cli_options, config: nil) ⇒ SearchOptionBuilder

Returns a new instance of SearchOptionBuilder.

Parameters:

  • cli_options (Hash)

    Options from CLI (ace-support-cli)

  • config (Hash) (defaults to: nil)

    Configuration from Ace::Search.config (optional)



18
19
20
21
# File 'lib/ace/search/molecules/search_option_builder.rb', line 18

def initialize(cli_options, config: nil)
  @cli_options = cli_options
  @config = config || Ace::Search.config
end

Instance Method Details

#buildHash

Build the complete search options hash

Returns:

  • (Hash)

    Merged and normalized search options



26
27
28
29
30
# File 'lib/ace/search/molecules/search_option_builder.rb', line 26

def build
  options = build_base_options
  apply_type_aliases(options)
  options
end