logbrew-sdk 0.1.14 → 0.1.15

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: ba29c0ee35c6f7287dbdeadcc2f215b32270218de626d2338de40d8082be04a4
4
- data.tar.gz: efade8df92a9d851cf9fce4f482ff632a50bcc79038157b048cdb792e6a4fb30
3
+ metadata.gz: 0f1a43a336fe87e460238a865dd71006b99975d8dda5eea4556d3b7857ce7b8e
4
+ data.tar.gz: 6900c3207bebf800d0c41f9fb6784af6a5051f6afa2a6bf586f8ff5c9eef49f4
5
5
  SHA512:
6
- metadata.gz: a2e498a092d5cbaa2f09b7b9be07112e7656e33df61f73614c09cd4cd1d8d7830d3dd24b6daf1169c834847415acc19898cc0c994ca6bb6a47c972a612e13395
7
- data.tar.gz: 62b25847c01ab391d7122aca956e8b591961cb2a2020b2af837d75d65c2ae508955c088663b0d78d70e0597d99f97efd0e786bc428227a3180c975567ae64a44
6
+ metadata.gz: b8249769684d6d9ed2177867a5cde11f1f7ca977218c9d4b2d2d43704d54e0c38e0d0d1307f271f72003db5d2e8cb3c55094c34fcb4f940f10794ab92346a069
7
+ data.tar.gz: 972b7ed436cdedf8c29fec9bf75d2a2c0c73cddc5e1d3dbacbf88b7e7c9a9ffc8e6b253b93a975a60d9bca8052c0833bc3adac007ca4a09c0a5aa8a321256198
data/README.md CHANGED
@@ -23,7 +23,7 @@ needed:
23
23
 
24
24
  ```ruby
25
25
  # Gemfile
26
- gem "logbrew-sdk", "~> 0.1.14"
26
+ gem "logbrew-sdk", "~> 0.1.15"
27
27
  ```
28
28
 
29
29
  ```bash
@@ -230,7 +230,9 @@ module LogBrew
230
230
  end
231
231
  return yield if operation.nil?
232
232
 
233
- terminal = terminal_failure?(job["retry"], retry_count)
233
+ terminal = terminal_failure?(
234
+ job["retry"], retry_count, initial_attempt: !job.key?("retry_count")
235
+ )
234
236
  operation.around(terminal_failure: terminal) { yield }
235
237
  end
236
238
 
@@ -364,13 +366,14 @@ module LogBrew
364
366
  value
365
367
  end
366
368
 
367
- def terminal_failure?(retry_setting, retry_count)
369
+ def terminal_failure?(retry_setting, retry_count, initial_attempt:)
368
370
  return false if retry_count.nil?
369
371
  return true if retry_setting == false || retry_setting == 0
370
372
  return false unless retry_setting.nil? || retry_setting == true || retry_setting.is_a?(Integer)
371
373
 
372
374
  limit = retry_setting.is_a?(Integer) ? retry_setting : @max_retries
373
375
  return false if limit.negative?
376
+ return false if initial_attempt && limit.positive?
374
377
 
375
378
  retry_count >= [limit - 1, 0].max
376
379
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LogBrew
4
- VERSION = "0.1.14"
4
+ VERSION = "0.1.15"
5
5
  end
data/lib/logbrew.rb CHANGED
@@ -53,7 +53,15 @@ module LogBrew
53
53
  def capture_safely
54
54
  yield
55
55
  rescue StandardError => error
56
- @on_error.call(error) if @on_error.respond_to?(:call)
56
+ handle_logbrew_error(error)
57
+ end
58
+
59
+ def handle_logbrew_error(error)
60
+ begin
61
+ @on_error.call(error) if @on_error.respond_to?(:call)
62
+ rescue StandardError
63
+ nil
64
+ end
57
65
  raise error if @raise_errors
58
66
  end
59
67
  end
@@ -328,11 +336,6 @@ module LogBrew
328
336
  flush_logbrew if @flush_on_log
329
337
  end
330
338
 
331
- def handle_logbrew_error(error)
332
- @on_error.call(error) if @on_error.respond_to?(:call)
333
- raise error if @raise_errors
334
- end
335
-
336
339
  def logbrew_message(message)
337
340
  return message.message if message.is_a?(Exception)
338
341
  return message if message.is_a?(String)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logbrew-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - LogBrew
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-03 00:00:00.000000000 Z
11
+ date: 2026-10-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Public LogBrew Ruby SDK with typed issue diagnostics, automatic Rails
14
14
  request/error capture, and standard-library delivery.