refinements 12.9.0 → 12.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +36 -2
- data/lib/refinements/array.rb +6 -1
- data/lib/refinements/module.rb +12 -0
- data/lib/refinements/struct.rb +6 -1
- data/lib/refinements.rb +1 -0
- data/refinements.gemspec +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -3
- metadata.gz.sig +2 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56d9d8ea056f8d22d211d5d9ad964b74e5fc86eb4be0b3476a1cd15c0ef74856
|
4
|
+
data.tar.gz: bd3d5e64e0dfd3ae296d81a6b96212390b223f79b91d14fd3af14eab2c2dd867
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63f889fedadba076370027afce7f0e176bd7e840d6b470d99043033a39f79277a4aebe7b0573e8d6c367432c59e98cb77b26ee62b5148f420121b632d86f8dfb
|
7
|
+
data.tar.gz: 47712bdf7aff52e05671f7fed297bd06f54dfa1e554e529723c3ab932b2204d30630a25906b757769f314c213e004014fc887bcdfd5b6ac36edf1949bd16335d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -20,6 +20,7 @@ Enhances the following objects:
|
|
20
20
|
* IO
|
21
21
|
* LogDevice
|
22
22
|
* Logger
|
23
|
+
* Module
|
23
24
|
* Object
|
24
25
|
* Pathname
|
25
26
|
* String
|
@@ -87,6 +88,7 @@ require "refinements/hash"
|
|
87
88
|
require "refinements/io"
|
88
89
|
require "refinements/log_device"
|
89
90
|
require "refinements/logger"
|
91
|
+
require "refinements/module"
|
90
92
|
require "refinements/object"
|
91
93
|
require "refinements/pathname"
|
92
94
|
require "refinements/string"
|
@@ -111,6 +113,7 @@ class Example
|
|
111
113
|
using Refinements::IO
|
112
114
|
using Refinements::LogDevice
|
113
115
|
using Refinements::Logger
|
116
|
+
using Refinements::Module
|
114
117
|
using Refinements::Object
|
115
118
|
using Refinements::Pathname
|
116
119
|
using Refinements::String
|
@@ -186,6 +189,8 @@ Removes given array or elements without mutating itself.
|
|
186
189
|
|
187
190
|
===== #filter_find
|
188
191
|
|
192
|
+
⚠️ _This is deprecated and will be removed in Version 13.0.0._
|
193
|
+
|
189
194
|
Answers the first element which evaluates to true from a filtered collection.
|
190
195
|
|
191
196
|
[source,ruby]
|
@@ -969,7 +974,8 @@ logger.reread # ""
|
|
969
974
|
|
970
975
|
Allows you to log _any_ message which is identical in behavior and functionality to the `Logger#unknown` method only this requires less typing and better matches the terminology used by the `#unknown` method.
|
971
976
|
|
972
|
-
|
977
|
+
[source,ruby]
|
978
|
+
----
|
973
979
|
logger = Logger.new STDOUT
|
974
980
|
|
975
981
|
logger.any "Test."
|
@@ -977,7 +983,33 @@ logger.any "Test."
|
|
977
983
|
|
978
984
|
logger.any { "Test." }
|
979
985
|
A, [2000-01-10T09:00:00.330719 #44925] ANY -- : Test.
|
980
|
-
|
986
|
+
----
|
987
|
+
|
988
|
+
==== Module
|
989
|
+
|
990
|
+
===== #pseudonym
|
991
|
+
|
992
|
+
Allows you to set a temporary name for your anonymous `Module` (or `Class` since `Class` inherits from `Module`) with a better default than what `+#set_temporary_name+` provides.
|
993
|
+
|
994
|
+
[source,ruby]
|
995
|
+
----
|
996
|
+
Module.new.pseudonym "demo" # demo-44600
|
997
|
+
Module.new.pseudonym "demo", delimiter: "_" # demo_60900
|
998
|
+
Module.new.pseudonym "demo", nil # demo-
|
999
|
+
Module.new.pseudonym "demo", nil, delimiter: nil # demo
|
1000
|
+
----
|
1001
|
+
|
1002
|
+
The same applies for anonymous classes since classes inherit from modules:
|
1003
|
+
|
1004
|
+
[source,ruby]
|
1005
|
+
----
|
1006
|
+
Class.new.pseudonym "demo" # demo-44600 < Object
|
1007
|
+
Class.new.pseudonym "demo", delimiter: "_" # demo_60900 < Object
|
1008
|
+
Class.new.pseudonym "demo", nil # demo- < Object
|
1009
|
+
Class.new.pseudonym "demo", nil, delimiter: nil # demo < Object
|
1010
|
+
----
|
1011
|
+
|
1012
|
+
💡 While convenient, if you find yourself nullifying the suffix and/or delimiter, you're better off using `+#set_temporary_name+`.
|
981
1013
|
|
982
1014
|
==== Object
|
983
1015
|
|
@@ -1598,6 +1630,8 @@ io.to_str # "One, Two."
|
|
1598
1630
|
|
1599
1631
|
===== .with_positions
|
1600
1632
|
|
1633
|
+
⚠️ _This is deprecated and will be removed in Version 13.0.0._
|
1634
|
+
|
1601
1635
|
Answers a struct instance with given positional arguments regardless of
|
1602
1636
|
whether the struct was constructed with positional or keyword arguments.
|
1603
1637
|
|
data/lib/refinements/array.rb
CHANGED
@@ -19,7 +19,12 @@ module Refinements
|
|
19
19
|
|
20
20
|
def excluding(*elements) = self - elements.flatten
|
21
21
|
|
22
|
-
def filter_find(&)
|
22
|
+
def filter_find(&)
|
23
|
+
warn "`#{self.class}##{__method__}` is deprecated and will be removed in Version 13.0.0.",
|
24
|
+
category: :deprecated
|
25
|
+
|
26
|
+
block_given? ? lazy.map(&).find(&:itself) : lazy
|
27
|
+
end
|
23
28
|
|
24
29
|
def including(*elements) = self + elements.flatten
|
25
30
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refinements
|
4
|
+
# Provides additional enhancements to the Symbol primitive.
|
5
|
+
module Module
|
6
|
+
refine ::Module do
|
7
|
+
def pseudonym prefix, suffix = object_id, delimiter: "-"
|
8
|
+
set_temporary_name "#{prefix}#{delimiter}#{suffix}"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/refinements/struct.rb
CHANGED
@@ -6,7 +6,12 @@ module Refinements
|
|
6
6
|
# Provides additional enhancements to the Struct primitive.
|
7
7
|
module Struct
|
8
8
|
refine ::Struct.singleton_class do
|
9
|
-
def with_positions(*values)
|
9
|
+
def with_positions(*values)
|
10
|
+
warn "`#{self.class}##{__method__}` is deprecated and will be removed in Version 13.0.0.",
|
11
|
+
category: :deprecated
|
12
|
+
|
13
|
+
keyword_init? ? new(**members.zip(values).to_h) : new(*values)
|
14
|
+
end
|
10
15
|
end
|
11
16
|
|
12
17
|
refine ::Struct do
|
data/lib/refinements.rb
CHANGED
data/refinements.gemspec
CHANGED
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: 12.
|
4
|
+
version: 12.10.0
|
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: 2024-10-
|
38
|
+
date: 2024-10-22 00:00:00.000000000 Z
|
39
39
|
dependencies: []
|
40
40
|
description:
|
41
41
|
email:
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- lib/refinements/io.rb
|
58
58
|
- lib/refinements/log_device.rb
|
59
59
|
- lib/refinements/logger.rb
|
60
|
+
- lib/refinements/module.rb
|
60
61
|
- lib/refinements/object.rb
|
61
62
|
- lib/refinements/pathname.rb
|
62
63
|
- lib/refinements/shared/diff.rb
|
@@ -96,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
97
|
- !ruby/object:Gem::Version
|
97
98
|
version: '0'
|
98
99
|
requirements: []
|
99
|
-
rubygems_version: 3.5.
|
100
|
+
rubygems_version: 3.5.22
|
100
101
|
signing_key:
|
101
102
|
specification_version: 4
|
102
103
|
summary: A collection of core object refinements.
|
metadata.gz.sig
CHANGED
@@ -1,4 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
����+(�M8V��'d��� ɋ����>�ow�}xTHc'9��ׇg%��[��Yd2`�>h�i
|
4
|
-
-yE*���s1z�
|
1
|
+
>A��T������}���_��/�7n��("s��h^�@p2��|o0N�E{_�wfJ����6����ّ�U,���c�s$��`8���h
|
2
|
+
�v%&��։{��K��Y�� ��n�Rw�1�����iD��"⼽Xぶrc+�S���nQ���^��*�\��C|b��Z�|�l��u"�v��'���y;�I���I���j�/H.�g7�k���m���Kw�D����W0g 9�-�@/�C{r����N�V�j�l����d���B��?]�ҴsAh6?��&�,�˽���?bS�ś`u���OXӟ˻�u����_���)�m�Xn1,
|