console 1.25.2 → 1.26.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: ea53f121a472d6011335a91ac4a96f4f3630c4524b1158166be906a51e4dd186
4
+ data.tar.gz: 20cdb45a16606315c9a0e054fb9e3460698e6fcccd190bd7668902f179c7b5fa
5
5
  SHA512:
6
- metadata.gz: 803ae3060f14047f2b05732158fbdd9c74cfa7a8db347c2bb9e6a4cec80ddaea2361b4e20a107ff817a502b0bfaf3b1a5c7068e33a931119fd2c0038e181dde4
7
- data.tar.gz: 5fb29d841c4e7344573e43e9a974e91a6824905c4f8205e7ccd368830fd0edacc662b637664719b8fbf6775b32409bc25301ae4993287feee9869147cc3b8147
6
+ metadata.gz: 42748b35f41a887222716d8bd0b9e55f92a5506f31fa7cb0a3e5ac5155341c55d6ca2849745b77d568b7b11e3d79faf0193377b9547fce98c5c16ca1043f9222
7
+ data.tar.gz: de9535e3fb41fcce945512f9d482329cfc695888c43da753d1f7c392e074e4b4b1e6584fbfd1c39b4851c25f00563b1e0ee3efbd5240294649ff4dc68519483d
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
@@ -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.26.0"
8
8
  end
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.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -46,7 +46,7 @@ cert_chain:
46
46
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
47
47
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
48
48
  -----END CERTIFICATE-----
49
- date: 2024-05-04 00:00:00.000000000 Z
49
+ date: 2024-07-17 00:00:00.000000000 Z
50
50
  dependencies:
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: fiber-annotation
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
151
  requirements: []
152
- rubygems_version: 3.5.3
152
+ rubygems_version: 3.5.11
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: Beautiful logging for Ruby.
metadata.gz.sig CHANGED
Binary file