Class: RubyLsp::Rails::FactoryBot::Addon

Inherits:
Addon
  • Object
show all
Defined in:
lib/ruby_lsp/rails/factory_bot/addon.rb

Overview

The addon to be registered with ruby-lsp. See https://shopify.github.io/ruby-lsp/add-ons.html

Instance Method Summary collapse

Instance Method Details

#activate(global_state, outgoing_queue) ⇒ Object



18
19
20
21
22
23
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 18

def activate(global_state, outgoing_queue)
  @ruby_index = global_state.index

  @outgoing_queue = outgoing_queue
  log "Activating #{name} add-on v#{VERSION}"
end

#create_completion_listener(response_builder, node_context, dispatcher, _uri) ⇒ Object



31
32
33
34
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 31

def create_completion_listener(response_builder, node_context, dispatcher, _uri)
  register_addon!
  Completion.new(response_builder, node_context, dispatcher, runner_client)
end

#create_definition_listener(response_builder, _uri, node_context, dispatcher) ⇒ Object



41
42
43
44
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 41

def create_definition_listener(response_builder, _uri, node_context, dispatcher)
  register_addon!
  Definition.new(response_builder, node_context, dispatcher, runner_client)
end

#create_hover_listener(response_builder, node_context, dispatcher) ⇒ Object



36
37
38
39
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 36

def create_hover_listener(response_builder, node_context, dispatcher)
  register_addon!
  Hover.new(response_builder, node_context, dispatcher, runner_client, @ruby_index)
end

#deactivate ⇒ Object



25
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 25

def deactivate(*); end

#name ⇒ Object



27
28
29
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 27

def name
  FactoryBot::ADDON_NAME
end

#workspace_did_change_watched_files(changes) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/ruby_lsp/rails/factory_bot/addon.rb', line 46

def workspace_did_change_watched_files(changes)
  return unless changes.any? do |change|
    change[:uri].match?(/(?:spec|test).+factor.+\.rb/)
  end

  runner_client.trigger_reload
end