tty-prompt 0.18.1 → 0.23.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.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +95 -0
  3. data/README.md +598 -256
  4. data/lib/tty-prompt.rb +1 -2
  5. data/lib/tty/prompt.rb +192 -144
  6. data/lib/tty/prompt/answers_collector.rb +5 -5
  7. data/lib/tty/prompt/{enum_paginator.rb → block_paginator.rb} +20 -19
  8. data/lib/tty/prompt/choice.rb +9 -10
  9. data/lib/tty/prompt/choices.rb +30 -12
  10. data/lib/tty/prompt/confirm_question.rb +42 -16
  11. data/lib/tty/prompt/const.rb +17 -0
  12. data/lib/tty/prompt/converter_dsl.rb +6 -7
  13. data/lib/tty/prompt/converter_registry.rb +31 -26
  14. data/lib/tty/prompt/converters.rb +139 -32
  15. data/lib/tty/prompt/enum_list.rb +81 -26
  16. data/lib/tty/prompt/errors.rb +31 -0
  17. data/lib/tty/prompt/evaluator.rb +2 -2
  18. data/lib/tty/prompt/expander.rb +45 -15
  19. data/lib/tty/prompt/keypress.rb +33 -36
  20. data/lib/tty/prompt/list.rb +198 -63
  21. data/lib/tty/prompt/mask_question.rb +11 -8
  22. data/lib/tty/prompt/multi_list.rb +131 -28
  23. data/lib/tty/prompt/multiline.rb +9 -7
  24. data/lib/tty/prompt/paginator.rb +38 -26
  25. data/lib/tty/prompt/question.rb +92 -37
  26. data/lib/tty/prompt/question/checks.rb +20 -2
  27. data/lib/tty/prompt/question/modifier.rb +4 -2
  28. data/lib/tty/prompt/question/validation.rb +3 -3
  29. data/lib/tty/prompt/selected_choices.rb +77 -0
  30. data/lib/tty/prompt/slider.rb +125 -30
  31. data/lib/tty/prompt/statement.rb +3 -3
  32. data/lib/tty/prompt/suggestion.rb +7 -6
  33. data/lib/tty/prompt/symbols.rb +58 -34
  34. data/lib/tty/prompt/test.rb +36 -0
  35. data/lib/tty/prompt/timer.rb +75 -0
  36. data/lib/tty/prompt/utils.rb +1 -3
  37. data/lib/tty/prompt/version.rb +1 -1
  38. metadata +29 -227
  39. data/Rakefile +0 -8
  40. data/examples/ask.rb +0 -7
  41. data/examples/ask_valid.rb +0 -12
  42. data/examples/collect.rb +0 -21
  43. data/examples/echo.rb +0 -11
  44. data/examples/enum_select.rb +0 -7
  45. data/examples/enum_select_disabled.rb +0 -16
  46. data/examples/enum_select_paged.rb +0 -9
  47. data/examples/enum_select_wrapped.rb +0 -15
  48. data/examples/expand.rb +0 -29
  49. data/examples/in.rb +0 -9
  50. data/examples/inputs.rb +0 -10
  51. data/examples/key_events.rb +0 -15
  52. data/examples/keypress.rb +0 -9
  53. data/examples/mask.rb +0 -13
  54. data/examples/multi_select.rb +0 -8
  55. data/examples/multi_select_disabled.rb +0 -17
  56. data/examples/multi_select_paged.rb +0 -9
  57. data/examples/multi_select_wrapped.rb +0 -15
  58. data/examples/multiline.rb +0 -9
  59. data/examples/pause.rb +0 -9
  60. data/examples/select.rb +0 -24
  61. data/examples/select_disabled.rb +0 -18
  62. data/examples/select_enum.rb +0 -8
  63. data/examples/select_filtered.rb +0 -11
  64. data/examples/select_paginated.rb +0 -11
  65. data/examples/select_wrapped.rb +0 -15
  66. data/examples/slider.rb +0 -6
  67. data/examples/validation.rb +0 -9
  68. data/examples/yes_no.rb +0 -7
  69. data/lib/tty/prompt/messages.rb +0 -49
  70. data/lib/tty/prompt/timeout.rb +0 -78
  71. data/lib/tty/test_prompt.rb +0 -20
  72. data/spec/spec_helper.rb +0 -45
  73. data/spec/unit/ask_spec.rb +0 -132
  74. data/spec/unit/choice/eql_spec.rb +0 -22
  75. data/spec/unit/choice/from_spec.rb +0 -96
  76. data/spec/unit/choices/add_spec.rb +0 -12
  77. data/spec/unit/choices/each_spec.rb +0 -13
  78. data/spec/unit/choices/find_by_spec.rb +0 -10
  79. data/spec/unit/choices/new_spec.rb +0 -10
  80. data/spec/unit/choices/pluck_spec.rb +0 -9
  81. data/spec/unit/collect_spec.rb +0 -96
  82. data/spec/unit/converters/convert_bool_spec.rb +0 -58
  83. data/spec/unit/converters/convert_char_spec.rb +0 -11
  84. data/spec/unit/converters/convert_custom_spec.rb +0 -14
  85. data/spec/unit/converters/convert_date_spec.rb +0 -34
  86. data/spec/unit/converters/convert_file_spec.rb +0 -18
  87. data/spec/unit/converters/convert_number_spec.rb +0 -39
  88. data/spec/unit/converters/convert_path_spec.rb +0 -15
  89. data/spec/unit/converters/convert_range_spec.rb +0 -22
  90. data/spec/unit/converters/convert_regex_spec.rb +0 -12
  91. data/spec/unit/converters/convert_string_spec.rb +0 -21
  92. data/spec/unit/converters/on_error_spec.rb +0 -9
  93. data/spec/unit/distance/distance_spec.rb +0 -73
  94. data/spec/unit/enum_paginator_spec.rb +0 -75
  95. data/spec/unit/enum_select_spec.rb +0 -446
  96. data/spec/unit/error_spec.rb +0 -20
  97. data/spec/unit/evaluator_spec.rb +0 -67
  98. data/spec/unit/expand_spec.rb +0 -198
  99. data/spec/unit/keypress_spec.rb +0 -72
  100. data/spec/unit/mask_spec.rb +0 -132
  101. data/spec/unit/multi_select_spec.rb +0 -511
  102. data/spec/unit/multiline_spec.rb +0 -77
  103. data/spec/unit/new_spec.rb +0 -20
  104. data/spec/unit/ok_spec.rb +0 -10
  105. data/spec/unit/paginator_spec.rb +0 -73
  106. data/spec/unit/question/checks_spec.rb +0 -97
  107. data/spec/unit/question/default_spec.rb +0 -31
  108. data/spec/unit/question/echo_spec.rb +0 -38
  109. data/spec/unit/question/in_spec.rb +0 -115
  110. data/spec/unit/question/initialize_spec.rb +0 -12
  111. data/spec/unit/question/modifier/apply_to_spec.rb +0 -24
  112. data/spec/unit/question/modifier/letter_case_spec.rb +0 -41
  113. data/spec/unit/question/modifier/whitespace_spec.rb +0 -51
  114. data/spec/unit/question/modify_spec.rb +0 -41
  115. data/spec/unit/question/required_spec.rb +0 -92
  116. data/spec/unit/question/validate_spec.rb +0 -115
  117. data/spec/unit/question/validation/call_spec.rb +0 -31
  118. data/spec/unit/question/validation/coerce_spec.rb +0 -30
  119. data/spec/unit/result_spec.rb +0 -40
  120. data/spec/unit/say_spec.rb +0 -67
  121. data/spec/unit/select_spec.rb +0 -660
  122. data/spec/unit/slider_spec.rb +0 -100
  123. data/spec/unit/statement/initialize_spec.rb +0 -15
  124. data/spec/unit/subscribe_spec.rb +0 -22
  125. data/spec/unit/suggest_spec.rb +0 -28
  126. data/spec/unit/warn_spec.rb +0 -21
  127. data/spec/unit/yes_no_spec.rb +0 -251
  128. data/tasks/console.rake +0 -11
  129. data/tasks/coverage.rake +0 -11
  130. data/tasks/spec.rake +0 -29
  131. data/tty-prompt.gemspec +0 -33
