debugtrace 0.2.7 → 0.3.0

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: 4ba0b48484b98dad04cefc154c88afc5e82e88d551ab00d81dd3ddbe323a0e7a
4
- data.tar.gz: 6f858f96393d92d0b13f4ec5f34877d9d48623990d0251cd8c6c0f81d6616c1c
3
+ metadata.gz: d449ce280e070de6b2606264a7df4247bf2949788dbcf9e537b8ca7191cd91ba
4
+ data.tar.gz: 347ca320e082e30a706b8309cdb86876daa4779c7d0be8179576856c6d7a58e0
5
5
  SHA512:
6
- metadata.gz: 55d162f057c2686e1c350caac7c3b4a48f493d04b344711ea2beb8c5a995ff9066334c845fc58e0d6a82dee76d17cfe001f22a74f76d47841b8ad076877a6e61
7
- data.tar.gz: ce01d78482c3fa14a84f21b8d7b7f68a5ffe2efd3dee453d5ae622256818509b4ec7b9df037f121e8caaf032dfe84a10ee3ea205e4b2793877a222a3b7395c1e
6
+ metadata.gz: f35b455465fa17bef9ce031a122d9f9695384a746c9eca1cbd8d838829f6837a010661e1594c62a58912d182d75144505cf935e37eaf4dfb5edef368c7554818
7
+ data.tar.gz: 07af66161e9949dad056316a405607ad435c115a65d46c6b33bc46196aebbf563b94345f92c29fa03b36a788929430a525ff90a87bb3de2e9558dd0846be4ac5
data/debugtrace.yml ADDED
@@ -0,0 +1,2 @@
1
+ logger: file
2
+ log_path: logs/debugtrace.log
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # common.rb
2
3
  # (C) 2025 Masato Kokubo
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # config.rb
2
3
  # (C) 2025 Masato Kokubo
3
4
  require 'yaml'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # log_buffer.rb
2
3
  # (C) 2025 Masato Kokubo
3
4
  require_relative 'common'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # loggers.rb
2
3
  # (C) 2023 Masato Kokubo
3
4
  require 'logger'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # state.rb
2
3
  # (C) 2025 Masato Kokubo
3
4
  require_relative 'common'
@@ -1,6 +1,6 @@
1
- # (C) 2025 Masato Kokubo
2
1
  # frozen_string_literal: true
2
+ # (C) 2025 Masato Kokubo
3
3
 
4
4
  module DebugTrace
5
- VERSION = '0.2.7'
5
+ VERSION = '0.3.0'
6
6
  end
data/lib/debugtrace.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  # debugtrace.rb
2
3
  # (C) 2025 Masato Kokubo
3
4
  require 'logger'
5
+ require 'set'
6
+ require 'date'
4
7
 
5
8
  # Require necessary files
6
9
  require_relative 'debugtrace/version'
@@ -195,8 +198,7 @@ module DebugTrace
195
198
  # @param value [String] the value
196
199
  # @param print_options [PrintOptions] the print options
197
200
  def self.to_string_str(value, print_options)
198
- has_single_quote = false
199
- has_double_quote = false
201
+ double_quote = false
200
202
  single_quote_buff = LogBuffer.new(@@config.maximum_data_output_width)
201
203
  double_quote_buff = LogBuffer.new(@@config.maximum_data_output_width)
202
204
 
@@ -217,30 +219,28 @@ module DebugTrace
217
219
  end
218
220
  case char
219
221
  when "'"
220
- single_quote_buff.no_break_append("\\'")
222
+ double_quote = true
221
223
  double_quote_buff.no_break_append(char)
222
- has_single_quote = true
223
224
  when '"'
224
225
  single_quote_buff.no_break_append(char)
225
226
  double_quote_buff.no_break_append("\\\"")
226
- has_double_quote = true
227
227
  when "\\"
228
- single_quote_buff.no_break_append("\\\\")
228
+ double_quote = true
229
229
  double_quote_buff.no_break_append("\\\\")
230
230
  when "\n"
231
- single_quote_buff.no_break_append("\\n")
231
+ double_quote = true
232
232
  double_quote_buff.no_break_append("\\n")
233
233
  when "\r"
234
- single_quote_buff.no_break_append("\\r")
234
+ double_quote = true
235
235
  double_quote_buff.no_break_append("\\r")
236
236
  when "\t"
237
- single_quote_buff.no_break_append("\\t")
237
+ double_quote = true
238
238
  double_quote_buff.no_break_append("\\t")
239
239
  else
240
240
  char_ord = char.ord
241
241
  if char_ord >= 0x00 && char_ord <= 0x1F || char_ord == 0x7F
242
+ double_quote = true
242
243
  num_str = format('%02X', char_ord)
243
- single_quote_buff.no_break_append("\\x" + num_str)
244
244
  double_quote_buff.no_break_append("\\x" + num_str)
245
245
  else
246
246
  single_quote_buff.no_break_append(char)
@@ -253,7 +253,7 @@ module DebugTrace
253
253
  double_quote_buff.no_break_append('"')
254
254
  single_quote_buff.no_break_append("'")
255
255
 
256
- return has_single_quote && !has_double_quote ? double_quote_buff : single_quote_buff
256
+ return double_quote ? double_quote_buff : single_quote_buff
257
257
  end
258
258
 
259
259
  # Returns a string representation of the string value which encoding is ASCII_8BIT.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: debugtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masato Kokubo
@@ -23,6 +23,7 @@ files:
23
23
  - LICENSE
24
24
  - README.md
25
25
  - Rakefile
26
+ - debugtrace.yml
26
27
  - lib/debugtrace.rb
27
28
  - lib/debugtrace/common.rb
28
29
  - lib/debugtrace/config.rb