refinements 13.1.0 → 13.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: 0e20ac433b76dc199042a1e288a8d3ed16a7825559e3fb8d961834138644382e
4
- data.tar.gz: f77157ed09409ca711ec6cf3b2ce0f75d3a09fdabc287ef33143548d44554c2f
3
+ metadata.gz: 3b9653414033e7e566848bb9457c1642c047eed1f21d1dd2518f24cf4d3f366d
4
+ data.tar.gz: 858ad0585193b6e65db26c71e8e7bd203838441820e44127f0787e4a75406c72
5
5
  SHA512:
6
- metadata.gz: 138203f04dbfe7e0aee2d2117258a5fa9b89b4b720ef71f6e1b6a26f9815c1d89f8d7d2282ae7702925782709989d127c09579021ed305b0c58573d89a0de368
7
- data.tar.gz: fc16a238e25f942914c129d87f94f552b5d670dbc4ff92b34b5aba81e4f40857c5a262b0bd9ce16d7555ec8c7a3551a7e3f26f457a8efe8b620eab7289b70089
6
+ metadata.gz: c5a07a0139c13fbd31c08a72d1905703db130f0bb0fb30c27ee938266146d0273c29b5cec6543520a11c5f244ad525a8dc9448c65ecac8ec1d650426430f7c4f
7
+ data.tar.gz: 2c97c94497dd0827239452ad1c936290ee2fb77587426b5d23c47557d7c1ae1dc69e7a36d3c63548d99669f920d35d3b0a4233ef4b9cc5754cd66dd56b76eecd
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -1292,6 +1292,22 @@ Answers string with only first letter down cased.
1292
1292
  "EXAMPLE".down # "eXAMPLE"
1293
1293
  ----
1294
1294
 
1295
+ ===== #falsey?
1296
+
1297
+ Answers if string is falsey.
1298
+
1299
+ [source,ruby]
1300
+ ----
1301
+ "false".falsey? # true
1302
+ "0".falsey? # true
1303
+ "no".falsey? # true
1304
+ "".falsey? # true
1305
+ "example".falsey? # true
1306
+ "true".falsey? # false
1307
+ "yes".falsey? # false
1308
+ "1".falsey? # false
1309
+ ----
1310
+
1295
1311
  ===== #first
1296
1312
 
1297
1313
  Answers first character of a string or first set of characters if given a number.
@@ -1394,6 +1410,19 @@ Answers a title string with proper capitalization of each word.
1394
1410
  "ThisIsAnExample".titleize # "This Is An Example"
1395
1411
  ----
1396
1412
 
1413
+ ===== #truthy?
1414
+
1415
+ Answers if string is truthy.
1416
+
1417
+ [source,ruby]
1418
+ ----
1419
+ "true".truthy? # true
1420
+ "yes".truthy? # true
1421
+ "1".truthy? # true
1422
+ "".truthy? # false
1423
+ "example".truthy? # false
1424
+ ----
1425
+
1397
1426
  ===== #truncate
1398
1427
 
1399
1428
  Answers a truncated, non-mutated, string for given length with optional delimiter and/or overflow.
@@ -1420,6 +1449,8 @@ demo.truncate 16, trailer: "... (more)" # "It was... (more)"
1420
1449
 
1421
1450
  ===== #to_bool
1422
1451
 
1452
+ ⚠️ This method is deprecated and will be removed in Version 14.0.0. Please use `#truthy?` or `#falsey?` instead.
1453
+
1423
1454
  Answers string as a boolean.
1424
1455
 
1425
1456
  [source,ruby]
@@ -18,6 +18,8 @@ module Refinements
18
18
 
19
19
  def down = empty? ? self : first.downcase + self[1, size]
20
20
 
21
+ def falsey? = !truthy?
22
+
21
23
  def first maximum = 0
22
24
  return self if empty?
23
25
  return self[0] if maximum.zero?
@@ -60,6 +62,8 @@ module Refinements
60
62
  .then { |parts| combine parts, :up, "/" }
61
63
  end
62
64
 
65
+ def truthy? = %w[true yes on t y 1].include? downcase.strip
66
+
63
67
  def truncate to, delimiter = nil, trailer: "..."
64
68
  return dup if length <= to
65
69
 
@@ -68,7 +72,13 @@ module Refinements
68
72
  "#{self[...maximum]}#{trailer}"
69
73
  end
70
74
 
71
- def to_bool = %w[true yes on t y 1].include? downcase.strip
75
+ # rubocop:disable Naming/PredicateMethod
76
+ def to_bool
77
+ warn "`#{self.class}##{__method__}` is deprecated, use `#truthy?` or `#falsey?` instead.",
78
+ category: :deprecated
79
+ truthy?
80
+ end
81
+ # rubocop:enable Naming/PredicateMethod
72
82
 