@@ -28,10 +28,10 @@ module TTY
28
28
  # change the message display to color
29
29
  #
30
30
  # @api public
31
- def initialize(prompt, options = {})
31
+ def initialize(prompt, newline: true, color: false)
32
32
  @prompt = prompt
33
- @newline = options.fetch(:newline) { true }
34
- @color = options.fetch(:color) { false }
33
+ @newline = newline
34
+ @color = color
35
35
  end
36
36
 
37
37
  # Output the message to the prompt
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'distance'
3
+ require_relative "distance"
4
4
 
5
5
  module TTY
6
6
  # A class responsible for terminal prompt interactions.
@@ -11,9 +11,9 @@ module TTY
11
11
  class Suggestion
12
12
  DEFAULT_INDENT = 8
13
13
 
14
- SINGLE_TEXT = 'Did you mean this?'
14
+ SINGLE_TEXT = "Did you mean this?"
15
15
 
16
- PLURAL_TEXT = 'Did you mean one of these?'
16
+ PLURAL_TEXT = "Did you mean one of these?"
17
17
 
18
18
  # Number of spaces
19
19
  #
@@ -33,7 +33,7 @@ module TTY
33
33
  # Initialize a Suggestion
34
34
  #
35
35
  # @api public
36
- def initialize(options = {})
36
+ def initialize(**options)
37
37
  @indent = options.fetch(:indent) { DEFAULT_INDENT }
