elapsed 0.2.1 → 0.2.2

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: f377e3a999a15948173fbf78292c28103649fbd064de0b515726ab7eeb18b05c
4
- data.tar.gz: 3eb7dc7128b7d95f95488a2fe432eda853f628245a10dbf6b4f36cbb4d3b5324
3
+ metadata.gz: 7ab0d9b705b74c441eef63687e672e69b510fc5cbfa7bb4991a750f8ad425c41
4
+ data.tar.gz: a259442225df1d9e5fcca5fab34454c7f671fd6c4e87c4636f715e904c13bb5a
5
5
  SHA512:
6
- metadata.gz: f76f1974797b4f255ca3866da6bd493d0764592e69f7ffc4a7706b071dd322c6929ba0e652cf34070dce025f0090b68c249b238269d380924a399cc6a819d8d5
7
- data.tar.gz: 1b299c8f3a9cb2453eff0c5db6d36b8bf5c5f506fe9cd2b7d602be2560c1171028e9e7fd2488b3e0e25107437ff4ff6cf2299a4529a7861a3bb9645c7d7ac349
6
+ metadata.gz: 7ab0513faf244c4f4c88f0529dfcb79d7909e9a33c37345e18fa1413c4e62be24a13ace917f21a2b7eb31acd7543f1031c1fff52c5ddff3e968e1828dbd362f9
7
+ data.tar.gz: 856f0965f4c08301e0e42d2eacb165d4eb19b4c5c8b8672435c82813ceb3301e72575a1d40ddbf74defe3af2502835a61736c34e3b1729b89b0d017e9944a96e
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2026 Yegor Bugayenko
4
4
  # SPDX-License-Identifier: MIT
5
5
 
6
6
  source 'https://rubygems.org'
@@ -9,7 +9,7 @@ gemspec
9
9
  gem 'minitest', '~>6.0', require: false
10
10
  gem 'minitest-reporters', '~>1.7', require: false
11
11
  gem 'rake', '~>13.2', require: false
12
- gem 'rdoc', '~>6.0', require: false
12
+ gem 'rdoc', '~>7.0', require: false
13
13
  gem 'rubocop', '~>1.69', require: false
14
14
  gem 'rubocop-minitest', '~>0.38', require: false
15
15
  gem 'rubocop-performance', '~>1.25', require: false
data/Gemfile.lock CHANGED
@@ -20,7 +20,7 @@ GEM
20
20
  logger (1.7.0)
21
21
  loog (0.6.1)
22
22
  logger (~> 1.0)
23
- minitest (6.0.0)
23
+ minitest (6.0.1)
24
24
  prism (~> 1.5)
25
25
  minitest-reporters (1.7.1)
26
26
  ansi
@@ -38,13 +38,13 @@ GEM
38
38
  racc (1.8.1)
39
39
  rainbow (3.1.1)
40
40
  rake (13.3.1)
41
- rdoc (6.17.0)
41
+ rdoc (7.0.3)
42
42
  erb
43
43
  psych (>= 4.0.0)
44
44
  tsort
45
45
  regexp_parser (2.11.3)
46
46
  rexml (3.4.4)
47
- rubocop (1.82.0)
47
+ rubocop (1.82.1)
48
48
  json (~> 2.3)
49
49
  language_server-protocol (~> 3.17.0.2)
50
50
  lint_roller (~> 1.1.0)
@@ -102,7 +102,7 @@ DEPENDENCIES
102
102
  minitest (~> 6.0)
103
103
  minitest-reporters (~> 1.7)
104
104
  rake (~> 13.2)
105
- rdoc (~> 6.0)
105
+ rdoc (~> 7.0)
106
106
  rubocop (~> 1.69)
107
107
  rubocop-minitest (~> 0.38)
108
108
  rubocop-performance (~> 1.25)
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2024-2025 Yegor Bugayenko
3
+ Copyright (c) 2024-2026 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/LICENSES/MIT.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2024-2025 Yegor Bugayenko
3
+ Copyright (c) 2024-2026 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2026 Yegor Bugayenko
4
4
  # SPDX-License-Identifier: MIT
5
5
 
6
6
  require 'rubygems'
data/elapsed.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2026 Yegor Bugayenko
4
4
  # SPDX-License-Identifier: MIT
5
5
 
6
6
  require 'English'
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
10
10
  s.required_ruby_version = '>=3.2'
11
11
  s.name = 'elapsed'
12
- s.version = '0.2.1'
12
+ s.version = '0.2.2'
13
13
  s.license = 'MIT'
14
14
  s.summary = 'A simple Ruby function to measure the time elapsed by the execution of a block'
15
15
  s.description =
data/lib/elapsed.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
3
+ # SPDX-FileCopyrightText: Copyright (c) 2024-2026 Yegor Bugayenko
4
4
  # SPDX-License-Identifier: MIT
5
5
 
6
6
  require 'logger'
@@ -16,7 +16,7 @@ require 'tago'
16
16
  # end
17
17
  #
18
18
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
19
- # Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
19
+ # Copyright:: Copyright (c) 2024-2026 Yegor Bugayenko
20
20
  # License:: MIT
21
21
  #
22
22
  # @param [Object] log The log to send .debug() to
@@ -45,16 +45,22 @@ def elapsed(log = nil, good: 'Finished', level: Logger::DEBUG, bad: 'Failed', ov
45
45
  raise "The log doesn't accept any logging requests"
46
46
  end
47
47
  end
48
+ done = false
48
49
  begin
49
50
  ret = yield
51
+ done = true
50
52
  print_it.call(good.to_s)
51
53
  ret
52
54
  rescue UncaughtThrowError => e
55
+ done = true
53
56
  tag = e.tag
54
57
  throw e unless tag.is_a?(Symbol)
55
58
  print_it.call(tag.to_s)
56
59
  rescue StandardError => e
60
+ done = true
57
61
  print_it.call(bad.to_s)
58
62
  raise e
63
+ ensure
64
+ print_it.call(good.to_s) unless done
59
65
  end
60
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elapsed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko