isodoc 3.1.5 → 3.1.6

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: aab1e285713806592294433b8009ca144fe193d9a0f43019448580c8fbe1dd9d
4
- data.tar.gz: 58fc680a7a698f4f714a1c9577e7d0f48c382ccadc720b2c588fe870dc643273
3
+ metadata.gz: c9537662f7ab02f4c50797c307b3f0ed4ae1f1d1627b70e3bd61f58bdfc9d30c
4
+ data.tar.gz: a9582a5ba998a8807e6da33a908be1523a362d8be41dd4964efea3263d07a7cf
5
5
  SHA512:
6
- metadata.gz: 0fb892bcc672a38de31ab3d6fc9a3e3088d8c4ebba8c46010167a0646284747fca650de1c48c39b07b7177e7674494a05273d63204f4c0702b15a9dc09fe8c2b
7
- data.tar.gz: ad8a5996bef31064b9b2fda5245f32caa2c16378468ba36bdf96933fe84c67ec6f0220907a1cde46e571d240dfc866d4363f9712b83c6544c923bea5087ae1a7
6
+ metadata.gz: cea0eec386e6300c4b993d54b81f634625973a92363effaba6ca5ebcc62bf9f9bb847a714264b4909bd001020ea0ed47bf5503f494860b6af9b9ec83482ea9ab
7
+ data.tar.gz: 61678783412c3bc1fd6525dd656750f152eb18868cb4beabbf24ad963a63176b86fe90889844e6b3527cbc47637d49c51e03982991911f222acf8505277484b8
@@ -52,10 +52,32 @@ module IsoDoc
52
52
 
53
53
  def numberformat_extract(options)
54
54
  options.gsub!(/([a-z_]+)='/, %('\\1=))
55
- CSV.parse_line(options, quote_char: "'").each_with_object({}) do |x, acc|
55
+
56
+ # Temporarily replace commas inside quotes with a placeholder
57
+ processed = ""
58
+ in_quotes = false
59
+ placeholder = "##COMMA##"
60
+
61
+ options.each_char do |c|
62
+ if c == "'"
63
+ in_quotes = !in_quotes
64
+ end
65
+
66
+ if c == ',' && in_quotes
67
+ processed << placeholder
68
+ else
69
+ processed << c
70
+ end
71
+ end
72
+
73
+ result = CSV.parse_line(processed, quote_char: "'").each_with_object({}) do |x, acc|
74
+ # Restore commas from placeholders
75
+ x.gsub!(placeholder, ',')
56
76
  m = /^(.+?)=(.+)?$/.match(x) or next
57
77
  acc[m[1].to_sym] = m[2].sub(/^(["'])(.+)\1$/, "\\2")
58
78
  end
79
+
80
+ result
59
81
  end
60
82
 
61
83
  def numberformat_type(ret)
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "3.1.5".freeze
2
+ VERSION = "3.1.6".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.5
4
+ version: 3.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-14 00:00:00.000000000 Z
11
+ date: 2025-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64