38
38
  @single_text = options.fetch(:single_text) { SINGLE_TEXT }
39
39
  @plural_text = options.fetch(:plural_text) { PLURAL_TEXT }
@@ -88,6 +88,7 @@ module TTY
88
88
  # @api private
89
89
  def evaluate
90
90
  return @suggestions if @suggestions.empty?
91
+
91
92
  if @suggestions.one?
92
93
  build_single_suggestion
93
94
  else
@@ -97,14 +98,14 @@ module TTY
97
98
 
98
99
  # @api private
99
100
  def build_single_suggestion
100
- single_text + "\n" + (' ' * indent) + @suggestions.first
101
+ single_text + "\n" + (" " * indent) + @suggestions.first
101
102
  end
102
103
 
103
104
  # @api private
104
105
  def build_multiple_suggestions
105
106
  plural_text + "\n" +
106
107
  @suggestions.map do |sugest|
107
- ' ' * indent + sugest
108
+ " " * indent + sugest
108
109
  end.join("\n")
109
110
  end
110
111
  end # Suggestion
@@ -7,43 +7,67 @@ module TTY
7
7
  # @api public
8
8
  module Symbols
9
9
  KEYS = {
10
- tick: '',
11
- cross: '',
12
- star: '',
13
- square: '',
14
- square_empty: '',
15
- dot: '',
16
- pointer: '‣',
17
- line: '─',
18
- pipe: '|',
19
- handle: 'O',
20
- ellipsis: '…',
21
- radio_on: '⬢',
22
- radio_off: '⬡',
23
- checkbox_on: '☒',
24
- checkbox_off: '☐',
25
- circle_on: 'ⓧ',
26
- circle_off: 'Ⓘ'
10
+ tick: "",
11
+ cross: "",
12
+ star: "",
13
+ square: "",
14
+ square_empty: "",
15
+ dot: "",
16
+ bullet: "●",
17
+ bullet_empty: "○",
18
+ marker: "‣",
19
+ line: "─",
20
+ pipe: "|",
21
+ ellipsis: "…",
22
+ radio_on: "⬢",
23
+ radio_off: "⬡",
24
+ checkbox_on: "☒",
25
+ checkbox_off: "☐",
26
+ circle: "◯",
27
+ circle_on: "ⓧ",
28
+ circle_off: "Ⓘ",
29
+ arrow_up: "↑",
30
+ arrow_down: "↓",
31
+ arrow_up_down: "↕",
32
+ arrow_left: "←",
33
+ arrow_right: "→",
34
+ arrow_left_right: "↔",
35
+ heart: "♥",
36
+ diamond: "♦",
37
+ club: "♣",
38
+ spade: "♠"
27
39
  }.freeze
28
40
 
29
41
  WIN_KEYS = {
30
- tick: '',
31
- cross: 'x',
32
- star: '*',
33
- square: '[█]',
34
- square_empty: '[ ]',
35
- dot: '.',
36
- pointer: '>',
37
- line: '-',
38
- pipe: '|',
39
- handle: 'O',
40
- ellipsis: '...',
41
- radio_on: '(*)',
42
- radio_off: '( )',
43
- checkbox_on: '[×]',
44
- checkbox_off: '[ ]',
45
- circle_on: '(x)',
46
- circle_off: '( )'
42
+ tick: "",
43
+ cross: "x",
44
+ star: "*",
45
+ square: "[█]",
46
+ square_empty: "[ ]",
47
+ dot: ".",
48
+ bullet: "O",
49
+ bullet_empty: "○",
50
+ marker: ">",
51
+ line: "-",
52
+ pipe: "|",
53
+ ellipsis: "...",
54
+ radio_on: "(*)",
55
+ radio_off: "( )",
56
+ checkbox_on: "[×]",
57
+ checkbox_off: "[ ]",
58
+ circle: "( )",
59
+ circle_on: "(x)",
60
+ circle_off: "( )",
61
+ arrow_up: "↑",
62
+ arrow_down: "↓",
63
+ arrow_up_down: "↕",
64
+ arrow_left: "←",
65
+ arrow_right: "→",
66
+ arrow_left_right: "↔",
67
+ heart: "♥",
68
+ diamond: "♦",
69
+ club: "♣",
70
+ spade: "♠"
47
71
  }.freeze
48
72
 
49
73
  def symbols
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "stringio"
4
+
5
+ require_relative "../prompt"
6
+
7
+ module TTY
8
+ # Used for initializing test cases
9
+ class Prompt
10
+ module StringIOExtensions
11
+ def wait_readable(*)
12
+ true
13
+ end
14
+
15
+ def ioctl(*)
16
+ 80
17
+ end
18
+ end
19
+
20
+ class Test < TTY::Prompt
21
+ def initialize(**options)
22
+ @input = StringIO.new
23
+ @input.extend(StringIOExtensions)
24
+ @output = StringIO.new
25
+
26
+ options.merge!({
27
+ input: @input,
28
+ output: @output,
29
+ env: { "TTY_TEST" => true },
30
+ enable_color: options.fetch(:enable_color, true)
31
+ })
32
+ super(**options)
33
+ end
34
+ end # Test
35
+ end # Prompt
36
+ end # TTY
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TTY
4
+ class Prompt
5
+ class Timer
6
+ attr_reader :duration
7
+
8
+ attr_reader :total
9
+
10
+ attr_reader :interval
11
+
12
+ def initialize(duration, interval)
13
+ @duration = duration
14
+ @interval = interval
15
+ @total = 0.0
16
+ @current = nil
17
+ @events = []
18
+ end
19
+
20
+ def start
21
+ return if @current
22
+
23
+ @current = time_now
24
+ end
25
+
26
+ def stop
27
+ return unless @current
28
+
29
+ @current = nil
30
+ end
31
+
32
+ def runtime
33
+ time_now - @current
34
+ end
35
+
36
+ def on_tick(&block)
37
+ @events << block
38
+ end
39
+
40
+ def while_remaining
41
+ start
42
+ remaining = duration
43
+
44
+ if @duration
45
+ while remaining >= 0.0
46
+ if runtime >= total
47
+ tick = duration - @total
48
+ @events.each { |block| block.(tick) }
49
+ @total += @interval
50
+ end
51
+
52
+ yield(remaining)
53
+ remaining = duration - runtime
54
+ end
55
+ else
56
+ loop { yield }
57
+ end
58
+ ensure
59
+ stop
60
+ end
61
+
62
+ if defined?(Process::CLOCK_MONOTONIC)
63
+ # Object representing current time
64
+ def time_now
65
+ ::Process.clock_gettime(Process::CLOCK_MONOTONIC)
66
+ end
67
+ else
68
+ # Object represeting current time
69
+ def time_now
70
+ ::Time.now
71
+ end
72
+ end
73
+ end # Timer
74
+ end # Prompt
75
+ end # TTY
@@ -29,9 +29,7 @@ module TTY
29
29
  #
30
30
  # @api public
31
31
  def blank?(value)
32
- value.nil? ||
33
- value.respond_to?(:empty?) && value.empty? ||
34
- BLANK_REGEX === value
32
+ value.nil? || BLANK_REGEX === value
35
33
  end
36
34
 
37
35
  # Deep copy object
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TTY
4
4
  class Prompt
5
- VERSION = '0.18.1'
5
+ VERSION = "0.23.0"
6
6
  end # Prompt
7
7
  end # TTY
metadata CHANGED
@@ -1,105 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-prompt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.1
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Murach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-29 00:00:00.000000000 Z
11
+ date: 2020-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: necromancer
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 0.4.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.4.0
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: pastel
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 0.7.0
19
+ version: '0.8'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 0.7.0
41
- - !ruby/object:Gem::Dependency
42
- name: timers
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '4.0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '4.0'
55
- - !ruby/object:Gem::Dependency
56
- name: tty-cursor
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 0.6.0
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.6.0
26
+ version: '0.8'
69
27
  - !ruby/object:Gem::Dependency
