Module: Ace::Search
- Defined in:
- lib/ace/search.rb,
lib/ace/search/cli.rb,
lib/ace/search/version.rb,
lib/ace/search/atoms/fd_executor.rb,
lib/ace/search/atoms/debug_logger.rb,
lib/ace/search/atoms/tool_checker.rb,
lib/ace/search/atoms/result_parser.rb,
lib/ace/search/cli/commands/search.rb,
lib/ace/search/models/search_preset.rb,
lib/ace/search/models/search_result.rb,
lib/ace/search/models/search_options.rb,
lib/ace/search/molecules/time_filter.rb,
lib/ace/search/atoms/pattern_analyzer.rb,
lib/ace/search/atoms/ripgrep_executor.rb,
lib/ace/search/molecules/dwim_analyzer.rb,
lib/ace/search/molecules/fzf_integrator.rb,
lib/ace/search/molecules/preset_manager.rb,
lib/ace/search/atoms/search_path_resolver.rb,
lib/ace/search/organisms/result_formatter.rb,
lib/ace/search/organisms/unified_searcher.rb,
lib/ace/search/organisms/result_aggregator.rb,
lib/ace/search/molecules/search_option_builder.rb
Defined Under Namespace
Modules: Atoms, CLI, Commands, Models, Molecules, Organisms Classes: Error
Constant Summary collapse
- VERSION =
'0.26.3'
Class Method Summary collapse
-
.config ⇒ Object
Configuration Follows ADR-022: Configuration Default and Override Pattern Uses Ace::Support::Config.create() for configuration cascade resolution.
-
.debug? ⇒ Boolean
Check if debug mode is enabled.
-
.load_gem_defaults ⇒ Hash
Load gem defaults from .ace-defaults/search/config.yml Used by ConfigSummary to display effective configuration diffs.
-
.reset_config! ⇒ Object
Reset config cache (useful for testing).
Class Method Details
.config ⇒ Object
Configuration Follows ADR-022: Configuration Default and Override Pattern Uses Ace::Support::Config.create() for configuration cascade resolution
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/ace/search.rb', line 25 def self.config @config ||= begin gem_root = Gem.loaded_specs["ace-search"]&.gem_dir || File.("../..", __dir__) resolver = Ace::Support::Config.create( config_dir: ".ace", defaults_dir: ".ace-defaults", gem_path: gem_root ) # Resolve config for search namespace config = resolver.resolve_namespace("search") # Extract the ace.search section from defaults (for backward compatibility) raw_data = config.data raw_data.dig("ace", "search") || raw_data rescue => e warn "ace-search: Could not load config: #{e.class} - #{e.}" if debug? # Fall back to gem defaults instead of empty hash to prevent silent config erasure load_gem_defaults_fallback end end |
.debug? ⇒ Boolean
Check if debug mode is enabled
18 19 20 |
# File 'lib/ace/search.rb', line 18 def self.debug? ENV["ACE_DEBUG"] == "1" || ENV["DEBUG"] == "1" end |
.load_gem_defaults ⇒ Hash
Load gem defaults from .ace-defaults/search/config.yml Used by ConfigSummary to display effective configuration diffs
56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/ace/search.rb', line 56 def self.load_gem_defaults gem_root = Gem.loaded_specs["ace-search"]&.gem_dir || File.("../..", __dir__) defaults_path = File.join(gem_root, ".ace-defaults", "search", "config.yml") return {} unless File.exist?(defaults_path) data = YAML.safe_load_file(defaults_path, permitted_classes: [Date], aliases: true) || {} # Extract the ace.search section for backward compatibility data.dig("ace", "search") || data end |
.reset_config! ⇒ Object
Reset config cache (useful for testing)
49 50 51 |
# File 'lib/ace/search.rb', line 49 def self.reset_config! @config = nil end |