ruby-lsp-factory_bot 0.3.1 → 0.4.0

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: f4ae7bc8179ba4962a90e3adc74721712416deeceb295f410bf67e857c6e7f85
4
- data.tar.gz: a5186ec32f38cf6013509c4deef814f1c21fe8da584972cca76c59d0c549e654
3
+ metadata.gz: 4c4ec9b8d3a45f3e55dce6c1de8a44e4e91c35b5a2d4ebb05fe43017a44f4e4d
4
+ data.tar.gz: 82ff80b589abd172eb92e97e7afe0ad518864c397dd74eff0318961f57f1247a
5
5
  SHA512:
6
- metadata.gz: 61d0eff2bd0fdca96578d1440e1182159cd2972a0bce5528e3d14616b984b1d51ac63f841622f88508359f9a99ad29eaeda74b872f2fc57fd790593241005e4b
7
- data.tar.gz: 56e61ef4a900e2712a8c0e03307c8a19079733ef79382531dddc4bbfe4ac71fbc048ec946c03d4fef0343732daaaa1fe228b21ff15bd6a1c36de2e42c95fe0e2
6
+ metadata.gz: 4d6cb00fb7ef0aa59a48cd818ab406a864d6457d363c7bd6ccb16161dcd8d634e8c503161adf67a5e9464ed761456184996dfd265e11a0622c5dd87df7a7f548
7
+ data.tar.gz: 448f83767509d07f38ea4e2f3c11504bde4104b9175e20b2a52910e4e3c23e26f80d87a933ac9e7e9c7d22c63a0656198733570e9773d5ac980f010337de9b44
@@ -28,7 +28,6 @@ module RubyLsp
28
28
  case call_node.name
29
29
  when *FACTORY_BOT_STRATEGIES then factory_or_trait_location_for(call_node, node)
30
30
  when :generate then sequence_location_for(node.value)
31
- when :factory then target_class_location_for(node)
32
31
  end
33
32
  end
34
33
 
@@ -79,56 +78,6 @@ module RubyLsp
79
78
  )
80
79
  end
81
80
  end
82
-
83
- def target_class_location_for(node)
84
- call_node = @node_context.call_node
85
- return unless call_node&.message == "factory"
86
- return unless inside_factory_bot_define?
87
-
88
- class_name = resolve_target_class_name_for_factory(call_node, node)
89
-
90
- @index[class_name]&.each do |entry|
91
- @response_builder << Interface::LocationLink.new(
92
- target_uri: URI::Generic.from_path(path: entry.file_path).to_s,
93
- target_range: range_from_location(entry.location),
94
- target_selection_range: range_from_location(entry.name_location)
95
- )
96
- end
97
- end
98
-
99
- def inside_factory_bot_define?
100
- nesting_nodes = @node_context.instance_variable_get :@nesting_nodes
101
- body_statements = nesting_nodes.find { |node| node.is_a?(Prism::ProgramNode) }&.statements&.body
102
-
103
- factory_bot_define = body_statements.find do |statement_body|
104
- statement_body.is_a?(Prism::CallNode) && statement_body.message == "define"
105
- end
106
-
107
- factory_bot_define.block&.body&.body&.any? do |node|
108
- node.is_a?(Prism::CallNode) && node == @node_context.call_node
109
- end
110
- end
111
-
112
- def resolve_target_class_name_for_factory(call_node, node)
113
- kwargs_node = call_node&.arguments&.arguments&.find do |argument|
114
- argument.type == :keyword_hash_node || argument.type == :hash_node
115
- end
116
-
117
- class_name_value = kwargs_node&.elements&.find do |element|
118
- Utils.name_from_node(element.key) == "class_name"
119
- end&.value
120
-
121
- case class_name_value
122
- when Prism::StringNode then return class_name_value.content
123
- when Prism::SymbolNode then return class_name_value.value.to_s
124
- when Prism::ConstantReadNode then return class_name_value.name.to_s
125
- end
126
-
127
- factory_name = Utils.name_from_node(node)
128
- return unless factory_name
129
-
130
- Utils.snake_to_camel(factory_name)
131
- end
132
81
  end
133
82
  end
134
83
  end
@@ -11,8 +11,4 @@ module Utils
11
11
  name_node.value
12
12
  end
13
13
  end
14
-
15
- def snake_to_camel(snake_str)
16
- snake_str.split("_").map(&:capitalize).join
17
- end
18
14
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RubyLsp
4
4
  module FactoryBot
5
- VERSION = "0.3.1"
5
+ VERSION = "0.4.0"
6
6
  end
7
7
  end
@@ -40,7 +40,7 @@ Gem::Specification.new do |spec|
40
40
 
41
41
  # Uncomment to register a new dependency of your gem
42
42
  # spec.add_dependency "example-gem", "~> 1.0"
43
- spec.add_dependency("ruby-lsp", ">= 0.23.0", "< 0.24.0")
43
+ spec.add_dependency("ruby-lsp", ">= 0.24.0", "< 0.25.0")
44
44
 
45
45
  # For more information and examples about making a new gem, check out our
46
46
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lsp-factory_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - donny741
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-24 00:00:00.000000000 Z
10
+ date: 2025-06-24 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ruby-lsp
@@ -15,20 +15,20 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 0.23.0
18
+ version: 0.24.0
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
- version: 0.24.0
21
+ version: 0.25.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 0.23.0
28
+ version: 0.24.0
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: 0.24.0
31
+ version: 0.25.0
32
32
  description: Provides go to definition and completion for FactoryBot attributes in
33
33
  Ruby LSP
34
34
  executables: []