refinements 11.1.3 → 12.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3abadfec48a3ef48adc2130ab1e9a451fd27cacbb7e5c18c8332757e5db91937
4
- data.tar.gz: fa754c6b2c1a19e214edce661a362e93f521381e1ab1fb8f1ebd99fbbca0b13f
3
+ metadata.gz: 47bc3f7ccc3358f2f2d4e460f54cfca8df6d61591c23ffcc045f25553a8042fb
4
+ data.tar.gz: e2a45a52cacf3f25d0669fbc26a1c7c6fd910ffde9b99a5f492288da1578ede4
5
5
  SHA512:
6
- metadata.gz: 67c3fb92363ce57b335c74ad29f492eeb634504fb8ba3a97b1374c3fe4cf4a7fb9ed1b274273640e5dac6f9d146753c9df79b4cc90156c089b2e3fba3d005a16
7
- data.tar.gz: 4a1d3d5533fe0c76efddd34120066a559835394cf471577b539ef9450a5557243de47647968be6dfb78f6cb19e44fd5cc05a4059be51881c7da6d6932575d9dc
6
+ metadata.gz: 0613be51ea01d39789f44b5e7a7b1ee2b2d51ecd99e8060127a2e27b0273fc33f68537ac811a9f6b3f1a1caa927ecca9647c1d0b8a3bc951b02930373dc06d94
7
+ data.tar.gz: efddb442981da3c05360993f25d87cbbe4dff0d783f94414e80f83b6856877ed1500bb90fd999d60ed6cb00769abea00e291308b4afefd943b9a04de5d7e532c
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -13,7 +13,6 @@ toc::[]
13
13
  Enhances the following objects:
14
14
 
15
15
  * Array
16
- * BigDecimal
17
16
  * Data
18
17
  * DateTime
19
18
  * Hash
@@ -23,7 +22,7 @@ Enhances the following objects:
23
22
  * Pathname
24
23
  * String
25
24
  * StringIO
26
- * Structs
25
+ * Struct
27
26
 
28
27
  == Requirements
29
28
 
@@ -77,19 +76,18 @@ gem "refinements", require: false
77
76
 
78
77
  [source,ruby]
79
78
  ----
80
- require "refinements/arrays"
81
- require "refinements/big_decimals"
79
+ require "refinements/array"
82
80
  require "refinements/data"
83
- require "refinements/date_times"
84
- require "refinements/hashes"
85
- require "refinements/ios"
86
- require "refinements/pathnames"
87
- require "refinements/strings"
88
- require "refinements/string_ios"
89
- require "refinements/structs"
90
- require "refinements/symbols"
91
- require "refinements/log_devices"
92
- require "refinements/loggers"
81
+ require "refinements/date_time"
82
+ require "refinements/hash"
83
+ require "refinements/io"
84
+ require "refinements/log_device"
85
+ require "refinements/logger"
86
+ require "refinements/pathname"
87
+ require "refinements/string"
88
+ require "refinements/string_io"
89
+ require "refinements/struct"
90
+ require "refinements/symbol"
93
91
  ----
94
92
 
95
93
  === Using
@@ -100,19 +98,18 @@ refinement(s):
100
98
  [source,ruby]
101
99
  ----
102
100
  class Example
103
- using Refinements::Arrays
104
- using Refinements::BigDecimals
101
+ using Refinements::Array
105
102
  using Refinements::Data
106
- using Refinements::DateTimes
107
- using Refinements::Hashes
108
- using Refinements::IOs
109
- using Refinements::Pathnames
110
- using Refinements::Strings
111
- using Refinements::StringIOs
112
- using Refinements::Structs
113
- using Refinements::Symbols
114
- using Refinements::LogDevices
115
- using Refinements::Loggers
103
+ using Refinements::DateTime
104
+ using Refinements::Hash
105
+ using Refinements::IO
106
+ using Refinements::LogDevice
107
+ using Refinements::Logger
108
+ using Refinements::Pathname
109
+ using Refinements::String
110
+ using Refinements::StringIO
111
+ using Refinements::Struct
112
+ using Refinements::Symbol
116
113
  end
