whoop 1.0.1 → 1.0.3
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.lock +14 -3
- data/README.md +187 -6
- data/Rakefile +1 -0
- data/lib/whoop/version.rb +1 -1
- data/lib/whoop.rb +33 -7
- data/sig/whoop.rbs +9 -5
- data/whoop.gemspec +47 -0
- metadata +35 -8
- data/cc-test-reporter +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e87afc662b392a97fb44f20ec959efbd381c610d79632078feb9fca40f2591c9
|
4
|
+
data.tar.gz: 4710ad20b1dd68ee4215b964767ccb4ad82a863dfa720c6569735be37b03e89d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 636d9da4424c22bda6c608a69b2bf4e4685b04698a2c960dbafcd479cc4cfe4129512b59bda6055a90745b3be534be31e9f195481353ead1707b9bc468575e1c
|
7
|
+
data.tar.gz: af6eb8555456810f4d3c9a63a06b7f6337c6abd63ea004907618752465435c82f9c6857c7f95e7ff8a8d50646fc01e5c8709ed0091c1f8f8f793bf35dd75b668
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
whoop (1.0.
|
5
|
-
activerecord
|
6
|
-
activesupport
|
4
|
+
whoop (1.0.3)
|
5
|
+
activerecord (>= 6.1.4)
|
6
|
+
activesupport (>= 6.1.4)
|
7
7
|
anbt-sql-formatter
|
8
8
|
colorize
|
9
9
|
rouge
|
@@ -25,12 +25,15 @@ GEM
|
|
25
25
|
ast (2.4.2)
|
26
26
|
bump (0.10.0)
|
27
27
|
byebug (11.1.3)
|
28
|
+
codecov (0.6.0)
|
29
|
+
simplecov (>= 0.15, < 0.22)
|
28
30
|
coderay (1.1.3)
|
29
31
|
colorize (0.8.1)
|
30
32
|
commander (4.6.0)
|
31
33
|
highline (~> 2.0.0)
|
32
34
|
concurrent-ruby (1.1.10)
|
33
35
|
diff-lcs (1.5.0)
|
36
|
+
docile (1.4.0)
|
34
37
|
highline (2.0.3)
|
35
38
|
i18n (1.12.0)
|
36
39
|
concurrent-ruby (~> 1.0)
|
@@ -86,6 +89,11 @@ GEM
|
|
86
89
|
rubocop (>= 1.7.0, < 2.0)
|
87
90
|
rubocop-ast (>= 0.4.0)
|
88
91
|
ruby-progressbar (1.11.0)
|
92
|
+
simplecov (0.16.1)
|
93
|
+
docile (~> 1.1)
|
94
|
+
json (>= 1.8, < 3)
|
95
|
+
simplecov-html (~> 0.10.0)
|
96
|
+
simplecov-html (0.10.2)
|
89
97
|
sorbet-runtime (0.5.10455)
|
90
98
|
sord (4.0.0)
|
91
99
|
commander (~> 4.5)
|
@@ -104,13 +112,16 @@ GEM
|
|
104
112
|
|
105
113
|
PLATFORMS
|
106
114
|
arm64-darwin-21
|
115
|
+
x86_64-linux
|
107
116
|
|
108
117
|
DEPENDENCIES
|
109
118
|
bump
|
119
|
+
codecov
|
110
120
|
magic_frozen_string_literal
|
111
121
|
pry-byebug
|
112
122
|
rake
|
113
123
|
rspec
|
124
|
+
simplecov
|
114
125
|
sord
|
115
126
|
standard
|
116
127
|
whoop!
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# Whoop
|
2
2
|
|
3
3
|
[](https://badge.fury.io/rb/whoop)
|
4
|
+
[](https://gitpod.io/#https://github.com/coderberry/whoop)
|
4
5
|
[](https://codeclimate.com/github/coderberry/whoop/maintainability)
|
5
|
-
[](https://codecov.io/gh/coderberry/whoop)
|
6
7
|
[](https://github.com/coderberry/whoop/actions/workflows/tests.yml)
|
7
8
|
[](https://github.com/coderberry/whoop/actions/workflows/codeql-analysis.yml)
|
8
9
|
[](https://github.com/coderberry/whoop/actions/workflows/standardrb.yml)
|
@@ -13,6 +14,8 @@
|
|
13
14
|
|
14
15
|
Whoop is a Ruby logging library with built-in formatting and colorization.
|
15
16
|
|
17
|
+
To try **whoop** within your browser, visit the [whoop playground](https://replit.com/@coderberry/whoop-playground).
|
18
|
+
|
16
19
|
## Installation
|
17
20
|
|
18
21
|
Install the gem and add to the application's Gemfile by executing:
|
@@ -34,7 +37,7 @@ Whoop.setup do |config|
|
|
34
37
|
# config.logger = ActiveSupport::Logger.new("log/#{Rails.env}.log")
|
35
38
|
# config.logger = ActiveSupport::Logger.new($stdout)
|
36
39
|
# config.logger = nil # uses `puts`
|
37
|
-
|
40
|
+
|
38
41
|
config.level = :debug
|
39
42
|
# config.level = :info
|
40
43
|
# config.level = :warn
|
@@ -50,11 +53,189 @@ The `whoop` method is accessible from any object. See specs for more examples.
|
|
50
53
|
whoop "Hello, World!"
|
51
54
|
```
|
52
55
|
|
53
|
-
|
54
|
-
|
56
|
+
You can pass any options into the `whoop` method to change the output.
|
57
|
+
|
58
|
+
- `label` (first argument) - Either the object or title if a block is passed (see below)
|
59
|
+
- `pattern` - String character to use for the line (default is `-`)
|
60
|
+
- `count` - the number of times to repeat the pattern per line (e.g. 80)
|
61
|
+
- `color` - the color to use for the line (e.g. :red)
|
62
|
+
- `format` - the format to use for the message (one of `:json`, `:sql`, `:plain`)
|
63
|
+
- `caller_depth` - the depth of the caller to use for the source (default: 0)
|
64
|
+
- `explain` - whether to run `EXPLAIN` on the SQL query (default: false)
|
65
|
+
- `context` - a hash of key/value pairs to include in the output
|
66
|
+
|
67
|
+
## Examples
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
whoop "Hello"
|
71
|
+
|
72
|
+
# log/debug.log
|
73
|
+
# ┏--------------------------------------------------------------------------------
|
74
|
+
# ┆ timestamp: 2022-09-26 14:28:06 -0600
|
75
|
+
# ┆ source: /spec/whoop_spec.rb:12
|
76
|
+
#
|
77
|
+
# Hello
|
78
|
+
#
|
79
|
+
# ┗--------------------------------------------------------------------------------
|
80
|
+
```
|
81
|
+
|
82
|
+
```ruby
|
83
|
+
whoop("My Label", color: :green) { "Hello" }
|
84
|
+
|
85
|
+
# log/debug.log (the colors don't appear in markdown)
|
86
|
+
# ┏------------------------------------ My Label ------------------------------------
|
87
|
+
# ┆ timestamp: 2022-09-26 14:28:06 -0600
|
88
|
+
# ┆ source: /spec/whoop_spec.rb:26
|
89
|
+
#
|
90
|
+
# Hello
|
91
|
+
#
|
92
|
+
# ┗--------------------------------------------------------------------------------
|
93
|
+
```
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
whoop({hello: "world"}, format: :json, color: false)
|
97
|
+
|
98
|
+
# ┏--------------------------------------------------------------------------------
|
99
|
+
# ┆ timestamp: 2022-09-26 14:28:06 -0600
|
100
|
+
# ┆ source: /spec/whoop_spec.rb:39
|
101
|
+
#
|
102
|
+
# {
|
103
|
+
# "hello": "world"
|
104
|
+
# }
|
105
|
+
#
|
106
|
+
# ┗--------------------------------------------------------------------------------
|
107
|
+
```
|
108
|
+
|
109
|
+
```ruby
|
110
|
+
whoop("This message includes context", color: false, context: {user: "Eric", ip_address: "127.0.0.1"})
|
111
|
+
|
112
|
+
# ┏--------------------------------------------------------------------------------
|
113
|
+
# ┆ timestamp: 2022-09-26 14:28:06 -0600
|
114
|
+
# ┆ source: /spec/whoop_spec.rb:39
|
115
|
+
# ┆ user: Eric
|
116
|
+
# ┆ ip_address: 127.0.0.1
|
117
|
+
#
|
118
|
+
# This message includes context
|
119
|
+
#
|
120
|
+
# ┗--------------------------------------------------------------------------------
|
121
|
+
```
|
122
|
+
|
123
|
+
```ruby
|
124
|
+
sql = 'SELECT emp_id, first_name,last_name,dept_id,mgr_id, ' +
|
125
|
+
'WIDTH_BUCKET(department_id,20,40,10) "Exists in Dept" ' +
|
126
|
+
'FROM emp WHERE mgr_id < 300 ORDER BY "Exists in Dept"'
|
127
|
+
|
128
|
+
whoop(sql, format: :sql)
|
129
|
+
|
130
|
+
# ┏--------------------------------------------------------------------------------
|
131
|
+
# ┆ timestamp: 2022-09-26 14:28:06 -0600
|
132
|
+
# ┆ source: /spec/whoop_spec.rb:52
|
133
|
+
#
|
134
|
+
# SELECT
|
135
|
+
# emp_id
|
136
|
+
# ,first_name
|
137
|
+
# ,last_name
|
138
|
+
# ,dept_id
|
139
|
+
# ,mgr_id
|
140
|
+
# ,WIDTH_BUCKET (
|
141
|
+
# department_id
|
142
|
+
# ,20
|
143
|
+
# ,40
|
144
|
+
# ,10
|
145
|
+
# ) "Exists in Dept"
|
146
|
+
# FROM
|
147
|
+
# emp
|
148
|
+
# WHERE
|
149
|
+
# mgr_id < 300
|
150
|
+
# ORDER BY
|
151
|
+
# "Exists in Dept"
|
152
|
+
#
|
153
|
+
# ┗--------------------------------------------------------------------------------
|
154
|
+
```
|
155
|
+
|
156
|
+
#### Auto-explain SQL queries
|
157
|
+
|
158
|
+
In addition to formatting the SQL query, you can also ask whoop to perform an
|
159
|
+
`explain` on the query by using the `explain: true` argument.
|
160
|
+
|
161
|
+
Example (using the Example 1 sample plan from explain.dalibo.com):
|
162
|
+
|
163
|
+
```ruby
|
164
|
+
sql = <<~SQL
|
165
|
+
SELECT rel_users_exams.user_username AS rel_users_exams_user_username,
|
166
|
+
rel_users_exams.exam_id AS rel_users_exams_exam_id,
|
167
|
+
rel_users_exams.started_at AS rel_users_exams_started_at,
|
168
|
+
rel_users_exams.finished_at AS rel_users_exams_finished_at,
|
169
|
+
exam_1.id AS exam_1_id,
|
170
|
+
exam_1.title AS exam_1_title,
|
171
|
+
exam_1.date_from AS exam_1_date_from,
|
172
|
+
exam_1.date_to AS exam_1_date_to,
|
173
|
+
exam_1.created AS exam_1_created,
|
174
|
+
exam_1.created_by_ AS exam_1_created_by_,
|
175
|
+
exam_1.duration AS exam_1_duration,
|
176
|
+
exam_1.success_threshold AS exam_1_success_threshold,
|
177
|
+
exam_1.published AS exam_1_published
|
178
|
+
FROM rel_users_exams LEFT OUTER
|
179
|
+
JOIN exam AS exam_1
|
180
|
+
ON exam_1.id = rel_users_exams.exam_id
|
181
|
+
WHERE 1 = rel_users_exams.exam_id;
|
182
|
+
SQL
|
183
|
+
|
184
|
+
whoop("SQL with Explain", format: :sql, explain: true) { sql }
|
185
|
+
|
186
|
+
# ┏-------------------------------- SQL with Explain --------------------------------
|
187
|
+
# ┆ timestamp: 2022-09-26 14:50:11 -0600
|
188
|
+
# ┆ source: (irb):23:in `<top (required)>'
|
189
|
+
#
|
190
|
+
# sql:
|
191
|
+
#
|
192
|
+
# SELECT
|
193
|
+
# rel_users_exams.user_username AS rel_users_exams_user_username
|
194
|
+
# ,rel_users_exams.exam_id AS rel_users_exams_exam_id
|
195
|
+
# ,rel_users_exams.started_at AS rel_users_exams_started_at
|
196
|
+
# ,rel_users_exams.finished_at AS rel_users_exams_finished_at
|
197
|
+
# ,exam_1.id AS exam_1_id
|
198
|
+
# ,exam_1.title AS exam_1_title
|
199
|
+
# ,exam_1.date_from AS exam_1_date_from
|
200
|
+
# ,exam_1.date_to AS exam_1_date_to
|
201
|
+
# ,exam_1.created AS exam_1_created
|
202
|
+
# ,exam_1.created_by_ AS exam_1_created_by_
|
203
|
+
# ,exam_1.duration AS exam_1_duration
|
204
|
+
# ,exam_1.success_threshold AS exam_1_success_threshold
|
205
|
+
# ,exam_1.published AS exam_1_published
|
206
|
+
# FROM
|
207
|
+
# rel_users_exams LEFT OUTER JOIN exam AS exam_1
|
208
|
+
# ON exam_1.id = rel_users_exams.exam_id
|
209
|
+
# WHERE
|
210
|
+
# 1 = rel_users_exams.exam_id
|
211
|
+
# ;
|
212
|
+
#
|
213
|
+
# query plan:
|
214
|
+
#
|
215
|
+
# Nested Loop Left Join (cost=11.95..28.52 rows=5 width=157) (actual time=0.010..0.010 rows=0 loops=1)
|
216
|
+
# Output: rel_users_exams.user_username, rel_users_exams.exam_id, rel_users_exams.started_at, rel_users_exams.finished_at, exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published
|
217
|
+
# Inner Unique: true
|
218
|
+
# Join Filter: (exam_1.id = rel_users_exams.exam_id)
|
219
|
+
# Buffers: shared hit=1
|
220
|
+
# -> Bitmap Heap Scan on public.rel_users_exams (cost=11.80..20.27 rows=5 width=52) (actual time=0.009..0.009 rows=0 loops=1)
|
221
|
+
# Output: rel_users_exams.user_username, rel_users_exams.exam_id, rel_users_exams.started_at, rel_users_exams.finished_at
|
222
|
+
# Recheck Cond: (1 = rel_users_exams.exam_id)
|
223
|
+
# Buffers: shared hit=1
|
224
|
+
# -> Bitmap Index Scan on rel_users_exams_pkey (cost=0.00..11.80 rows=5 width=0) (actual time=0.005..0.005 rows=0 loops=1)
|
225
|
+
# Index Cond: (1 = rel_users_exams.exam_id)
|
226
|
+
# Buffers: shared hit=1
|
227
|
+
# -> Materialize (cost=0.15..8.17 rows=1 width=105) (never executed)
|
228
|
+
# Output: exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published
|
229
|
+
# -> Index Scan using exam_pkey on public.exam exam_1 (cost=0.15..8.17 rows=1 width=105) (never executed)
|
230
|
+
# Output: exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration,
|
231
|
+
# exam_1.success_threshold, exam_1.published
|
232
|
+
# Index Cond: (exam_1.id = 1)
|
233
|
+
# Planning Time: 1.110 ms
|
234
|
+
# Execution Time: 0.170 ms
|
235
|
+
#
|
236
|
+
# ┗--------------------------------------------------------------------------------
|
237
|
+
```
|
55
238
|
|
56
|
-
### Colors
|
57
|
-
TODO
|
58
239
|
|
59
240
|
## Development
|
60
241
|
|
data/Rakefile
CHANGED
data/lib/whoop/version.rb
CHANGED
data/lib/whoop.rb
CHANGED
@@ -30,6 +30,9 @@ module Whoop
|
|
30
30
|
FORMATS = %i[plain json sql].freeze
|
31
31
|
PATTERN = "-"
|
32
32
|
COUNT = 80
|
33
|
+
INDENT = "┆"
|
34
|
+
TOP_LINE_CHAR = "┏"
|
35
|
+
BOTTOM_LINE_CHAR = "┗"
|
33
36
|
|
34
37
|
# Log the message to the logger
|
35
38
|
# @param [String] label (optional) - the label or object to log
|
@@ -39,15 +42,34 @@ module Whoop
|
|
39
42
|
# @param [Symbol] format - the format to use for the message (one of :json, :sql, :plain)
|
40
43
|
# @param [Integer] caller_depth - the depth of the caller to use for the source (default: 0)
|
41
44
|
# @param [Boolean] explain - whether to explain the SQL query (default: false)
|
42
|
-
|
45
|
+
# @param [Hash] context - Any additional context you'd like to include in the log
|
46
|
+
def whoop(
|
47
|
+
label = nil,
|
48
|
+
pattern: PATTERN,
|
49
|
+
count: COUNT,
|
50
|
+
color: :default,
|
51
|
+
format: :plain,
|
52
|
+
caller_depth: 0,
|
53
|
+
explain: false,
|
54
|
+
context: nil
|
55
|
+
)
|
43
56
|
logger_method = detect_logger_method
|
44
57
|
color_method = detect_color_method(color)
|
45
58
|
formatter_method = detect_formatter_method(format, colorize: color.present?, explain: explain)
|
46
59
|
|
47
60
|
line = pattern * count
|
48
61
|
caller_path = clean_caller_path(caller[caller_depth])
|
49
|
-
caller_path_line = ["source:".colorize(:light_black).underline, caller_path].join(" ")
|
50
|
-
timestamp_line = ["timestamp:".colorize(:light_black).underline, Time.now].join(" ")
|
62
|
+
caller_path_line = [color_method.call(INDENT), "source:".colorize(:light_black).underline, caller_path].join(" ")
|
63
|
+
timestamp_line = [color_method.call(INDENT), "timestamp:".colorize(:light_black).underline, Time.now].join(" ")
|
64
|
+
|
65
|
+
context_lines =
|
66
|
+
if context.is_a?(Hash) && context.keys.length > 0
|
67
|
+
context.map do |k, v|
|
68
|
+
[color_method.call(INDENT), "#{k}:".colorize(:light_black).underline, v].join(" ")
|
69
|
+
end
|
70
|
+
else
|
71
|
+
[]
|
72
|
+
end
|
51
73
|
|
52
74
|
if block_given?
|
53
75
|
result = yield
|
@@ -58,21 +80,25 @@ module Whoop
|
|
58
80
|
pattern * count
|
59
81
|
end
|
60
82
|
result.tap do
|
61
|
-
logger_method.call color_method.call "\n\n#{top_line}"
|
83
|
+
logger_method.call color_method.call "\n\n#{TOP_LINE_CHAR}#{top_line}"
|
62
84
|
logger_method.call timestamp_line
|
63
85
|
logger_method.call caller_path_line
|
86
|
+
context_lines.each { |l| logger_method.call l }
|
64
87
|
logger_method.call ""
|
65
88
|
logger_method.call formatter_method.call(result)
|
66
|
-
logger_method.call
|
89
|
+
logger_method.call ""
|
90
|
+
logger_method.call color_method.call "#{BOTTOM_LINE_CHAR}#{line}\n\n"
|
67
91
|
end
|
68
92
|
else
|
69
93
|
tap do
|
70
|
-
logger_method.call color_method.call "\n\n#{line}"
|
94
|
+
logger_method.call color_method.call "\n\n#{TOP_LINE_CHAR}#{line}"
|
71
95
|
logger_method.call timestamp_line
|
72
96
|
logger_method.call caller_path_line
|
97
|
+
context_lines.each { |l| logger_method.call l }
|
73
98
|
logger_method.call ""
|
74
99
|
logger_method.call formatter_method.call(label)
|
75
|
-
logger_method.call
|
100
|
+
logger_method.call ""
|
101
|
+
logger_method.call color_method.call "#{BOTTOM_LINE_CHAR}#{line}\n\n"
|
76
102
|
end
|
77
103
|
end
|
78
104
|
end
|
data/sig/whoop.rbs
CHANGED
@@ -5,17 +5,18 @@
|
|
5
5
|
module Whoop
|
6
6
|
VERSION: untyped
|
7
7
|
|
8
|
-
# sord
|
8
|
+
# sord omit - no YARD return type given, using untyped
|
9
9
|
# Configure the logger
|
10
|
-
|
11
|
-
# _@return_ — The configuration object
|
12
|
-
def self.setup: () -> Whoop::Configuration
|
10
|
+
def self.setup: () -> untyped
|
13
11
|
|
14
12
|
module Main
|
15
13
|
COLORS: untyped
|
16
14
|
FORMATS: untyped
|
17
15
|
PATTERN: untyped
|
18
16
|
COUNT: untyped
|
17
|
+
INDENT: untyped
|
18
|
+
TOP_LINE_CHAR: untyped
|
19
|
+
BOTTOM_LINE_CHAR: untyped
|
19
20
|
|
20
21
|
# sord omit - no YARD return type given, using untyped
|
21
22
|
# Log the message to the logger
|
@@ -33,6 +34,8 @@ module Whoop
|
|
33
34
|
# _@param_ `caller_depth` — - the depth of the caller to use for the source (default: 0)
|
34
35
|
#
|
35
36
|
# _@param_ `explain` — - whether to explain the SQL query (default: false)
|
37
|
+
#
|
38
|
+
# _@param_ `context` — - Any additional context you'd like to include in the log
|
36
39
|
def whoop: (
|
37
40
|
?String? label,
|
38
41
|
?pattern: String,
|
@@ -40,7 +43,8 @@ module Whoop
|
|
40
43
|
?color: Symbol,
|
41
44
|
?format: Symbol,
|
42
45
|
?caller_depth: Integer,
|
43
|
-
?explain: bool
|
46
|
+
?explain: bool,
|
47
|
+
?context: ::Hash[untyped, untyped]?
|
44
48
|
) -> untyped
|
45
49
|
|
46
50
|
# Remove the Rails.root from the caller path
|
data/whoop.gemspec
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/whoop/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "whoop"
|
7
|
+
spec.version = Whoop::VERSION
|
8
|
+
spec.authors = ["Eric Berry"]
|
9
|
+
spec.email = ["eric@berry.sh"]
|
10
|
+
|
11
|
+
spec.summary = "A simple gem to help you whoop your logs into shape."
|
12
|
+
spec.description = spec.summary
|
13
|
+
spec.homepage = "https://github.com/coderberry/whoop"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = ">= 2.6.0"
|
16
|
+
|
17
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
18
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
19
|
+
spec.metadata["changelog_uri"] = spec.homepage
|
20
|
+
|
21
|
+
# Specify which files should be added to the gem when it is released.
|
22
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
23
|
+
spec.files = Dir.chdir(__dir__) do
|
24
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
25
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
26
|
+
end
|
27
|
+
end
|
28
|
+
spec.bindir = "exe"
|
29
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
30
|
+
spec.require_paths = ["lib"]
|
31
|
+
|
32
|
+
spec.add_dependency "activerecord", ">= 6.1.4"
|
33
|
+
spec.add_dependency "activesupport", ">= 6.1.4"
|
34
|
+
spec.add_dependency "anbt-sql-formatter"
|
35
|
+
spec.add_dependency "colorize"
|
36
|
+
spec.add_dependency "rouge"
|
37
|
+
|
38
|
+
spec.add_development_dependency "magic_frozen_string_literal"
|
39
|
+
spec.add_development_dependency "pry-byebug"
|
40
|
+
spec.add_development_dependency "rspec"
|
41
|
+
spec.add_development_dependency "rake"
|
42
|
+
spec.add_development_dependency "standard"
|
43
|
+
spec.add_development_dependency "bump"
|
44
|
+
spec.add_development_dependency "sord"
|
45
|
+
spec.add_development_dependency "simplecov"
|
46
|
+
spec.add_development_dependency "codecov"
|
47
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whoop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Berry
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.1.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 6.1.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 6.1.4
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 6.1.4
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: anbt-sql-formatter
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +178,34 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: simplecov
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: codecov
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
181
209
|
description: A simple gem to help you whoop your logs into shape.
|
182
210
|
email:
|
183
211
|
- eric@berry.sh
|
@@ -194,17 +222,16 @@ files:
|
|
194
222
|
- LICENSE.txt
|
195
223
|
- README.md
|
196
224
|
- Rakefile
|
197
|
-
- cc-test-reporter
|
198
225
|
- lib/whoop.rb
|
199
226
|
- lib/whoop/formatters/json_formatter.rb
|
200
227
|
- lib/whoop/formatters/sql_formatter.rb
|
201
228
|
- lib/whoop/version.rb
|
202
229
|
- sig/whoop.rbs
|
230
|
+
- whoop.gemspec
|
203
231
|
homepage: https://github.com/coderberry/whoop
|
204
232
|
licenses:
|
205
233
|
- MIT
|
206
234
|
metadata:
|
207
|
-
allowed_push_host: https://rubygems.org
|
208
235
|
homepage_uri: https://github.com/coderberry/whoop
|
209
236
|
source_code_uri: https://github.com/coderberry/whoop
|
210
237
|
changelog_uri: https://github.com/coderberry/whoop
|
data/cc-test-reporter
DELETED
Binary file
|