70
28
  name: tty-reader
71
29
  requirement: !ruby/object:Gem::Requirement
72
30
  requirements:
73
31
  - - "~>"
74
32
  - !ruby/object:Gem::Version
75
- version: 0.5.0
33
+ version: '0.8'
76
34
  type: :runtime
77
35
  prerelease: false
78
36
  version_requirements: !ruby/object:Gem::Requirement
79
37
  requirements:
80
38
  - - "~>"
81
39
  - !ruby/object:Gem::Version
82
- version: 0.5.0
83
- - !ruby/object:Gem::Dependency
84
- name: bundler
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: 1.5.0
90
- - - "<"
91
- - !ruby/object:Gem::Version
92
- version: '2.0'
93
- type: :development
94
- prerelease: false
95
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: 1.5.0
100
- - - "<"
101
- - !ruby/object:Gem::Version
102
- version: '2.0'
40
+ version: '0.8'
103
41
  - !ruby/object:Gem::Dependency
104
42
  name: rake
105
43
  requirement: !ruby/object:Gem::Requirement
@@ -118,75 +56,49 @@ dependencies:
118
56
  name: rspec
119
57
  requirement: !ruby/object:Gem::Requirement
120
58
  requirements:
121
- - - "~>"
59
+ - - ">="
122
60
  - !ruby/object:Gem::Version
123
61
  version: '3.0'
124
62
  type: :development
125
63
  prerelease: false
126
64
  version_requirements: !ruby/object:Gem::Requirement
127
65
  requirements:
128
- - - "~>"
66
+ - - ">="
129
67
  - !ruby/object:Gem::Version
130
68
  version: '3.0'
131
69
  description: A beautiful and powerful interactive command line prompt with a robust
132
70
  API for getting and validating complex inputs.
133
71
  email:
134
- - ''
72
+ - piotr@piotrmurach.com
135
73
  executables: []
136
74
  extensions: []
137
- extra_rdoc_files: []
75
+ extra_rdoc_files:
76
+ - README.md
77
+ - CHANGELOG.md
78
+ - LICENSE.txt
138
79
  files:
139
80
  - CHANGELOG.md
140
81
  - LICENSE.txt
141
82
  - README.md
142
- - Rakefile
143
- - examples/ask.rb
144
- - examples/ask_valid.rb
145
- - examples/collect.rb
146
- - examples/echo.rb
147
- - examples/enum_select.rb
148
- - examples/enum_select_disabled.rb
149
- - examples/enum_select_paged.rb
150
- - examples/enum_select_wrapped.rb
151
- - examples/expand.rb
152
- - examples/in.rb
153
- - examples/inputs.rb
154
- - examples/key_events.rb
155
- - examples/keypress.rb
156
- - examples/mask.rb
157
- - examples/multi_select.rb
158
- - examples/multi_select_disabled.rb
159
- - examples/multi_select_paged.rb
160
- - examples/multi_select_wrapped.rb
161
- - examples/multiline.rb
162
- - examples/pause.rb
163
- - examples/select.rb
164
- - examples/select_disabled.rb
165
- - examples/select_enum.rb
166
- - examples/select_filtered.rb
167
- - examples/select_paginated.rb
168
- - examples/select_wrapped.rb
169
- - examples/slider.rb
170
- - examples/validation.rb
171
- - examples/yes_no.rb
172
83
  - lib/tty-prompt.rb
173
84
  - lib/tty/prompt.rb
174
85
  - lib/tty/prompt/answers_collector.rb
86
+ - lib/tty/prompt/block_paginator.rb
175
87
  - lib/tty/prompt/choice.rb
176
88
  - lib/tty/prompt/choices.rb
177
89
  - lib/tty/prompt/confirm_question.rb
90
+ - lib/tty/prompt/const.rb
178
91
  - lib/tty/prompt/converter_dsl.rb
179
92
  - lib/tty/prompt/converter_registry.rb
180
93
  - lib/tty/prompt/converters.rb
181
94
  - lib/tty/prompt/distance.rb
182
95
  - lib/tty/prompt/enum_list.rb
183
- - lib/tty/prompt/enum_paginator.rb
96
+ - lib/tty/prompt/errors.rb
184
97
  - lib/tty/prompt/evaluator.rb