117
114
  ----
118
115
 
@@ -280,9 +277,9 @@ needs to be a specific size with padded values.
280
277
 
281
278
  [source,ruby]
282
279
  ----
283
- [1].pad 0 # [1]
284
- [1].pad 0, max: 3 # [1, 0, 0]
285
- [1, 2].pad 3, max: 3 # [1, 2, 3]
280
+ ["a"].pad 0 # ["a"]
281
+ ["a"].pad "-", 3 # ["a", "-", "-"]
282
+ %w[a b].pad "-", 3 # ["a", "b", "-"]
286
283
  ----
287
284
 
288
285
  ===== #pick
@@ -393,17 +390,6 @@ Builds upon and enhances `#to_sentence` further by answering a sentence which al
393
390
  %w[eins zwei drei].to_usage "und", delimiter: " " # "\"eins\" \"zwei\" und \"drei\""
394
391
  ----
395
392
 
396
- ==== Big Decimal
397
-
398
- ===== #inspect
399
-
400
- Allows one to inspect a big decimal with numeric representation.
401
-
402
- [source,ruby]
403
- ----
404
- BigDecimal.new("5.0E-10").inspect # "#<BigDecimal:3fd3d458fe84 0.0000000005>"
405
- ----
406
-
407
393
  ==== Data
408
394
 
409
395
  ===== #diff
@@ -589,12 +575,13 @@ expression `example.fetch(:desired_key) || "default_value"`.
589
575
 
590
576
  [source,ruby]
591
577
  ----
592
- {a: "demo"}.fetch_value :a, "default" # "demo"
593
- {a: "demo"}.fetch_value :a # "demo"
594
- {a: nil}.fetch_value :a, "default" # "default"
595
- {}.fetch_value(:a) { "default" } # "default"
596
- {}.fetch_value :a # KeyError
597
- {a: "demo"}.fetch_value # ArgumentError
578
+ {a: "demo"}.fetch_value :a, "default" # "demo"
579
+ {a: "demo"}.fetch_value :a # "demo"
580
+ {a: nil}.fetch_value :a, "default" # "default"
581
+ {a: nil}.fetch_value(:a) { "default" } # "default"
582
+ {}.fetch_value :a # KeyError
583
+ {}.fetch_value(:a) { "default" } # "default"
584
+ {a: "demo"}.fetch_value # ArgumentError
598
585
  ----
599
586
 
600
587
  ===== #flatten_keys
@@ -1288,11 +1275,11 @@ well in other languages.
1288
1275
  [source,ruby]
1289
1276
  ----
1290
1277
  "apple".pluralize "s" # apples
1291
- "apple".pluralize "s", count: 0 # apples
1292
- "apple".pluralize "s", count: 1 # apple
1293
- "apple".pluralize "s", count: -1 # apple
1294
- "apple".pluralize "s", count: 2 # apples
1295
- "apple".pluralize "s", count: -2 # apples
1278
+ "apple".pluralize "s", 0 # apples
1279
+ "apple".pluralize "s", 1 # apple
1280
+ "apple".pluralize "s", -1 # apple
1281
+ "apple".pluralize "s", 2 # apples
1282
+ "apple".pluralize "s", -2 # apples
1296
1283
  "cactus".pluralize "i", replace: "us" # cacti
1297
1284
  "cul-de-sac".pluralize "ls", replace: "l" # culs-de-sac
1298
1285
  ----
@@ -1308,11 +1295,11 @@ well in other languages.
1308
1295
  [source,ruby]
1309
1296
  ----
1310
1297
  "apples".singularize "s" # apple
