console 1.25.2 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 30f75a3ad0397c231c81b3b65e6fe073975fb39d482d81f0150b469b2aa1b24b
4
- data.tar.gz: 7fe4d7597690387a1a9081e2f6826a1bb7d292fc05e8f4ae83151c0130b76eb9
3
+ metadata.gz: 93187d6e4774eecaad627306d33a5f38bad4e123e029587d7f142a1265de6ec6
4
+ data.tar.gz: 9a5015df0b90995173414eecd2b5b6bff60fe07129db4089cad9c86bdbf1e84f
5
5
  SHA512:
6
- metadata.gz: 803ae3060f14047f2b05732158fbdd9c74cfa7a8db347c2bb9e6a4cec80ddaea2361b4e20a107ff817a502b0bfaf3b1a5c7068e33a931119fd2c0038e181dde4
7
- data.tar.gz: 5fb29d841c4e7344573e43e9a974e91a6824905c4f8205e7ccd368830fd0edacc662b637664719b8fbf6775b32409bc25301ae4993287feee9869147cc3b8147
6
+ metadata.gz: d1bc5192624a8c15f464ceac4c5b7f6b3d4340df8a75aff4f5e20b6b42d340872135538b5abb4dd8a2e34f57048536898dee9e07a2c1a0e2e819a1c34b259cc5
7
+ data.tar.gz: d61a670deecf0418cd09ed9f1a4d800d2dd5d7b41bd02b3ce2aaa410b27178e62bb7071106a4d7ae89c57fcc4aeadd9ce478a37a1a7859bd20ac00c76c7e1c43
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,27 +9,45 @@ module Console
9
9
  # A general sink which captures all events into a buffer.
10
10
  class Capture
11
11
  def initialize
12
- @buffer = []
12
+ @records = []
13
13
  @verbose = false
14
14
  end
15
15
 
16
- attr :buffer
16
+ attr :records
17
+
18
+ # @deprecated Use {#records} instead of {#buffer}.
19
+ alias buffer records
20
+
21
+ alias to_a records
22
+
17
23
  attr :verbose
18
24
 
19
- def last
20
- @buffer.last
25
+ def include?(pattern)
26
+ @records.any? do |record|
27
+ record[:subject].to_s&.match?(pattern) or record[:message].to_s&.match?(pattern)
28
+ end
21
29
  end
22
30
 
23
- def include?(pattern)
24
- JSON.dump(@buffer).include?(pattern)
31
+ def each(&block)
32
+ @records.each(&block)
33
+ end
34
+
35
+ include Enumerable
36
+
37
+ def first
38
+ @records.first
39
+ end
40
+
41
+ def last
42
+ @records.last
25
43
  end
26
44
 
27
45
  def clear
28
- @buffer.clear
46
+ @records.clear
29
47
  end
30
48
 
31
49
  def empty?
32
- @buffer.empty?
50
+ @records.empty?
33
51
  end
34
52
 
35
53
  def verbose!(value = true)
@@ -41,39 +59,41 @@ module Console
41
59
  end
42
60
 
43
61
  def call(subject = nil, *arguments, severity: UNKNOWN, event: nil, **options, &block)
