tty-prompt-files 0.1.2 → 1.0.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 +4 -4
- data/Gemfile +0 -10
- data/Gemfile.lock +1 -1
- data/README.md +9 -5
- data/lib/tty/files/version.rb +1 -1
- data/lib/tty/files.rb +16 -4
- data/tty-prompt-files.gemspec +4 -0
- metadata +44 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: decb98e79f33422b8f80a7d897aab213616a4be58386bd684051f098b19df478
|
4
|
+
data.tar.gz: 16b548ace6a793787cde6fb51038da64e60599f0d05ddd60ab83b2177cdb6ed2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df871fd53f0af611e845350fc6f5da19a081cc7bf554e5086785ffa3bf9f69b9f3d1de9471ed23d429be5a8239eacfa92f17c626583b4a2302a46567a4f06ff7
|
7
|
+
data.tar.gz: df13e2ed0120ff6043b5130f4dc5aceae40944ff427025f8a88790c009d076780b405b969b149d174fe95ac8f70ef1676f7c6b8721955a6d64f0c443a8c6bb20
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -9,6 +9,8 @@ Be careful to use library before first major version. It does not support backwa
|
|
9
9
|
## Usage
|
10
10
|
|
11
11
|
```rb
|
12
|
+
require 'tty-prompt-files'
|
13
|
+
|
12
14
|
prompt = TTY::Prompt.new
|
13
15
|
|
14
16
|
prompt.select_element_from_file_system
|
@@ -16,15 +18,17 @@ prompt.select_element_from_file_system
|
|
16
18
|
|
17
19
|
After element is selected, output will be a element full path.
|
18
20
|
|
19
|
-
`select_element_from_file_system` has
|
21
|
+
`select_element_from_file_system` has 5 parameters:
|
20
22
|
|
21
23
|
```rb
|
22
|
-
prompt.select_element_from_file_system(pattern: "*", path: ".",
|
24
|
+
prompt.select_element_from_file_system(text: "", pattern: "*", path: ".", multi_select: false, **options)
|
23
25
|
```
|
24
26
|
|
25
|
-
`
|
26
|
-
`
|
27
|
-
`
|
27
|
+
`text` is text user will see along with elements. By default: `""`.\
|
28
|
+
`pattern` is determining for what file will be output based on matching the pattern. If you want to display hidden files, use `"{.[^\.]*,*}"` pattern. By default: `"*"`.\
|
29
|
+
`path` is determining path of the directory, can be relative or absolute. By default: `"."`.\
|
30
|
+
`multi_select` refers to original [API](https://github.com/piotrmurach/tty-prompt?tab=readme-ov-file#263-multi_select). By default: `false`.
|
31
|
+
`**options` you can add any params from original [API](https://github.com/piotrmurach/tty-prompt?tab=readme-ov-file#2621-cycle). No default value.\
|
28
32
|
|
29
33
|
## Contributing
|
30
34
|
|
data/lib/tty/files/version.rb
CHANGED
data/lib/tty/files.rb
CHANGED
@@ -4,22 +4,34 @@ require_relative "files/version"
|
|
4
4
|
|
5
5
|
module TTY
|
6
6
|
class Prompt
|
7
|
-
def
|
7
|
+
def select_element_from_file_system(text: "", pattern: "*", path: ".", multi_select: false, **options)
|
8
8
|
pathnames = get_pathnames_from_path(pattern, path)
|
9
9
|
|
10
10
|
file_names = pathnames.map do |pathname|
|
11
11
|
pathname.basename.to_s
|
12
12
|
end
|
13
13
|
|
14
|
-
|
14
|
+
unless multi_select
|
15
|
+
selected_element = self.select(text, file_names, **options)
|
15
16
|
|
16
|
-
|
17
|
+
return get_selected_element_full_path(pathnames, selected_element)
|
18
|
+
end
|
19
|
+
|
20
|
+
selected_elements = self.multi_select(text, file_names, **options)
|
21
|
+
|
22
|
+
selected_elements.map do |selected_element|
|
23
|
+
get_selected_element_full_path(pathnames, selected_element)
|
24
|
+
end
|
17
25
|
end
|
18
26
|
|
19
27
|
private
|
20
28
|
|
21
29
|
def get_pathnames_from_path(pattern, path)
|
22
|
-
|
30
|
+
if path[-1] != "/"
|
31
|
+
pathnames = Pathname.glob(path + "/" + pattern)
|
32
|
+
else
|
33
|
+
pathnames = Pathname.glob(path + pattern)
|
34
|
+
end
|
23
35
|
|
24
36
|
pathnames.map(&:realpath)
|
25
37
|
end
|
data/tty-prompt-files.gemspec
CHANGED
@@ -29,4 +29,8 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.require_paths = ["lib"]
|
30
30
|
|
31
31
|
spec.add_dependency "tty-prompt", "~> 0.23.1"
|
32
|
+
|
33
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
34
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
35
|
+
spec.add_development_dependency "pry", "~> 0.14.1"
|
32
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tty-prompt-files
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Set27
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-prompt
|
@@ -24,6 +24,48 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.23.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '13.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '13.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.14.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.14.1
|
27
69
|
description:
|
28
70
|
email:
|
29
71
|
- matvei.traz@gmail.com
|