1311
- "apples".singularize "s", count: 0 # apples
1312
- "apples".singularize "s", count: 1 # apple
1313
- "apples".singularize "s", count: -1 # apple
1314
- "apples".singularize "s", count: 2 # apples
1315
- "apples".singularize "s", count: -2 # apples
1298
+ "apples".singularize "s", 0 # apples
1299
+ "apples".singularize "s", 1 # apple
1300
+ "apples".singularize "s", -1 # apple
1301
+ "apples".singularize "s", 2 # apples
1302
+ "apples".singularize "s", -2 # apples
1316
1303
  "cacti".singularize "i", replace: "us" # cactus
1317
1304
  "culs-de-sac".singularize "ls", replace: "l" # cul-de-sac
1318
1305
  ----
@@ -1345,6 +1332,30 @@ Answers a title string with proper capitalization of each word.
1345
1332
  "ThisIsAnExample".titleize # "This Is An Example"
1346
1333
  ----
1347
1334
 
1335
+ ===== #truncate
1336
+
1337
+ Answers a truncated, non-mutated, string for given length with optional delimiter and/or overflow.
1338
+
1339
+ The delimiter is the second positional parameter (optional) and is `nil` by default. A custom string or regular expression can be used to customize truncation behavior.
1340
+
1341
+ The trailer is an optional keyword parameter that is an ellipsis (i.e. `"..."`) by default. The trailer can be a custom or empty string. The string length of the trailer is added to the length of the string being truncated, so keep this in mind when setting truncation length.
1342
+
1343
+ [source,ruby]
1344
+ ----
1345
+ demo = "It was the best of times"
1346
+ length = demo.length
1347
+
1348
+ demo.truncate 9 # "It was..."
1349
+ demo.truncate 12 # "It was th..."
1350
+ demo.truncate length # "It was the best of times"
1351
+ demo.truncate Float::INFINITY # "It was the best of times"
1352
+ demo.truncate 12, " " # "It was..."
1353
+ demo.truncate 12, /\s/ # "It was..."
1354
+ demo.truncate 6, trailer: "" # "It was"
1355
+ demo.truncate 16, trailer: "... (more)" # "It was... (more)"
1356
+ "demo".truncate 3 # "..."
1357
+ ----
1358
+
1348
1359
  ===== #to_bool
1349
1360
 
1350
1361
  Answers string as a boolean.
@@ -1551,7 +1562,7 @@ with public methods in order to not break encapsulation.
1551
1562
  ----
1552
1563
 
1553
1564
  ⚠️ Use of `#call` without any arguments or block should be avoided in order to not incur extra
1554
- processing costs since the original symbol-to-proc call can used instead.
1565
+ processing costs since the original symbol-to-proc call can be used instead.
1555
1566
 
1556
1567
  == Development
1557
1568
 
@@ -4,8 +4,8 @@ require "refinements/shared/enumerables/many"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to the Array primitive.
7
- module Arrays
8
- refine Array do
7
+ module Array
8
+ refine ::Array do
9
9
  import_methods Shared::Enumerables::Many
10
10
 
11
11
  def combinatorial?(other) = !other.empty? && size == union(other).size
@@ -31,7 +31,7 @@ module Refinements
31
31
 
32
32
  def minimum(key) = map(&key).min
33
33
 
34
- def pad(value, max: size) = dup.fill(value, size..(max - 1))
34
+ def pad(value, max = size) = dup.fill(value, size..(max - 1))
35
35
 
36
36
  def pick(*keys)
37
37
  return if empty?
@@ -4,8 +4,8 @@ require "date"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to the DateTime primitive.
7
- module DateTimes
8
- refine DateTime.singleton_class do
7
+ module DateTime
8
+ refine ::DateTime.singleton_class do
9
9
  def utc = now.new_offset(0)
10
10
  end
11
11
  end
@@ -4,8 +4,8 @@ require "refinements/shared/enumerables/many"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to the Hash primitive.
7
- module Hashes
8
- refine Hash.singleton_class do
7
+ module Hash
8
+ refine ::Hash.singleton_class do
9
9
  def infinite
