Class: RubyLsp::TypeGuessr::DslTypeRegistrar
- Inherits:
-
Object
- Object
- RubyLsp::TypeGuessr::DslTypeRegistrar
- Defined in:
- lib/ruby_lsp/type_guessr/dsl_type_registrar.rb
Overview
Pure orchestrator for DSL type registration. No framework logic, no cache logic — delegates everything to Adapters.
Instance Method Summary collapse
- #check_and_refresh(runner_client: nil) ⇒ Object
-
#initialize(signature_registry:, code_index:, project_root:, adapters: nil) ⇒ DslTypeRegistrar
constructor
A new instance of DslTypeRegistrar.
- #on_log(&block) ⇒ Object
- #register_all(runner_client: nil) ⇒ Object
Constructor Details
#initialize(signature_registry:, code_index:, project_root:, adapters: nil) ⇒ DslTypeRegistrar
Returns a new instance of DslTypeRegistrar.
10 11 12 13 14 15 16 17 |
# File 'lib/ruby_lsp/type_guessr/dsl_type_registrar.rb', line 10 def initialize(signature_registry:, code_index:, project_root:, adapters: nil) @signature_registry = signature_registry @code_index = code_index @project_root = project_root @adapters = adapters || default_adapters @base_registered = false @log_callback = nil end |
Instance Method Details
#check_and_refresh(runner_client: nil) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ruby_lsp/type_guessr/dsl_type_registrar.rb', line 39 def check_and_refresh(runner_client: nil) active_adapters.each do |adapter| next unless adapter.changed? adapter.refresh( runner_client: runner_client, signature_registry: @signature_registry, code_index: @code_index ) end end |
#on_log(&block) ⇒ Object
19 20 21 22 |
# File 'lib/ruby_lsp/type_guessr/dsl_type_registrar.rb', line 19 def on_log(&block) @log_callback = block active_adapters.each { |a| a.on_log(&block) } end |
#register_all(runner_client: nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ruby_lsp/type_guessr/dsl_type_registrar.rb', line 24 def register_all(runner_client: nil) unless @base_registered active_adapters.each { |a| a.register_base_methods(signature_registry: @signature_registry) } @base_registered = true end active_adapters.each do |adapter| adapter.register_models( runner_client: runner_client, signature_registry: @signature_registry, code_index: @code_index ) end end |