73
83
  def up = empty? ? self : first.upcase + self[1, size]
74
84
 
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 = "13.1.0"
5
+ spec.version = "13.3.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/refinements"
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: 13.1.0
4
+ version: 13.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -9,9 +9,9 @@ bindir: bin
9
9
  cert_chain:
10
10
  - |
11
11
  -----BEGIN CERTIFICATE-----
12
- MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
12
+ MIIENjCCAp6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
13
13
  a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
14
- aW8wHhcNMjMwMzIyMTYxNDQxWhcNMjUwMzIxMTYxNDQxWjBBMQ8wDQYDVQQDDAZi
14
+ aW8wHhcNMjUwMzIyMTQ1NDE3WhcNMjYwMzIyMTQ1NDE3WjBBMQ8wDQYDVQQDDAZi
15
15
  cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
16
16
  GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
17
17
  f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
@@ -21,28 +21,27 @@ cert_chain:
21
21
  QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
22
22
  hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
23
23
  GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
24
- Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaN7MHkw
24
+ Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaM5MDcw
25
25
  CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
26
- F5wykJEVMB8GA1UdEQQYMBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMB8GA1UdEgQY
27
- MBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMA0GCSqGSIb3DQEBCwUAA4IBgQAX+EGY
28
- 9RLYGxF1VLZz+G1ACQc4uyrCB6kXwI06kzUa5dF9tPXqTX9ffnz3/W8ck2IQhKzu
29
- MKO2FVijzbDWTsZeZGglS4E+4Jxpau1lU9HhOIcKolv6LeC6UdALTFudY+GLb8Xw
30
- REXgaJkjzzhkUSILmEnRwEbY08dVSl7ZAaxVI679vfI2yapLlIwpbBgmQTiTvPr3
31
- qyyLUno9flYEOv9fmGHunSrM+gE0/0niGTXa5GgXBXYGS2he4LQGgSBfGp/cTwMU
32
- rDKJRcusZ12lNBeDfgqACz/BBJF8FLodgk6rGMRZz7+ZmjjHEmpG5bQpR6Q2BuWL
33
- XMtYk/QzaWuhiR7pWjiF8jbdd7RO6or0ohq7iFkokz/5xrtQ/vPzU2RQ3Qc6YaKw
34
- 3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
35
- gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
26
+ F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQBlzRfyAYx/fCFjizS0Npxw4+4T3aYL
27
+ hbXoDqQRWjxuhFZcXUymhz3r8/Ltyri9lSof8grzB+8/+mrMVms7Gwt5qolk6zdn
28
+ FkySGy/jmpN12ldOHFbBEnyVBZNBvOBVb8zkkw8PhiHdBdXOUm4Jy39yJvBLfjcC
29
+ iM1aeWPmgPy1GbvZU+leRGZLt6dRIR9oCDXcWLRjha8xLMoz6Yn9fJBYexBA3iEz
30
+ h5S7pn4AX/JhVRiSyl8pAy4jEKydpyQrliH3gHkpNmUS/XDczP+9xX1bAB4BvqL2
31
+ NCxMcQ+hiJNqCKpPgHxaOOHZfIxV33logIuPEQ8NryHAwZ9ZWnwtYDE8kQGGKskI
32
+ Kkm6QT474hZl7MpwiJjWgW313CR7jUEekQahX1QxCxHPI7LSrKpno0plH3uWIOQp
33
+ KUlkb9uyACBgyRO52ZHiDVI8YvtU5O/j9pSes9/3XgvBeC1onx4qWp+uRX7eVsYS
34
+ GiijocTc3enZVrXERetaXj8/9XWs3fB3HWY=
36
35
  -----END CERTIFICATE-----
37
- date: 2025-02-05 00:00:00.000000000 Z
36
+ date: 1980-01-02 00:00:00.000000000 Z
38
37
  dependencies: []
39
38
  email:
40
39
  - brooke@alchemists.io
41
40
  executables: []
42
41
  extensions: []
43
42
  extra_rdoc_files:
44
- - README.adoc
45
43
  - LICENSE.adoc
44
+ - README.adoc
46
45
  files:
47
46
  - LICENSE.adoc
48
47
  - README.adoc
@@ -89,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
88
  - !ruby/object:Gem::Version
90
89
  version: '0'
91
90
  requirements: []
92
- rubygems_version: 3.6.3
91
+ rubygems_version: 3.6.9
93
92
  specification_version: 4
94
93
  summary: A collection of core object refinements.
95
94
  test_files: []
metadata.gz.sig CHANGED
Binary file