10
10
  new { |new_hash, missing_key| new_hash[missing_key] = new(&new_hash.default_proc) }
11
11
  end
@@ -13,7 +13,7 @@ module Refinements
13
13
  def with_default(value) = new { |new_hash, missing_key| new_hash[missing_key] = value }
14
14
  end
15
15
 
16
- refine Hash do
16
+ refine ::Hash do
17
17
  import_methods Shared::Enumerables::Many
18
18
 
19
19
  def compress = compact.delete_if { |_key, value| value.respond_to?(:empty?) && value.empty? }
@@ -51,13 +51,15 @@ module Refinements
51
51
  each.with_object({}) { |(key, value), diff| diff[key] = [value, nil] }
52
52
  end
53
53
 
54
- def fetch_value(key, *default, &) = fetch(key, *default, &) || default.first
54
+ def fetch_value(key, *default, &)
55
+ fetch(key, *default, &) || (yield if block_given?) || default.first
56
+ end
55
57
 
56
58
  def flatten_keys prefix: nil, delimiter: "_"
57
59
  reduce({}) do |accumulator, (key, value)|
58
60
  flat_key = prefix ? :"#{prefix}#{delimiter}#{key}" : key
59
61
 
60
- next accumulator.merge flat_key => value unless value in Hash
62
+ next accumulator.merge flat_key => value unless value.is_a? ::Hash
61
63
 
62
64
  accumulator.merge(recurse { value.flatten_keys prefix: flat_key, delimiter: })
63
65
  end
@@ -69,7 +71,7 @@ module Refinements
69
71
  return self unless block
70
72
 
71
73
  transform = yield self
72
- transform.each { |key, value| transform[key] = value.recurse(&block) if value in Hash }
74
+ transform.each { |key, value| transform[key] = value.recurse(&block) if value.is_a? ::Hash }
73
75
  end
74
76
 
75
77
  def stringify_keys = transform_keys(&:to_s)
@@ -4,8 +4,8 @@ require "refinements/shared/ios/reread"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to the IO primitive.
7
- module IOs
8
- refine IO.singleton_class do
7
+ module IO
8
+ refine ::IO.singleton_class do
9
9
  def void
10
10
  new(sysopen("/dev/null", "w+")).then do |io|
11
11
  return io unless block_given?
@@ -16,7 +16,7 @@ module Refinements
16
16
  end
17
17
  end
18
18
 
19
- refine IO do
19
+ refine ::IO do
20
20
  import_methods Shared::IOs::Reread
21
21
 
22
22
  def redirect other
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "logger"
4
- require "refinements/string_ios"
4
+ require "refinements/string_io"
5
5
 
6
6
  module Refinements
7
7
  # Provides additional enhancements to a log device.
8
- module LogDevices
9
- using StringIOs
8
+ module LogDevice
9
+ using StringIO
10
10
 
11
- refine Logger::LogDevice do
11
+ refine ::Logger::LogDevice do
12
12
  def reread
13
13
  case dev
14
- when File then dev.class.new(dev).read
15
- when StringIO then dev.reread
14
+ when ::File then dev.class.new(dev).read
15
+ when ::StringIO then dev.reread
16
16
  else ""
17
17
  end
18
18
  end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/log_devices"
3
+ require "refinements/log_device"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to a logger.
7
- module Loggers
8
- using LogDevices
7
+ module Logger
8
+ using LogDevice
9
9
 
10
- refine Logger do
10
+ refine ::Logger do
11
11
  def reread = @logdev.reread
12
12
 
13
13
  alias_method :any, :unknown
@@ -4,7 +4,7 @@ require "pathname"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to the Pathname primitive.
7
- module Pathnames
7
+ module Pathname
8
8
  refine Kernel do
9
9
  def Pathname object
10
10
  return super(String(object)) unless object
@@ -13,7 +13,7 @@ module Refinements
13
13
  end
14
14
  end
15
15
 
16
- refine Pathname.singleton_class do
16
+ refine ::Pathname.singleton_class do
17
17
  def home = new ENV.fetch("HOME", "")
