ruby-lsp-rails 0.3.7 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
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: []