185
98
  - lib/tty/prompt/expander.rb
186
99
  - lib/tty/prompt/keypress.rb
187
100
  - lib/tty/prompt/list.rb
188
101
  - lib/tty/prompt/mask_question.rb
189
- - lib/tty/prompt/messages.rb
190
102
  - lib/tty/prompt/multi_list.rb
191
103
  - lib/tty/prompt/multiline.rb
192
104
  - lib/tty/prompt/paginator.rb
@@ -195,78 +107,25 @@ files:
195
107
  - lib/tty/prompt/question/modifier.rb
196
108
  - lib/tty/prompt/question/validation.rb
197
109
  - lib/tty/prompt/result.rb
110
+ - lib/tty/prompt/selected_choices.rb
198
111
  - lib/tty/prompt/slider.rb
199
112
  - lib/tty/prompt/statement.rb
200
113
  - lib/tty/prompt/suggestion.rb
201
114
  - lib/tty/prompt/symbols.rb
202
- - lib/tty/prompt/timeout.rb
115
+ - lib/tty/prompt/test.rb
116
+ - lib/tty/prompt/timer.rb
203
117
  - lib/tty/prompt/utils.rb
204
118
  - lib/tty/prompt/version.rb
205
- - lib/tty/test_prompt.rb
206
- - spec/spec_helper.rb
207
- - spec/unit/ask_spec.rb
208
- - spec/unit/choice/eql_spec.rb
209
- - spec/unit/choice/from_spec.rb
210
- - spec/unit/choices/add_spec.rb
211
- - spec/unit/choices/each_spec.rb
212
- - spec/unit/choices/find_by_spec.rb
213
- - spec/unit/choices/new_spec.rb
214
- - spec/unit/choices/pluck_spec.rb
215
- - spec/unit/collect_spec.rb
216
- - spec/unit/converters/convert_bool_spec.rb
217
- - spec/unit/converters/convert_char_spec.rb
218
- - spec/unit/converters/convert_custom_spec.rb
219
- - spec/unit/converters/convert_date_spec.rb
220
- - spec/unit/converters/convert_file_spec.rb
221
- - spec/unit/converters/convert_number_spec.rb
222
- - spec/unit/converters/convert_path_spec.rb
223
- - spec/unit/converters/convert_range_spec.rb
224
- - spec/unit/converters/convert_regex_spec.rb
225
- - spec/unit/converters/convert_string_spec.rb
226
- - spec/unit/converters/on_error_spec.rb
227
- - spec/unit/distance/distance_spec.rb
228
- - spec/unit/enum_paginator_spec.rb
229
- - spec/unit/enum_select_spec.rb
230
- - spec/unit/error_spec.rb
231
- - spec/unit/evaluator_spec.rb
232
- - spec/unit/expand_spec.rb
233
- - spec/unit/keypress_spec.rb
234
- - spec/unit/mask_spec.rb
235
- - spec/unit/multi_select_spec.rb
236
- - spec/unit/multiline_spec.rb
237
- - spec/unit/new_spec.rb
238
- - spec/unit/ok_spec.rb
239
- - spec/unit/paginator_spec.rb
240
- - spec/unit/question/checks_spec.rb
241
- - spec/unit/question/default_spec.rb
242
- - spec/unit/question/echo_spec.rb
243
- - spec/unit/question/in_spec.rb
244
- - spec/unit/question/initialize_spec.rb
245
- - spec/unit/question/modifier/apply_to_spec.rb
246
- - spec/unit/question/modifier/letter_case_spec.rb
247
- - spec/unit/question/modifier/whitespace_spec.rb
248
- - spec/unit/question/modify_spec.rb
249
- - spec/unit/question/required_spec.rb
250
- - spec/unit/question/validate_spec.rb
251
- - spec/unit/question/validation/call_spec.rb
252
- - spec/unit/question/validation/coerce_spec.rb
253
- - spec/unit/result_spec.rb
254
- - spec/unit/say_spec.rb
255
- - spec/unit/select_spec.rb
256
- - spec/unit/slider_spec.rb
257
- - spec/unit/statement/initialize_spec.rb
258
- - spec/unit/subscribe_spec.rb
259
- - spec/unit/suggest_spec.rb
260
- - spec/unit/warn_spec.rb
261
- - spec/unit/yes_no_spec.rb
262
- - tasks/console.rake
263
- - tasks/coverage.rake
264
- - tasks/spec.rake
265
- - tty-prompt.gemspec
266
- homepage: https://piotrmurach.github.io/tty
119
+ homepage: https://ttytoolkit.org
267
120
  licenses:
268
121
  - MIT
269
- metadata: {}
122
+ metadata:
123
+ allowed_push_host: https://rubygems.org
124
+ bug_tracker_uri: https://github.com/piotrmurach/tty-prompt/issues
125
+ changelog_uri: https://github.com/piotrmurach/tty-prompt/blob/master/CHANGELOG.md
126
+ documentation_uri: https://www.rubydoc.info/gems/tty-prompt
127
+ homepage_uri: https://ttytoolkit.org
128
+ source_code_uri: https://github.com/piotrmurach/tty-prompt
270
129
  post_install_message:
271
130
  rdoc_options: []
272
131
  require_paths:
@@ -282,65 +141,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
282
141
  - !ruby/object:Gem::Version
283
142
  version: '0'
284
143
  requirements: []
285
- rubyforge_project:
286
- rubygems_version: 2.7.3
144
+ rubygems_version: 3.1.2
287
145
  signing_key:
288
146
  specification_version: 4
289
147
  summary: A beautiful and powerful interactive command line prompt.
290
- test_files:
291
- - spec/spec_helper.rb
292
- - spec/unit/ask_spec.rb
293
- - spec/unit/choice/eql_spec.rb
294
- - spec/unit/choice/from_spec.rb
295
- - spec/unit/choices/add_spec.rb
296
- - spec/unit/choices/each_spec.rb
297
- - spec/unit/choices/find_by_spec.rb
298
- - spec/unit/choices/new_spec.rb
299
- - spec/unit/choices/pluck_spec.rb
300
- - spec/unit/collect_spec.rb
301
- - spec/unit/converters/convert_bool_spec.rb
302
- - spec/unit/converters/convert_char_spec.rb
303
- - spec/unit/converters/convert_custom_spec.rb
304
- - spec/unit/converters/convert_date_spec.rb
305
- - spec/unit/converters/convert_file_spec.rb
306
- - spec/unit/converters/convert_number_spec.rb
307
- - spec/unit/converters/convert_path_spec.rb
308
- - spec/unit/converters/convert_range_spec.rb
309
- - spec/unit/converters/convert_regex_spec.rb
310
- - spec/unit/converters/convert_string_spec.rb
311
- - spec/unit/converters/on_error_spec.rb
312
- - spec/unit/distance/distance_spec.rb
313
- - spec/unit/enum_paginator_spec.rb
314
- - spec/unit/enum_select_spec.rb
315
- - spec/unit/error_spec.rb
316
- - spec/unit/evaluator_spec.rb
317
- - spec/unit/expand_spec.rb
318
- - spec/unit/keypress_spec.rb
319
- - spec/unit/mask_spec.rb
320
- - spec/unit/multi_select_spec.rb
321
- - spec/unit/multiline_spec.rb
322
- - spec/unit/new_spec.rb
323
- - spec/unit/ok_spec.rb
324
- - spec/unit/paginator_spec.rb
325
- - spec/unit/question/checks_spec.rb
326
- - spec/unit/question/default_spec.rb
327
- - spec/unit/question/echo_spec.rb
328
- - spec/unit/question/in_spec.rb
329
- - spec/unit/question/initialize_spec.rb
330
- - spec/unit/question/modifier/apply_to_spec.rb
331
- - spec/unit/question/modifier/letter_case_spec.rb
332
- - spec/unit/question/modifier/whitespace_spec.rb
333
- - spec/unit/question/modify_spec.rb
334
- - spec/unit/question/required_spec.rb
335
- - spec/unit/question/validate_spec.rb
336
- - spec/unit/question/validation/call_spec.rb
337
- - spec/unit/question/validation/coerce_spec.rb
338
- - spec/unit/result_spec.rb
339
- - spec/unit/say_spec.rb
340
- - spec/unit/select_spec.rb
341
- - spec/unit/slider_spec.rb
342
- - spec/unit/statement/initialize_spec.rb
343
- - spec/unit/subscribe_spec.rb
344
- - spec/unit/suggest_spec.rb
345
- - spec/unit/warn_spec.rb
346
- - spec/unit/yes_no_spec.rb
148
+ test_files: []