44
- message = {
62
+ record = {
45
63
  time: ::Time.now.iso8601,
46
64
  severity: severity,
47
65
  **options,
48
66
  }
49
67
 
50
68
  if subject
51
- message[:subject] = subject
69
+ record[:subject] = subject
52
70
  end
53
71
 
54
72
  if event
55
- message[:event] = event.to_hash
73
+ record[:event] = event.to_hash
56
74
  end
57
75
 
58
76
  if arguments.any?
59
- message[:arguments] = arguments
77
+ record[:arguments] = arguments
60
78
  end
61
79
 
62
80
  if annotation = Fiber.current.annotation
63
- message[:annotation] = annotation
81
+ record[:annotation] = annotation
64
82
  end
65
83
 
66
84
  if block_given?
67
85
  if block.arity.zero?
68
- message[:message] = yield
86
+ record[:message] = yield
69
87
  else
70
88
  buffer = StringIO.new
71
89
  yield buffer
72
- message[:message] = buffer.string
90
+ record[:message] = buffer.string
73
91
  end
92
+ else
93
+ record[:message] = arguments.join(" ")
74
94
  end
75
95
 
76
- @buffer << message
96
+ @records << record
77
97
  end
78
98
  end
79
99
  end
@@ -3,6 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
  # Copyright, 2021, by Robert Schulze.
6
+ # Copyright, 2024, by Patrik Wenger.
6
7
 
7
8
  require_relative 'generic'
8
9
 
@@ -27,7 +28,9 @@ module Console
27
28
  def self.log(subject, exception, **options)
28
29
  Console.error(subject, **self.for(exception).to_hash, **options)
29
30
  end
30
-
31
+
32
+ attr_reader :exception
33
+
31
34
  def initialize(exception, root = Dir.getwd)
32
35
  @exception = exception
33
36
  @root = root
@@ -9,7 +9,7 @@ module Console
9
9
  module Output
10
10
  class Sensitive < Wrapper
11
11
  REDACT = /
12
- phone
12
+ phone
13
13
  | email
14
14
  | full_?name
15
15
  | first_?name
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2024, by Samuel Williams.
4
+ # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
6
  module Console
7
7
  module Terminal
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
6
  module Console
7
- VERSION = "1.25.2"
7
+ VERSION = "1.27.0"
8
8
  end
data/license.md CHANGED
@@ -10,6 +10,7 @@ Copyright, 2021, by Robert Schulze.
10
10
  Copyright, 2022, by Anton Sozontov.
11
11
  Copyright, 2022, by William T. Nelson.
12
12
  Copyright, 2023, by Felix Yan.
13
+ Copyright, 2024, by Patrik Wenger.
13
14
 
14
15
  Permission is hereby granted, free of charge, to any person obtaining a copy
15
16
  of this software and associated documentation files (the "Software"), to deal
data/readme.md CHANGED
@@ -38,14 +38,15 @@ We welcome contributions to this project.
38
38
 
39
39
  ### Developer Certificate of Origin
40
40
 
41
- This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.
41
+ In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
42
42
 
43
- ### Contributor Covenant
43
+ ### Community Guidelines
44
44
 
45
- This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
45
+ This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
46
46
 
47
47
  ## See Also
48
48
 
49
49
  - [console-adapter-rails](https://github.com/socketry/console-adapter-rails)
50
50
  - [console-adapter-sidekiq](https://github.com/socketry/console-adapter-sidekiq)
51
51
  - [console-output-datadog](https://github.com/socketry/console-output-datadog)
52
+ - [sus-fixtures-console](https://github.com/sus-rb/sus-fixtures-console)
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: console
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.2
4
+ version: 1.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -13,6 +13,7 @@ authors:
13
13
  - Cédric Boutillier
14
14
  - Felix Yan
15
15
  - Olle Jonsson
16
+ - Patrik Wenger
16
17
  - William T. Nelson
17
18
  autorequire:
18
19
  bindir: bin
@@ -46,7 +47,7 @@ cert_chain:
46
47
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
47
48
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
48
49
  -----END CERTIFICATE-----
49
- date: 2024-05-04 00:00:00.000000000 Z
50
+ date: 2024-07-18 00:00:00.000000000 Z
50
51
  dependencies:
51
52
  - !ruby/object:Gem::Dependency
52
53
  name: fiber-annotation
@@ -149,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
150
  - !ruby/object:Gem::Version
150
151
  version: '0'
151
152
  requirements: []
152
- rubygems_version: 3.5.3
153
+ rubygems_version: 3.5.11
153
154
  signing_key:
154
155
  specification_version: 4
155
156
  summary: Beautiful logging for Ruby.
metadata.gz.sig CHANGED
Binary file