ruby-lsp-rails 0.3.7 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bb6fcc96e3d0fd9357e7f8700acbae09e0d792499ed0d8b92fd577a97949108
4
- data.tar.gz: cbb971feed21416f187195d0b23295801dbbc5c875c5d64961f2591e253f375a
3
+ metadata.gz: accc5f9539ddceaa7fde3dfdb64fcc74f697e9d17178c45e9271df463cad4f18
4
+ data.tar.gz: d594ee73741270b0d6837680a5bacc6e912c1ca856aeaa5806e7d1ad9e96aeb8
5
5
  SHA512:
6
- metadata.gz: dc8c684b4900726219d73c2855a1afe159e0ba02f8a953de86356e1cfb9667fe11dff4cbaf3446d5dd471689151f34072f1a099f82033c959516db30dcf81ce7
7
- data.tar.gz: 72b8a8ba741fbccd174dc46bb86ef683634630866f209f0968eb6d228992f4986f46bac7f0de249a936649eef80a799c5505f9c8a3514f76d44e77a511b70325
6
+ metadata.gz: 955347d73c343311571e62d7c0bb656a3cc9176f8e6ff87ab010287345d754b49f1889c436c716ce0a40c2aa45938f094124cd18315f787c854db7aed2172ee1
7
+ data.tar.gz: 65731a4414f5b68884ea6003097b5b1e67caaaaf2a954b0d25de0ed937cc7600d1b1e4e8d2c25a28b25f526c72fc05e6f9a1996874f95584c4450a4212ef9269
@@ -43,14 +43,27 @@ module RubyLsp
43
43
  def initialize(client, response_builder, node_context, index, dispatcher)
44
44
  @client = client
45
45
  @response_builder = response_builder
46
+ @node_context = node_context
46
47
  @nesting = T.let(node_context.nesting, T::Array[String])
47
48
  @index = index
48
49
 
49
- dispatcher.register(self, :on_call_node_enter)
50
+ dispatcher.register(self, :on_call_node_enter, :on_symbol_node_enter, :on_string_node_enter)
50
51
  end
51
52
 
52
- sig { params(node: Prism::CallNode).void }
53
- def on_call_node_enter(node)
53
+ sig { params(node: Prism::SymbolNode).void }
54
+ def on_symbol_node_enter(node)
55
+ handle_possible_dsl(node)
56
+ end
57
+
58
+ sig { params(node: Prism::StringNode).void }
59
+ def on_string_node_enter(node)
60
+ handle_possible_dsl(node)
61
+ end
62
+
63
+ sig { params(node: T.any(Prism::SymbolNode, Prism::StringNode)).void }
64
+ def handle_possible_dsl(node)
65
+ node = @node_context.call_node
66
+ return unless node
54
67
  return unless self_receiver?(node)
55
68
 
56
69
  message = node.message
@@ -61,7 +74,18 @@ module RubyLsp
61
74
  handle_association(node)
62
75
  elsif Support::Callbacks::ALL.include?(message)
63
76
  handle_callback(node)
64
- elsif message.end_with?("_path") || message.end_with?("_url")
77
+ end
78
+ end
79
+
80
+ sig { params(node: Prism::CallNode).void }
81
+ def on_call_node_enter(node)
82
+ return unless self_receiver?(node)
83
+
84
+ message = node.message
85
+
86
+ return unless message
87
+
88
+ if message.end_with?("_path") || message.end_with?("_url")
65
89
  handle_route(node)
66
90
  end
67
91
  end
@@ -143,6 +143,7 @@ module RubyLsp
143
143
  !!(
144
144
  const &&
145
145
  defined?(ActiveRecord) &&
146
+ const.is_a?(Class) &&
146
147
  ActiveRecord::Base > const && # We do this 'backwards' in case the class overwrites `<`
147
148
  !const.abstract_class?
148
149
  )
@@ -16,6 +16,10 @@ module RubyLsp
16
16
  "around_create",
17
17
  "after_create",
18
18
  "after_commit",
19
+ "after_create_commit",
20
+ "after_update_commit",
21
+ "after_destroy_commit",
22
+ "after_save_commit",
19
23
  "after_rollback",
20
24
  "before_update",
21
25
  "around_update",
@@ -3,6 +3,6 @@
3
3
 
4
4
  module RubyLsp
5
5
  module Rails
6
- VERSION = "0.3.7"
6
+ VERSION = "0.3.8"
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lsp-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-31 00:00:00.000000000 Z
11
+ date: 2024-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-lsp
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.17.0
19
+ version: 0.17.2
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 0.18.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.17.0
29
+ version: 0.17.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 0.18.0
@@ -64,7 +64,7 @@ metadata:
64
64
  homepage_uri: https://github.com/Shopify/ruby-lsp-rails
65
65
  source_code_uri: https://github.com/Shopify/ruby-lsp-rails
66
66
  changelog_uri: https://github.com/Shopify/ruby-lsp-rails/releases
67
- post_install_message:
67
+ post_install_message:
68
68
  rdoc_options: []
69
69
  require_paths:
70
70
  - lib
@@ -79,8 +79,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0'
81
81
  requirements: []
82
- rubygems_version: 3.5.10
83
- signing_key:
82
+ rubygems_version: 3.5.14
83
+ signing_key:
84
84
  specification_version: 4
85
85
  summary: A Ruby LSP addon for Rails
86
86
  test_files: []