18
18
 
19
19
  def make_temp_dir prefix: "temp-", suffix: nil, root: nil
@@ -29,7 +29,7 @@ module Refinements
29
29
  def root = new(File::SEPARATOR)
30
30
  end
31
31
 
32
- refine Pathname do
32
+ refine ::Pathname do
33
33
  def change_dir
34
34
  if block_given?
35
35
  Dir.chdir(self) { |path| yield Pathname(path) }
@@ -2,10 +2,10 @@
2
2
 
3
3
  module Refinements
4
4
  # Provides additional enhancements to the String primitive.
5
- module Strings
5
+ module String
6
6
  DELIMITERS = %r([a-z][A-Z]|\s*-\s*|\s*/\s*|\s*:+\s*|\s*_\s*|\s+)
7
7
 
8
- refine String do
8
+ refine ::String do
9
9
  def blank? = empty? || match?(/\A[[:space:]]*\z/)
10
10
 
11
11
  def camelcase
@@ -38,9 +38,9 @@ module Refinements
38
38
  self[(minimum + 1)..]
39
39
  end
40
40
 
41
- def pluralize(suffix, replace: /$/, count: 0) = count.abs == 1 ? self : sub(replace, suffix)
41
+ def pluralize(suffix, count = 0, replace: /$/) = count.abs == 1 ? self : sub(replace, suffix)
42
42
 
43
- def singularize(suffix, replace: "", count: 1) = count.abs == 1 ? sub(suffix, replace) : self
43
+ def singularize(suffix, count = 1, replace: "") = count.abs == 1 ? sub(suffix, replace) : self
44
44
 
45
45
  def snakecase
46
46
  return downcase unless match? DELIMITERS
@@ -60,7 +60,15 @@ module Refinements
60
60
  .then { |parts| combine parts, :up, "/" }
61
61
  end
62
62
 
63
- def to_bool = %w[true yes on t y 1].include?(downcase.strip)
63
+ def truncate to, delimiter = nil, trailer: "..."
64
+ return dup if length <= to
65
+
66
+ offset = to - trailer.length
67
+ maximum = delimiter ? rindex(delimiter, offset) || offset : offset
68
+ "#{self[...maximum]}#{trailer}"
69
+ end
70
+
71
+ def to_bool = %w[true yes on t y 1].include? downcase.strip
64
72
 
65
73
  def up = empty? ? self : first.upcase + self[1, size]
66
74
 
@@ -5,8 +5,8 @@ require "stringio"
5
5
 
6
6
  module Refinements
7
7
  # Provides additional enhancements to the StringIO primitive.
8
- module StringIOs
9
- refine StringIO do
8
+ module StringIO
9
+ refine ::StringIO do
10
10
  import_methods Shared::IOs::Reread
11
11
  end
12
12
  end
@@ -4,12 +4,12 @@ require "refinements/shared/values/diff"
4
4
 
5
5
  module Refinements
6
6
  # Provides additional enhancements to the Struct primitive.
7
- module Structs
8
- refine Struct.singleton_class do
7
+ module Struct
8
+ refine ::Struct.singleton_class do
9
9
  def with_positions(*values) = keyword_init? ? new(**members.zip(values).to_h) : new(*values)
10
10
  end
11
11
 
12
- refine Struct do
12
+ refine ::Struct do
13
13
  import_methods Shared::Values::Diff
14
14
 
15
15
  def merge(...) = dup.merge!(...)
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Refinements
4
4
  # Provides additional enhancements to the Symbol primitive.
5
- module Symbols
6
- refine Symbol do
5
+ module Symbol
6
+ refine ::Symbol do
7
7
  # rubocop:todo Naming/BlockForwarding
8
8
  def call(*arguments, &block)
9
9
  proc { |receiver| receiver.public_send self, *arguments, &block }
