Class: RubyLsp::Rails::Completion
- Inherits:
-
Object
- Object
- RubyLsp::Rails::Completion
- Includes:
- Requests::Support::Common
- Defined in:
- lib/ruby_lsp/ruby_lsp_rails/completion.rb
Instance Method Summary collapse
-
#initialize(client, response_builder, node_context, dispatcher, uri) ⇒ Completion
constructor
: (RunnerClient client, ResponseBuilders::CollectionResponseBuilder response_builder, NodeContext node_context, Prism::Dispatcher dispatcher, URI::Generic uri) -> void.
-
#on_call_node_enter(node) ⇒ Object
: (Prism::CallNode node) -> void.
Constructor Details
#initialize(client, response_builder, node_context, dispatcher, uri) ⇒ Completion
: (RunnerClient client, ResponseBuilders::CollectionResponseBuilder response_builder, NodeContext node_context, Prism::Dispatcher dispatcher, URI::Generic uri) -> void
11 12 13 14 15 16 17 18 19 |
# File 'lib/ruby_lsp/ruby_lsp_rails/completion.rb', line 11 def initialize(client, response_builder, node_context, dispatcher, uri) @response_builder = response_builder @client = client @node_context = node_context dispatcher.register( self, :on_call_node_enter, ) end |
Instance Method Details
#on_call_node_enter(node) ⇒ Object
: (Prism::CallNode node) -> void
22 23 24 25 26 27 28 29 30 |
# File 'lib/ruby_lsp/ruby_lsp_rails/completion.rb', line 22 def on_call_node_enter(node) call_node = @node_context.call_node return unless call_node receiver = call_node.receiver if call_node.name == :where && receiver.is_a?(Prism::ConstantReadNode) handle_active_record_where_completions(node: node, receiver: receiver) end end |