spree_dev_tools 0.4.1 → 0.5.1

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: 6583a62465b44fe817143c7e85884ca62a6bc4f4e63a9ccaf03afcf155fc4827
4
- data.tar.gz: 6d3f10bd9c19408ced1f2abb805706a4d541bbe04c460a6873cd3a966856dc28
3
+ metadata.gz: 26d0b6456da68fc8bbb58e9752374d70fc0aa37deb681bb23663b4434f181065
4
+ data.tar.gz: 593a1aa65b0a8dc1e67be6be672832824d09d231b7af8a74dc56c140fd7a887c
5
5
  SHA512:
6
- metadata.gz: c55c82e2b4fb3109bfdaf26a01732c6ab8dc29a0cfc38e70ba523d21f3ee329af1350ae76f96d4985857075d73934be02549b8277dacf28a9a4f02e3544037a3
7
- data.tar.gz: 8f9e60a82573651ebdbac9c91caed0879763850b7412fee7503f667211a49952e8a4cbb7ee84cafa6372a0f7c3cd42a46b062ebc73dda89dae9876a6884dc4e2
6
+ metadata.gz: 035d4f909b522d23556fb2e16d4432074d440d2f305736487427303e6c731e9152d528941cd2a6240cfe2456c3a855f1bdeb45bc0d5411d951b2762e3d72df3d
7
+ data.tar.gz: 5bc3615c0eef87feda8d393be780ecb68b6c7803345f2b4a7cbe7680f4cb80caa0b0de29ed673f8bffd5711f3c11bae6f22ce61e88ad89998b030895d62e324f
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ruby_lsp/addon"
4
+
5
+ module RubyLsp
6
+ module SpreeDevTools
7
+ class Addon < ::RubyLsp::Addon
8
+ VERSION = "0.1.0"
9
+
10
+ SPREE_GEMS = %w[
11
+ spree_core
12
+ spree_api
13
+ spree_admin
14
+ spree_storefront
15
+ spree_emails
16
+ ].freeze
17
+
18
+ def activate(global_state, outgoing_queue)
19
+ @global_state = global_state
20
+ @outgoing_queue = outgoing_queue
21
+ @index = global_state.index
22
+
23
+ # Index Spree app directories in a background thread
24
+ Thread.new { index_spree_app_directories }
25
+ end
26
+
27
+ def deactivate; end
28
+
29
+ def name
30
+ "Ruby LSP Spree"
31
+ end
32
+
33
+ def version
34
+ VERSION
35
+ end
36
+
37
+ private
38
+
39
+ def log(message)
40
+ return unless @outgoing_queue
41
+
42
+ @outgoing_queue << RubyLsp::Notification.window_log_message(message)
43
+ end
44
+
45
+ def index_spree_app_directories
46
+ log("[Spree] Starting to index app/ directories from Spree gems...")
47
+
48
+ indexed_count = 0
49
+
50
+ SPREE_GEMS.each do |gem_name|
51
+ count = index_gem_app_directory(gem_name)
52
+ indexed_count += count if count
53
+ end
54
+
55
+ log("[Spree] Finished indexing #{indexed_count} files from Spree app/ directories")
56
+ rescue => e
57
+ log("[Spree] Error during indexing: #{e.message}")
58
+ end
59
+
60
+ def index_gem_app_directory(gem_name)
61
+ spec = Gem::Specification.find_by_name(gem_name)
62
+ app_path = File.join(spec.full_gem_path, "app")
63
+
64
+ return 0 unless File.directory?(app_path)
65
+
66
+ files = Dir.glob(File.join(app_path, "**", "*.rb"))
67
+ log("[Spree] Indexing #{files.size} files from #{gem_name}/app/")
68
+
69
+ files.each do |file_path|
70
+ uri = URI::Generic.from_path(path: file_path)
71
+ @index.index_file(uri, collect_comments: true)
72
+ end
73
+
74
+ files.size
75
+ rescue Gem::MissingSpecError
76
+ log("[Spree] Gem #{gem_name} not found, skipping")
77
+ 0
78
+ rescue => e
79
+ log("[Spree] Error indexing #{gem_name}: #{e.message}")
80
+ 0
81
+ end
82
+ end
83
+ end
84
+ end
@@ -1,5 +1,5 @@
1
1
  module SpreeDevTools
2
- VERSION = '0.4.1'
2
+ VERSION = '0.5.1'
3
3
 
4
4
  # Returns the version of the currently loaded SpreeDevTools as a
5
5
  # <tt>Gem::Version</tt>.
@@ -41,6 +41,7 @@ Gem::Specification.new do |s|
41
41
  s.add_dependency 'rspec_junit_formatter'
42
42
  s.add_dependency 'rspec-rails'
43
43
  s.add_dependency 'rspec-retry'
44
+ s.add_dependency 'ruby-lsp', '>= 0.23.0'
44
45
  s.add_dependency 'selenium-webdriver', '>= 4.10'
45
46
  s.add_dependency 'simplecov'
46
47
  s.add_dependency 'spree', '>= 5.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_dev_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spark Solutions
@@ -289,6 +289,20 @@ dependencies:
289
289
  - - ">="
290
290
  - !ruby/object:Gem::Version
291
291
  version: '0'
292
+ - !ruby/object:Gem::Dependency
293
+ name: ruby-lsp
294
+ requirement: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: 0.23.0
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ">="
304
+ - !ruby/object:Gem::Version
305
+ version: 0.23.0
292
306
  - !ruby/object:Gem::Dependency
293
307
  name: selenium-webdriver
294
308
  requirement: !ruby/object:Gem::Requirement
@@ -371,6 +385,7 @@ files:
371
385
  - Gemfile
372
386
  - LICENSE
373
387
  - README.md
388
+ - lib/ruby_lsp/spree_dev_tools/addon.rb
374
389
  - lib/spree_dev_tools.rb
375
390
  - lib/spree_dev_tools/engine.rb
376
391
  - lib/spree_dev_tools/generators/install/install_generator.rb