rspec_approvals 0.8.1 → 0.9.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f80fb19dffbe4bc78a84f29d2adc564b99daab370cc17b1594f8c4b07fd5ead
|
4
|
+
data.tar.gz: 8877ef773cc9c266b32fcb871fabb93113f8019a82494cefcc056f8b50a9ad60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b684ba876cfd55a31ff064fcf559ad999b2f7daf57d8b257865d910499e883b50d35b5e956b59259f0b2979764612c04832c650e0517a50b2b2aa206ab4f12d5
|
7
|
+
data.tar.gz: 60bf2c56a847a03d525af17b04c68013709b99d142f42035081f5672940479ae16f23167b115f486e191b5c3aa9533149bf3e80562c0d55c4fc078a783f323bf
|
data/lib/rspec_approvals.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rspec_approvals/extensions/file'
|
2
|
-
require 'rspec_approvals/extensions/stringio'
|
3
2
|
|
4
3
|
require 'rspec_approvals/module_functions'
|
4
|
+
require 'rspec_approvals/prompt'
|
5
5
|
require 'rspec_approvals/stream'
|
6
6
|
require 'rspec_approvals/approval_handler'
|
7
7
|
require 'rspec_approvals/matchers/base'
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'io/console'
|
2
2
|
require 'colsole'
|
3
|
-
require 'tty-prompt'
|
4
3
|
require 'diffy'
|
5
4
|
|
6
5
|
module RSpecApprovals
|
@@ -20,10 +19,6 @@ module RSpecApprovals
|
|
20
19
|
prompt_user
|
21
20
|
end
|
22
21
|
|
23
|
-
def prompt
|
24
|
-
@prompt ||= TTY::Prompt.new
|
25
|
-
end
|
26
|
-
|
27
22
|
private
|
28
23
|
|
29
24
|
def prompt_user
|
@@ -49,23 +44,19 @@ module RSpecApprovals
|
|
49
44
|
end
|
50
45
|
|
51
46
|
def get_response
|
52
|
-
|
53
|
-
rescue TTY::Reader::InputInterrupt
|
54
|
-
# :nocov:
|
55
|
-
return :reject
|
56
|
-
# :nocov:
|
47
|
+
Prompt.select "Please Choose:", 'r', menu_options
|
57
48
|
end
|
58
49
|
|
59
50
|
def menu_options
|
60
51
|
base = {
|
61
|
-
'
|
62
|
-
'
|
52
|
+
'a' => ['Approve (and save)', :approve],
|
53
|
+
'r' => ['Reject (and fail test)', :reject]
|
63
54
|
}
|
64
55
|
|
65
56
|
extra = {
|
66
|
-
'Show actual output'
|
67
|
-
'Show expected output'
|
68
|
-
'Show diff'
|
57
|
+
'1' => ['Show actual output', :actual],
|
58
|
+
'2' => ['Show expected output', :expected],
|
59
|
+
'3' => ['Show diff', :diff]
|
69
60
|
}
|
70
61
|
|
71
62
|
expected.empty? ? base : base.merge(extra)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'io/console'
|
2
|
+
require 'colsole'
|
3
|
+
|
4
|
+
module RSpecApprovals
|
5
|
+
class Prompt
|
6
|
+
class << self
|
7
|
+
include Colsole
|
8
|
+
|
9
|
+
def select(prompt, default, options)
|
10
|
+
options.each do |key, config|
|
11
|
+
color = key == default ? 'txtred' : 'txtgrn'
|
12
|
+
say "!#{color}!#{key}!txtrst!) #{config.first}"
|
13
|
+
end
|
14
|
+
|
15
|
+
say "\n!txtblu!#{prompt}!txtrst! "
|
16
|
+
response = STDIN.getch.downcase
|
17
|
+
|
18
|
+
response = default unless options.has_key? response
|
19
|
+
|
20
|
+
resay "!txtpur!#{options[response].first}"
|
21
|
+
options[response].last
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec_approvals
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colsole
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.3'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: tty-prompt
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0.19'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0.19'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: strings-ansi
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,12 +76,12 @@ files:
|
|
90
76
|
- lib/rspec_approvals.rb
|
91
77
|
- lib/rspec_approvals/approval_handler.rb
|
92
78
|
- lib/rspec_approvals/extensions/file.rb
|
93
|
-
- lib/rspec_approvals/extensions/stringio.rb
|
94
79
|
- lib/rspec_approvals/matchers/base.rb
|
95
80
|
- lib/rspec_approvals/matchers/match_approval.rb
|
96
81
|
- lib/rspec_approvals/matchers/output_approval.rb
|
97
82
|
- lib/rspec_approvals/matchers/raise_approval.rb
|
98
83
|
- lib/rspec_approvals/module_functions.rb
|
84
|
+
- lib/rspec_approvals/prompt.rb
|
99
85
|
- lib/rspec_approvals/rspec_config.rb
|
100
86
|
- lib/rspec_approvals/stream.rb
|
101
87
|
- lib/rspec_approvals/version.rb
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# This is a fix for a pesky issue with tty-screen (dependency of tty-reader,
|
2
|
-
# which is a dependency of tty-prompt, which is a dependency of ours).
|
3
|
-
# ref: https://github.com/piotrmurach/tty-screen/issues/11
|
4
|
-
require 'stringio'
|
5
|
-
|
6
|
-
unless StringIO.method_defined? :ioctl
|
7
|
-
class StringIO
|
8
|
-
def ioctl(*)
|
9
|
-
80
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
unless StringIO.method_defined? :wait_readable
|
15
|
-
class StringIO
|
16
|
-
def wait_readable(*)
|
17
|
-
true
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|