Class: RubyLsp::Mongoid::Hover
- Inherits:
-
Object
- Object
- RubyLsp::Mongoid::Hover
- Includes:
- Requests::Support::Common
- Defined in:
- lib/ruby_lsp/ruby_lsp_mongoid/hover.rb
Constant Summary collapse
- FIELD_DSL =
:field- ASSOCIATION_DSLS =
%i[ embeds_many embeds_one embedded_in has_many has_one belongs_to has_and_belongs_to_many ].freeze
Instance Method Summary collapse
-
#initialize(response_builder, node_context, index, dispatcher) ⇒ Hover
constructor
A new instance of Hover.
- #on_symbol_node_enter(node) ⇒ Object
Constructor Details
#initialize(response_builder, node_context, index, dispatcher) ⇒ Hover
Returns a new instance of Hover.
14 15 16 17 18 19 20 |
# File 'lib/ruby_lsp/ruby_lsp_mongoid/hover.rb', line 14 def initialize(response_builder, node_context, index, dispatcher) @response_builder = response_builder @node_context = node_context @index = index dispatcher.register(self, :on_symbol_node_enter) end |
Instance Method Details
#on_symbol_node_enter(node) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ruby_lsp/ruby_lsp_mongoid/hover.rb', line 22 def on_symbol_node_enter(node) call_node = @node_context.call_node return unless call_node.is_a?(Prism::CallNode) if call_node.name == FIELD_DSL handle_field(call_node) elsif ASSOCIATION_DSLS.include?(call_node.name) handle_association(call_node) end end |