coaster 1.4.19 → 1.4.21

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: 1166ce74fdb5aee7a841182f54aa3d1fccfba9e2475781d62fde055880daa38f
4
- data.tar.gz: 34880a4034f3c9b84aa0eceac8af15b89bd4130107c58c311e44c87537ec203b
3
+ metadata.gz: 258ae85b591058678b8fe5f8a90d192b28107bff372c9de617bd3cc58b2f9155
4
+ data.tar.gz: aed049451c4152a24c267fb830393e9f42d9385eb04d833886c4171833cb5ed7
5
5
  SHA512:
6
- metadata.gz: 8516ef3644c4eac784bc6994b677c7ccd0cd2ffc3bb4f0c7e51ce7712ea83cfbc40f6de7a1e1c11278c71d1512ace509ce3ebd6081873f137d62d14874fe49f5
7
- data.tar.gz: 140440f93d3bc1bd3800d081cead6a5d5ecb9b51839866da80f62ab66ac2dc39f48b15fd192b80f00e3966ee0820e3dca43b55591aa8e2079bd8b3811a88cd24
6
+ metadata.gz: db0084a113f558becf6823436655f70bec0c96ca36a734acc71513f7a275357450ee31cdbba2eea7affa902f3d5983523777f91c305b36b2057a3c5174cac0d6
7
+ data.tar.gz: 4db2ec5b179e83de513e2ad62de7c38b9960333d50a1088fe5298b2ca2669af32fb1a81f005a4e4b050f0426c4511a46c83cc61d407daba9557247e3cd356366
data/README.md CHANGED
@@ -119,7 +119,7 @@ cleaner(`AcitveSupport::BacktraceCleaner`)는 `StandardError.cleaner=`, `Standar
119
119
  1. `detail_value_proc` 기본값은 `Proc.new{|val| val.inspect}`
120
120
  1. 나머지는 `StandardError.detail_value_simpe`로 처리하며 class name만 사용한다.
121
121
 
122
- ## coaster/rails_ext/backtrace_cleaner
122
+ ## coaster/rails_ext/active_support/backtrace_cleaner
123
123
 
124
124
  [`AcitveSupport::BacktraceCleaner`](https://github.com/rails/rails/blob/main/activesupport/lib/active_support/backtrace_cleaner.rb)에서
125
125
  앞쪽은 `silence!`에서 제외하는(즉 모든 backtrace가 포함되는) 로직이 추가된다.
@@ -1,6 +1,6 @@
1
1
  require 'digest'
2
2
  require 'coaster/core_ext/object_translation'
3
- require 'coaster/rails_ext/backtrace_cleaner'
3
+ require 'coaster/rails_ext/active_support/backtrace_cleaner'
4
4
  require 'pp'
5
5
 
6
6
  class StandardError
@@ -22,7 +22,9 @@ class ActiveSupport::BacktraceCleaner
22
22
  end
23
23
 
24
24
  backtrace = backtrace.to_a
25
- backtrace.insert(minimum_first, 'BacktraceCleaner.minimum_first ... and next silenced backtraces')
25
+ if minimum_first < backtrace.size
26
+ backtrace.insert(minimum_first, 'BacktraceCleaner.minimum_first ... and next silenced backtraces')
27
+ end
26
28
  backtrace
27
29
  end
28
30
  end
@@ -1,4 +1,4 @@
1
- require 'coaster/rails_ext/backtrace_cleaner'
1
+ require 'coaster/rails_ext/active_support/backtrace_cleaner'
2
2
  ActiveSupport.on_load(:active_record, yield: true) do
3
3
  require 'coaster/rails_ext/active_record/errors'
4
4
  end
@@ -92,7 +92,7 @@ module Coaster
92
92
  getter: Proc.new { |val| val.nil? ? nil : Time.zone.parse(val) },
93
93
  setter: Proc.new { |val|
94
94
  if val.is_a?(Time)
95
- val.respond_to?(:to_fs) ? val.to_fs(:default_tz) : val.to_s(:default_tz)
95
+ val.utc.iso8601(6)
96
96
  end
97
97
  },
98
98
  default: default
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.4.19'
2
+ VERSION = '1.4.21'
3
3
  end
@@ -193,6 +193,20 @@ module Coaster
193
193
  raise err
194
194
  end
195
195
  rescue => e
196
+ ih = e.to_inspection_hash
197
+ assert_equal 'Coaster::TestStandardError::ExampleError', ih['type']
198
+ assert_equal 20, ih['status']
199
+ assert_equal 500, ih['http_status']
200
+ assert_equal "Test example error (Coaster::TestStandardError::ExampleError) cause{Test sample error (Coaster::TestStandardError::SampleError)}", ih['message']
201
+ assert ih['instance_variables']['@coaster']
202
+ assert_instance_of Array, ih['backtrace']
203
+ assert_equal 'Coaster::TestStandardError::SampleError', ih['cause']['type']
204
+ assert_equal 10, ih['cause']['status']
205
+ assert_equal 500, ih['cause']['http_status']
206
+ assert_equal "Test sample error (Coaster::TestStandardError::SampleError)", ih['cause']['message']
207
+ assert ih['cause']['instance_variables']['@coaster']
208
+ assert_instance_of Array, ih['cause']['backtrace']
209
+
196
210
  detail = e.to_inspection_s
197
211
  detail_front = <<-LOG
198
212
  [Coaster::TestStandardError::ExampleError] status:20
@@ -316,7 +330,7 @@ LOG
316
330
  assert_equal 'NameError', e.to_hash['type']
317
331
  assert_equal 999999, e.to_hash['status']
318
332
  assert_equal 500, e.to_hash['http_status']
319
- assert_equal "standard error translation (bc1746 #{bt})", e.user_message
333
+ assert_equal "standard error translation (#{e.digest_message} #{bt})", e.user_message
320
334
  assert_match(/undefined local variable or method `aa'/, e.to_hash['message'])
321
335
  end
322
336
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.19
4
+ version: 1.4.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - buzz jung
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
11
+ date: 2025-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -207,7 +207,7 @@ files:
207
207
  - lib/coaster/git/repository.rb
208
208
  - lib/coaster/rails_ext.rb
209
209
  - lib/coaster/rails_ext/active_record/errors.rb
210
- - lib/coaster/rails_ext/backtrace_cleaner.rb
210
+ - lib/coaster/rails_ext/active_support/backtrace_cleaner.rb
211
211
  - lib/coaster/safe_yaml_serializer.rb
212
212
  - lib/coaster/serialized_properties.rb
213
213
  - lib/coaster/util.rb
@@ -233,7 +233,7 @@ licenses:
233
233
  metadata:
234
234
  source_code_uri: https://github.com/frograms/coaster
235
235
  bug_tracker_uri: https://github.com/frograms/coaster/issues
236
- post_install_message:
236
+ post_install_message:
237
237
  rdoc_options: []
238
238
  require_paths:
239
239
  - lib
@@ -249,7 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
249
249
  version: '0'
250
250
  requirements: []
251
251
  rubygems_version: 3.4.19
252
- signing_key:
252
+ signing_key:
253
253
  specification_version: 4
254
254
  summary: A little convenient feature for standard library
255
255
  test_files: