cased-ruby 0.4.4 → 0.5.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/.github/workflows/ruby.yml +0 -16
- data/Gemfile.lock +24 -6
- data/README.md +33 -0
- data/cased-ruby.gemspec +1 -0
- data/lib/cased/cli/asciinema/file.rb +5 -0
- data/lib/cased/cli/config.rb +21 -0
- data/lib/cased/cli/interactive_session.rb +10 -2
- data/lib/cased/cli/session.rb +10 -3
- data/lib/cased/config.rb +14 -1
- data/lib/cased/version.rb +1 -1
- data/vendor/cache/activesupport-6.1.3.2.gem +0 -0
- data/vendor/cache/faraday-1.4.1.gem +0 -0
- data/vendor/cache/faraday-excon-1.1.0.gem +0 -0
- data/vendor/cache/faraday-net_http_persistent-1.1.0.gem +0 -0
- data/vendor/cache/i18n-1.8.10.gem +0 -0
- data/vendor/cache/jwt-2.2.3.gem +0 -0
- data/vendor/cache/pastel-0.8.0.gem +0 -0
- data/vendor/cache/tty-color-0.6.0.gem +0 -0
- data/vendor/cache/tty-cursor-0.7.1.gem +0 -0
- data/vendor/cache/tty-prompt-0.23.1.gem +0 -0
- data/vendor/cache/tty-reader-0.9.0.gem +0 -0
- data/vendor/cache/tty-screen-0.8.1.gem +0 -0
- data/vendor/cache/wisper-2.0.1.gem +0 -0
- metadata +30 -6
- data/vendor/cache/activesupport-6.1.3.gem +0 -0
- data/vendor/cache/faraday-1.3.0.gem +0 -0
- data/vendor/cache/i18n-1.8.9.gem +0 -0
- data/vendor/cache/jwt-2.2.2.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dc3d9c43168af4bfb222f063557726b6579ee497059ee14343e422b49f16c879
|
|
4
|
+
data.tar.gz: bfdb95c9831fd38d4ad86a25772aac3a1740c5de33ad3441c4b7edb0a6f173e9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1849cbc38766aa621046ba7db1d66e841714a3c8b6005cfc9beda6e606270f83c8429627f3797ce327415f67c55a3db8b3d799c738d446342a283cdb07d3098c
|
|
7
|
+
data.tar.gz: 3bccd4a530a8f5f4384c793570d7cd245fb6a339b5fa5c1df7874bdfcec28f63c21ad90dc3f109a2c9739968c02b69e899ab1f14bfcbf5624b2b6a7620aa2fac
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -28,19 +28,3 @@ jobs:
|
|
|
28
28
|
- name: Run Tests
|
|
29
29
|
run: |
|
|
30
30
|
bundle exec rake test
|
|
31
|
-
|
|
32
|
-
- name: Generate yard documentation
|
|
33
|
-
run: |
|
|
34
|
-
bundle exec yard
|
|
35
|
-
|
|
36
|
-
- name: Upload test coverage report
|
|
37
|
-
uses: actions/upload-artifact@v2
|
|
38
|
-
with:
|
|
39
|
-
name: coverage
|
|
40
|
-
path: coverage/**/*
|
|
41
|
-
|
|
42
|
-
- name: Upload generated yard documentation
|
|
43
|
-
uses: actions/upload-artifact@v2
|
|
44
|
-
with:
|
|
45
|
-
name: yard
|
|
46
|
-
path: doc/**/*
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
cased-ruby (0.
|
|
4
|
+
cased-ruby (0.5.0)
|
|
5
5
|
activesupport (~> 6)
|
|
6
6
|
dotpath (= 0.1.0)
|
|
7
7
|
faraday (~> 1.0)
|
|
@@ -10,11 +10,12 @@ PATH
|
|
|
10
10
|
jwt (~> 2)
|
|
11
11
|
net-http-persistent (~> 3.0)
|
|
12
12
|
subprocess (~> 1.5.0)
|
|
13
|
+
tty-prompt (~> 0.23.0)
|
|
13
14
|
|
|
14
15
|
GEM
|
|
15
16
|
remote: https://rubygems.org/
|
|
16
17
|
specs:
|
|
17
|
-
activesupport (6.1.3)
|
|
18
|
+
activesupport (6.1.3.2)
|
|
18
19
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
19
20
|
i18n (>= 1.6, < 2)
|
|
20
21
|
minitest (>= 5.1)
|
|
@@ -30,19 +31,23 @@ GEM
|
|
|
30
31
|
safe_yaml (~> 1.0.0)
|
|
31
32
|
docile (1.3.2)
|
|
32
33
|
dotpath (0.1.0)
|
|
33
|
-
faraday (1.
|
|
34
|
+
faraday (1.4.1)
|
|
35
|
+
faraday-excon (~> 1.1)
|
|
34
36
|
faraday-net_http (~> 1.0)
|
|
37
|
+
faraday-net_http_persistent (~> 1.1)
|
|
35
38
|
multipart-post (>= 1.2, < 3)
|
|
36
|
-
ruby2_keywords
|
|
39
|
+
ruby2_keywords (>= 0.0.4)
|
|
40
|
+
faraday-excon (1.1.0)
|
|
37
41
|
faraday-net_http (1.0.1)
|
|
42
|
+
faraday-net_http_persistent (1.1.0)
|
|
38
43
|
faraday_middleware (1.0.0)
|
|
39
44
|
faraday (~> 1.0)
|
|
40
45
|
hashdiff (1.0.1)
|
|
41
|
-
i18n (1.8.
|
|
46
|
+
i18n (1.8.10)
|
|
42
47
|
concurrent-ruby (~> 1.0)
|
|
43
48
|
jaro_winkler (1.5.4)
|
|
44
49
|
json (2.5.1)
|
|
45
|
-
jwt (2.2.
|
|
50
|
+
jwt (2.2.3)
|
|
46
51
|
minitest (5.13.0)
|
|
47
52
|
mocha (1.11.2)
|
|
48
53
|
multipart-post (2.1.1)
|
|
@@ -51,6 +56,8 @@ GEM
|
|
|
51
56
|
parallel (1.19.1)
|
|
52
57
|
parser (2.7.1.3)
|
|
53
58
|
ast (~> 2.4.0)
|
|
59
|
+
pastel (0.8.0)
|
|
60
|
+
tty-color (~> 0.5)
|
|
54
61
|
public_suffix (4.0.5)
|
|
55
62
|
rack (2.2.2)
|
|
56
63
|
rack-protection (2.0.8.1)
|
|
@@ -80,6 +87,16 @@ GEM
|
|
|
80
87
|
simplecov-html (~> 0.11)
|
|
81
88
|
simplecov-html (0.12.2)
|
|
82
89
|
subprocess (1.5.4)
|
|
90
|
+
tty-color (0.6.0)
|
|
91
|
+
tty-cursor (0.7.1)
|
|
92
|
+
tty-prompt (0.23.1)
|
|
93
|
+
pastel (~> 0.8)
|
|
94
|
+
tty-reader (~> 0.8)
|
|
95
|
+
tty-reader (0.9.0)
|
|
96
|
+
tty-cursor (~> 0.7)
|
|
97
|
+
tty-screen (~> 0.8)
|
|
98
|
+
wisper (~> 2.0)
|
|
99
|
+
tty-screen (0.8.1)
|
|
83
100
|
tzinfo (2.0.4)
|
|
84
101
|
concurrent-ruby (~> 1.0)
|
|
85
102
|
unicode-display_width (1.6.1)
|
|
@@ -87,6 +104,7 @@ GEM
|
|
|
87
104
|
addressable (>= 2.3.6)
|
|
88
105
|
crack (>= 0.3.2)
|
|
89
106
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
107
|
+
wisper (2.0.1)
|
|
90
108
|
yard (0.9.24)
|
|
91
109
|
zeitwerk (2.4.2)
|
|
92
110
|
|
data/README.md
CHANGED
|
@@ -9,6 +9,7 @@ A Cased client for Ruby applications in your organization to control and monitor
|
|
|
9
9
|
- [Usage](#usage)
|
|
10
10
|
- [Cased CLI](#cased-cli)
|
|
11
11
|
- [Starting an approval workflow](#starting-an-approval-workflow)
|
|
12
|
+
- [Attaching metadata to all CLI requests](#attaching-metadata-to-all-cli-requests)
|
|
12
13
|
- [Audit trails](#audit-trails)
|
|
13
14
|
- [Publishing events to Cased](#publishing-events-to-cased)
|
|
14
15
|
- [Retrieving events from a Cased audit trail](#retrieving-events-from-a-cased-audit-trail)
|
|
@@ -85,6 +86,17 @@ Cased.configure do |config|
|
|
|
85
86
|
|
|
86
87
|
# CASED_HTTP_READ_TIMEOUT=10
|
|
87
88
|
config.http_read_timeout = 10
|
|
89
|
+
|
|
90
|
+
# Attach metadata to all CLI requests. This metadata will appear in Cased and
|
|
91
|
+
# any notification source such as email or Slack.
|
|
92
|
+
#
|
|
93
|
+
# You are limited to 20 properties and cannot be a nested dictionary. Metadata
|
|
94
|
+
# specified in the CLI request overrides any configured globally.
|
|
95
|
+
config.cli.metadata = {
|
|
96
|
+
rails_env: ENV['RAILS_ENV'],
|
|
97
|
+
heroku_application: ENV['HEROKU_APP_NAME'],
|
|
98
|
+
git_commit: ENV['GIT_COMMIT'],
|
|
99
|
+
}
|
|
88
100
|
end
|
|
89
101
|
```
|
|
90
102
|
|
|
@@ -181,6 +193,27 @@ You no longer need to handle obtaining the user token or asking for a reason up
|
|
|
181
193
|
front, `Cased::CLI::InteractiveSession` will prompt the user for any reason
|
|
182
194
|
being required as necessary.
|
|
183
195
|
|
|
196
|
+
#### Attaching metadata to all CLI requests
|
|
197
|
+
|
|
198
|
+
While you can customize the metadata included for each CLI request, it may prove
|
|
199
|
+
useful to specify metadata globally that will be included with each CLI request.
|
|
200
|
+
Some useful information to include may be the current Rails environment, Heroku
|
|
201
|
+
application, Git commit deployed, and more.
|
|
202
|
+
|
|
203
|
+
Metadata is limited to 20 properties and cannot be a nested dictionary.
|
|
204
|
+
|
|
205
|
+
```ruby
|
|
206
|
+
Cased.configure do |config|
|
|
207
|
+
config.cli.metadata = {
|
|
208
|
+
rails_env: ENV['RAILS_ENV'],
|
|
209
|
+
heroku_application: ENV['HEROKU_APP_NAME'],
|
|
210
|
+
git_commit: ENV['GIT_COMMIT'],
|
|
211
|
+
}
|
|
212
|
+
end
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Note: Metadata specified in the CLI request overrides any configured globally.
|
|
216
|
+
|
|
184
217
|
### Audit trails
|
|
185
218
|
|
|
186
219
|
#### Publishing events to Cased
|
data/cased-ruby.gemspec
CHANGED
|
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
|
|
|
36
36
|
spec.add_dependency 'jwt', '~> 2'
|
|
37
37
|
spec.add_dependency 'net-http-persistent', '~> 3.0'
|
|
38
38
|
spec.add_dependency 'subprocess', '~> 1.5.0'
|
|
39
|
+
spec.add_dependency 'tty-prompt', '~> 0.23.0'
|
|
39
40
|
spec.add_development_dependency 'bundler', '2.1.4'
|
|
40
41
|
spec.add_development_dependency 'byebug', '11.0.1'
|
|
41
42
|
spec.add_development_dependency 'minitest', '5.13.0'
|
|
@@ -15,12 +15,17 @@ module Cased
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def self.from_cast(cast)
|
|
18
|
+
return if cast.blank?
|
|
19
|
+
|
|
18
20
|
stream = cast.split("\n").collect do |data|
|
|
19
21
|
JSON.parse(data)
|
|
20
22
|
end
|
|
21
23
|
header = stream.shift
|
|
24
|
+
return unless header.is_a?(Hash)
|
|
22
25
|
|
|
23
26
|
new(header, stream)
|
|
27
|
+
rescue JSON::ParserError
|
|
28
|
+
nil
|
|
24
29
|
end
|
|
25
30
|
|
|
26
31
|
# Required
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cased
|
|
4
|
+
module CLI
|
|
5
|
+
class Config
|
|
6
|
+
# @example
|
|
7
|
+
# Cased.configure do |config|
|
|
8
|
+
# config.cli.metadata = {
|
|
9
|
+
# rails_env: ENV['RAILS_ENV'],
|
|
10
|
+
# heroku_application: ENV['HEROKU_APP_NAME'],
|
|
11
|
+
# git_commit: ENV['GIT_COMMIT'],
|
|
12
|
+
# }
|
|
13
|
+
# end
|
|
14
|
+
attr_accessor :metadata
|
|
15
|
+
|
|
16
|
+
def initialize
|
|
17
|
+
@metadata = {}
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'cased/cli/session'
|
|
4
|
+
require 'tty/prompt'
|
|
4
5
|
|
|
5
6
|
module Cased
|
|
6
7
|
module CLI
|
|
@@ -27,6 +28,8 @@ module Cased
|
|
|
27
28
|
command: command,
|
|
28
29
|
metadata: metadata,
|
|
29
30
|
)
|
|
31
|
+
|
|
32
|
+
@prompt = TTY::Prompt.new
|
|
30
33
|
end
|
|
31
34
|
|
|
32
35
|
def create
|
|
@@ -81,8 +84,11 @@ module Cased
|
|
|
81
84
|
private
|
|
82
85
|
|
|
83
86
|
def reason_prompt
|
|
84
|
-
|
|
85
|
-
session.reason =
|
|
87
|
+
reason = @prompt.multiline(Cased::CLI::Log.string('Please enter a reason for access:'), help: '(Press Ctrl+D or Ctrl+Z to submit)')
|
|
88
|
+
session.reason = reason.join("\n")
|
|
89
|
+
rescue TTY::Reader::InputInterrupt
|
|
90
|
+
Cased::CLI::Log.log 'Exiting and canceling request…'
|
|
91
|
+
exit 0
|
|
86
92
|
end
|
|
87
93
|
|
|
88
94
|
def wait_for_approval
|
|
@@ -112,8 +118,10 @@ module Cased
|
|
|
112
118
|
exit 1
|
|
113
119
|
when 'timed_out'
|
|
114
120
|
Cased::CLI::Log.log 'CLI session has timed out'
|
|
121
|
+
exit 1
|
|
115
122
|
when 'canceled'
|
|
116
123
|
Cased::CLI::Log.log 'CLI session has been canceled'
|
|
124
|
+
exit 0
|
|
117
125
|
end
|
|
118
126
|
end
|
|
119
127
|
end
|
data/lib/cased/cli/session.rb
CHANGED
|
@@ -124,11 +124,18 @@ module Cased
|
|
|
124
124
|
# @return [Hash, nil]
|
|
125
125
|
attr_reader :guard_application
|
|
126
126
|
|
|
127
|
+
# Public: Cased may filter out sensitive data in the command, we shouldn't
|
|
128
|
+
# execute what is returned from the server.
|
|
129
|
+
#
|
|
130
|
+
# @return [String, nil]
|
|
131
|
+
attr_reader :original_command
|
|
132
|
+
|
|
127
133
|
def initialize(reason: nil, command: nil, metadata: {}, authentication: nil)
|
|
128
134
|
@authentication = authentication || Cased::CLI::Authentication.new
|
|
129
135
|
@reason = reason
|
|
130
|
-
@
|
|
131
|
-
@
|
|
136
|
+
@original_command = command || [$PROGRAM_NAME, *ARGV].join(' ')
|
|
137
|
+
@command = @original_command
|
|
138
|
+
@metadata = Cased.config.cli.metadata.merge(metadata)
|
|
132
139
|
@requester = {}
|
|
133
140
|
@responder = {}
|
|
134
141
|
@guard_application = {}
|
|
@@ -216,7 +223,7 @@ module Cased
|
|
|
216
223
|
|
|
217
224
|
Cased::CLI::Log.log 'CLI session is now recording'
|
|
218
225
|
|
|
219
|
-
recorder = Cased::CLI::Recorder.new(
|
|
226
|
+
recorder = Cased::CLI::Recorder.new(original_command.split(' '), env: {
|
|
220
227
|
'GUARD_SESSION_ID' => id,
|
|
221
228
|
'GUARD_APPLICATION_ID' => guard_application.fetch('id'),
|
|
222
229
|
'GUARD_USER_TOKEN' => requester.fetch('id'),
|
data/lib/cased/config.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'cased/cli/config'
|
|
4
|
+
|
|
3
5
|
module Cased
|
|
4
6
|
class Config
|
|
5
7
|
# The amount of time in seconds to allow the HTTP client to open a
|
|
@@ -149,6 +151,16 @@ module Cased
|
|
|
149
151
|
# end
|
|
150
152
|
attr_writer :silence
|
|
151
153
|
|
|
154
|
+
# @example
|
|
155
|
+
# Cased.configure do |config|
|
|
156
|
+
# config.cli.metadata = {
|
|
157
|
+
# rails_env: ENV['RAILS_ENV'],
|
|
158
|
+
# heroku_application: ENV['HEROKU_APP_NAME'],
|
|
159
|
+
# git_commit: ENV['GIT_COMMIT'],
|
|
160
|
+
# }
|
|
161
|
+
# end
|
|
162
|
+
attr_reader :cli
|
|
163
|
+
|
|
152
164
|
def initialize
|
|
153
165
|
@http_read_timeout = ENV.fetch('CASED_HTTP_READ_TIMEOUT', 10).to_i
|
|
154
166
|
@http_open_timeout = ENV.fetch('CASED_HTTP_OPEN_TIMEOUT', 5).to_i
|
|
@@ -172,6 +184,7 @@ module Cased
|
|
|
172
184
|
hash[normalized_key] = api_key if api_key
|
|
173
185
|
end
|
|
174
186
|
end
|
|
187
|
+
@cli = Cased::CLI::Config.new
|
|
175
188
|
end
|
|
176
189
|
|
|
177
190
|
# Policy keys are used to query for events from audit trails.
|
|
@@ -224,7 +237,7 @@ module Cased
|
|
|
224
237
|
private
|
|
225
238
|
|
|
226
239
|
def parse_bool(val)
|
|
227
|
-
%w[1 true t].include?(val&.downcase)
|
|
240
|
+
%w[1 true t].include?(val.to_s&.downcase)
|
|
228
241
|
end
|
|
229
242
|
end
|
|
230
243
|
end
|
data/lib/cased/version.rb
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cased-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Garrett Bjerkhoel
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -122,6 +122,20 @@ dependencies:
|
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: 1.5.0
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: tty-prompt
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: 0.23.0
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: 0.23.0
|
|
125
139
|
- !ruby/object:Gem::Dependency
|
|
126
140
|
name: bundler
|
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -305,6 +319,7 @@ files:
|
|
|
305
319
|
- lib/cased/cli/asciinema/file.rb
|
|
306
320
|
- lib/cased/cli/asciinema/writer.rb
|
|
307
321
|
- lib/cased/cli/authentication.rb
|
|
322
|
+
- lib/cased/cli/config.rb
|
|
308
323
|
- lib/cased/cli/identity.rb
|
|
309
324
|
- lib/cased/cli/interactive_session.rb
|
|
310
325
|
- lib/cased/cli/log.rb
|
|
@@ -343,7 +358,7 @@ files:
|
|
|
343
358
|
- lib/cased/sensitive/string.rb
|
|
344
359
|
- lib/cased/test_helper.rb
|
|
345
360
|
- lib/cased/version.rb
|
|
346
|
-
- vendor/cache/activesupport-6.1.3.gem
|
|
361
|
+
- vendor/cache/activesupport-6.1.3.2.gem
|
|
347
362
|
- vendor/cache/addressable-2.7.0.gem
|
|
348
363
|
- vendor/cache/ast-2.4.0.gem
|
|
349
364
|
- vendor/cache/byebug-11.0.1.gem
|
|
@@ -352,20 +367,23 @@ files:
|
|
|
352
367
|
- vendor/cache/crack-0.4.3.gem
|
|
353
368
|
- vendor/cache/docile-1.3.2.gem
|
|
354
369
|
- vendor/cache/dotpath-0.1.0.gem
|
|
355
|
-
- vendor/cache/faraday-1.
|
|
370
|
+
- vendor/cache/faraday-1.4.1.gem
|
|
371
|
+
- vendor/cache/faraday-excon-1.1.0.gem
|
|
356
372
|
- vendor/cache/faraday-net_http-1.0.1.gem
|
|
373
|
+
- vendor/cache/faraday-net_http_persistent-1.1.0.gem
|
|
357
374
|
- vendor/cache/faraday_middleware-1.0.0.gem
|
|
358
375
|
- vendor/cache/hashdiff-1.0.1.gem
|
|
359
|
-
- vendor/cache/i18n-1.8.
|
|
376
|
+
- vendor/cache/i18n-1.8.10.gem
|
|
360
377
|
- vendor/cache/jaro_winkler-1.5.4.gem
|
|
361
378
|
- vendor/cache/json-2.5.1.gem
|
|
362
|
-
- vendor/cache/jwt-2.2.
|
|
379
|
+
- vendor/cache/jwt-2.2.3.gem
|
|
363
380
|
- vendor/cache/minitest-5.13.0.gem
|
|
364
381
|
- vendor/cache/mocha-1.11.2.gem
|
|
365
382
|
- vendor/cache/multipart-post-2.1.1.gem
|
|
366
383
|
- vendor/cache/net-http-persistent-3.1.0.gem
|
|
367
384
|
- vendor/cache/parallel-1.19.1.gem
|
|
368
385
|
- vendor/cache/parser-2.7.1.3.gem
|
|
386
|
+
- vendor/cache/pastel-0.8.0.gem
|
|
369
387
|
- vendor/cache/public_suffix-4.0.5.gem
|
|
370
388
|
- vendor/cache/rack-2.2.2.gem
|
|
371
389
|
- vendor/cache/rack-protection-2.0.8.1.gem
|
|
@@ -381,9 +399,15 @@ files:
|
|
|
381
399
|
- vendor/cache/simplecov-0.18.5.gem
|
|
382
400
|
- vendor/cache/simplecov-html-0.12.2.gem
|
|
383
401
|
- vendor/cache/subprocess-1.5.4.gem
|
|
402
|
+
- vendor/cache/tty-color-0.6.0.gem
|
|
403
|
+
- vendor/cache/tty-cursor-0.7.1.gem
|
|
404
|
+
- vendor/cache/tty-prompt-0.23.1.gem
|
|
405
|
+
- vendor/cache/tty-reader-0.9.0.gem
|
|
406
|
+
- vendor/cache/tty-screen-0.8.1.gem
|
|
384
407
|
- vendor/cache/tzinfo-2.0.4.gem
|
|
385
408
|
- vendor/cache/unicode-display_width-1.6.1.gem
|
|
386
409
|
- vendor/cache/webmock-3.8.3.gem
|
|
410
|
+
- vendor/cache/wisper-2.0.1.gem
|
|
387
411
|
- vendor/cache/yard-0.9.24.gem
|
|
388
412
|
- vendor/cache/zeitwerk-2.4.2.gem
|
|
389
413
|
homepage: https://github.com/cased/cased-ruby
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/i18n-1.8.9.gem
DELETED
|
Binary file
|
data/vendor/cache/jwt-2.2.2.gem
DELETED
|
Binary file
|