repl_type_completor 0.1.1 → 0.1.2

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: 201cdeb4768937fdb0d5639e6547ec9d6bcf57ac10ea7eb031059b41dea1ac00
4
- data.tar.gz: d4dcf563c39cfe91cbb6a74a155b384eaf61048c09e809b473830075be73df18
3
+ metadata.gz: 02b61fbd6e1a07730d36e2d557e481fc0093d0fc92b8db6ac587f88d28740758
4
+ data.tar.gz: ccbb7cc65c1c6b9e7a5dcb7183411142088d26eb3f4217b94e4593c3517ad18f
5
5
  SHA512:
6
- metadata.gz: 824b42a6ea9408e8be0f10605f25f8435593bf275d4d0e4d024e0c41ffa449212597f79e55a178bf55b70290a51b99baff426aa134eba3a597d3e251ac8f10c4
7
- data.tar.gz: 243b30a33e778cf36d9573af2a1c9deb862960d312a49476d9745d0f64031e30b1d632042545ab471b062a49f1ff056e5734f3eeaf69e9eb568304ceb2637636
6
+ metadata.gz: b6f760b64fd597e6604f299515d49e3f308e15f09ec4d968b4792ca36898a3d3d97faa33ccd8e896baa1ec9cc3d4869d01ffad63b8c5f72fa25680aab531418c
7
+ data.tar.gz: c555ca2648c4c1ca898e4aa7c1e74ab9c1aae56916acfe8cb8819fda4fe74ab03e90bbc50d804e08ac14995b44317c692c1faec5d104c2854ecda2d5e4e57b02
@@ -8,11 +8,14 @@ module ReplTypeCompletor
8
8
  target ||= ''
9
9
  paths = with_cache [:require_completions, dir] do
10
10
  gem_and_system_load_paths.flat_map do |load_path|
11
+ reject_prefixes = gem_and_system_load_paths.filter_map do |lp|
12
+ lp.delete_prefix(load_path).delete_prefix('/').delete_suffix('/') + '/' if lp.start_with? load_path
13
+ end.reject(&:empty?)
11
14
  base_dir = File.absolute_path(File.join(load_path, *dir))
12
15
  with_cache [:requireable_paths, base_dir] do
13
- requireable_paths(base_dir)
16
+ requireable_paths(base_dir, reject_prefixes: reject_prefixes)
14
17
  end
15
- end.sort
18
+ end.uniq.sort
16
19
  end
17
20
  paths.filter_map do |path|
18
21
  [*dir, path].join('/') if path.start_with?(target)
@@ -59,14 +62,16 @@ module ReplTypeCompletor
59
62
  end.sort
60
63
  end
61
64
 
62
- def requireable_paths(base_dir)
65
+ def requireable_paths(base_dir, reject_prefixes: [])
63
66
  ext = ".{rb,#{RbConfig::CONFIG['DLEXT']}}"
64
67
  ext_regexp = /\.(rb|#{RbConfig::CONFIG['DLEXT']})\z/
65
68
  files = Dir.glob(["*#{ext}", "*/*#{ext}"], base: base_dir).map { |p| p.sub(ext_regexp, '') }
66
69
  dirs = Dir.glob('*/*', base: base_dir).filter_map do |path|
67
70
  "#{path}/" if File.directory?(File.join(base_dir, path))
68
71
  end
69
- (files + dirs).sort
72
+ (files + dirs).sort.reject do |path|
73
+ reject_prefixes.any? { path.start_with?(_1) }
74
+ end
70
75
  rescue Errno::EPERM
71
76
  []
72
77
  end
@@ -162,7 +162,7 @@ module ReplTypeCompletor
162
162
  end
163
163
  def transform() = yield(self)
164
164
  def methods() = @module_or_class.methods
165
- def all_methods() = methods | Kernel.methods
165
+ def all_methods() = methods | @module_or_class.private_methods
166
166
  def constants() = @module_or_class.constants
167
167
  def types() = [self]
168
168
  def nillable?() = false
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReplTypeCompletor
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -79,7 +79,7 @@ module ReplTypeCompletor
79
79
  [call_node.name, target_node.content]
80
80
  end
81
81
  when Prism::SymbolNode
82
- return unless !target_node.closing || target_node.empty?
82
+ return unless !target_node.closing || target_node.closing.empty?
83
83
 
84
84
  name = target_node.value.to_s
85
85
  if parents.last.is_a? Prism::BlockArgumentNode # method(&:target)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repl_type_completor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tompng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-17 00:00:00.000000000 Z
11
+ date: 2023-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prism