data/lib/refinements.rb CHANGED
@@ -1,15 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/arrays"
4
- require "refinements/big_decimals"
3
+ require "refinements/array"
5
4
  require "refinements/data"
6
- require "refinements/date_times"
7
- require "refinements/hashes"
8
- require "refinements/ios"
9
- require "refinements/log_devices"
10
- require "refinements/loggers"
11
- require "refinements/pathnames"
12
- require "refinements/string_ios"
13
- require "refinements/strings"
14
- require "refinements/structs"
15
- require "refinements/symbols"
5
+ require "refinements/date_time"
6
+ require "refinements/hash"
7
+ require "refinements/io"
8
+ require "refinements/log_device"
9
+ require "refinements/logger"
10
+ require "refinements/pathname"
11
+ require "refinements/string"
12
+ require "refinements/string_io"
13
+ require "refinements/struct"
14
+ require "refinements/symbol"
data/refinements.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "refinements"
5
- spec.version = "11.1.3"
5
+ spec.version = "12.0.1"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/refinements"
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = [">= 3.2", "<= 3.3"]
25
+ spec.required_ruby_version = "~> 3.3"
26
26
 
27
27
  spec.files = Dir["*.gemspec", "lib/**/*"]
28
28
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinements
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.1.3
4
+ version: 12.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-12-25 00:00:00.000000000 Z
38
+ date: 2024-01-13 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description:
41
41
  email:
@@ -49,22 +49,21 @@ files:
49
49
  - LICENSE.adoc
50
50
  - README.adoc
51
51
  - lib/refinements.rb
52
- - lib/refinements/arrays.rb
53
- - lib/refinements/big_decimals.rb
52
+ - lib/refinements/array.rb
54
53
  - lib/refinements/data.rb
55
- - lib/refinements/date_times.rb
56
- - lib/refinements/hashes.rb
57
- - lib/refinements/ios.rb
58
- - lib/refinements/log_devices.rb
59
- - lib/refinements/loggers.rb
60
- - lib/refinements/pathnames.rb
54
+ - lib/refinements/date_time.rb
55
+ - lib/refinements/hash.rb
56
+ - lib/refinements/io.rb
57
+ - lib/refinements/log_device.rb
58
+ - lib/refinements/logger.rb
59
+ - lib/refinements/pathname.rb
61
60
  - lib/refinements/shared/enumerables/many.rb
62
61
  - lib/refinements/shared/ios/reread.rb
63
62
  - lib/refinements/shared/values/diff.rb
64
- - lib/refinements/string_ios.rb
65
- - lib/refinements/strings.rb
66
- - lib/refinements/structs.rb
67
- - lib/refinements/symbols.rb
63
+ - lib/refinements/string.rb
64
+ - lib/refinements/string_io.rb
65
+ - lib/refinements/struct.rb
66
+ - lib/refinements/symbol.rb
68
67
  - refinements.gemspec
69
68
  homepage: https://alchemists.io/projects/refinements
70
69
  licenses:
@@ -83,10 +82,7 @@ require_paths:
83
82
  - lib
84
83
  required_ruby_version: !ruby/object:Gem::Requirement
85
84
  requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '3.2'
89
- - - "<="
85
+ - - "~>"
90
86
  - !ruby/object:Gem::Version
91
87
  version: '3.3'
92
88
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -95,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
91
  - !ruby/object:Gem::Version
96
92
  version: '0'
97
93
  requirements: []
98
- rubygems_version: 3.5.3
94
+ rubygems_version: 3.5.4
99
95
  signing_key:
100
96
  specification_version: 4
101
97
  summary: A collection of core Ruby object refinements.
metadata.gz.sig CHANGED
Binary file
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bigdecimal"
4
-
5
- module Refinements
6
- # Provides additional enhancements to the BigDecimal primitive.
7
- module BigDecimals
8
- refine BigDecimal do
9
- def inspect = format("#<BigDecimal:%<id>s %<string>s>", id: object_id, string: to_s("F"))
10
- end
11
- end
12
- end