value_semantics 3.6.0 → 3.6.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b067417b01eb9706289a6bfa78e45b8eb38f2e08ca02e3d0c8818d34be3dee8
|
4
|
+
data.tar.gz: 526e22dc311d0639e0c48e204c967d42e339bd31c0fd3d3f86005c850f44d9f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19acb4f70ab18d16f321c1396b8ea38acaca41ec7f3c998394b4c6862ae1a05d8b91bfe788d2904047d128dc297b1a4ec8745481ae7ffd1892f3c6a052c6d6dd
|
7
|
+
data.tar.gz: b2432643ae8b58dbf008a8dad4e39db5c3560c91f2c4a110f420f915d6c2a4e5a6244d66737530ef2d68a2a2d22136fa003923739d6214379913c03faba5796f
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,12 @@ Notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## [3.6.1] - 2021-06-20
|
9
|
+
### Fixed
|
10
|
+
- Attribute reader methods can be made `protected` or `private` now,
|
11
|
+
where previously that would cause various instance methods to raise
|
12
|
+
`NoMethodError`.
|
13
|
+
|
8
14
|
## [3.6.0] - 2020-09-01
|
9
15
|
### Added
|
10
16
|
- `RangeOf` built-in validator, for validating `Range` objects
|
data/lib/value_semantics/dsl.rb
CHANGED
@@ -8,6 +8,12 @@ module ValueSemantics
|
|
8
8
|
# @see ValueSemantics.for_attributes
|
9
9
|
#
|
10
10
|
class DSL
|
11
|
+
# TODO: this should maybe inherit from BasicObject so that method_missing
|
12
|
+
# doesn't find methods on Kernel. This might have undesirable consequences
|
13
|
+
# tho, and we will probably need to do some const_missing stuff to get it
|
14
|
+
# working smoothly. Evaluate the feasability of this before the next major
|
15
|
+
# version bump, because it would be a backwards-incompatible change.
|
16
|
+
|
11
17
|
#
|
12
18
|
# Builds a {Recipe} from a DSL block
|
13
19
|
#
|
@@ -27,6 +27,10 @@ module ValueSemantics
|
|
27
27
|
NOT_FOUND = Object.new.freeze
|
28
28
|
|
29
29
|
def coerce_to_attr_hash(obj)
|
30
|
+
# TODO: this coerces nil to an empty hash, which is probably not ideal.
|
31
|
+
# It should not coerce nil so that Either(X, nil) validator works as
|
32
|
+
# expected. This is a backwards-incomptible change, so save it for a
|
33
|
+
# major version bump
|
30
34
|
return nil unless obj.respond_to?(:to_h)
|
31
35
|
obj_hash = obj.to_h
|
32
36
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: value_semantics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.
|
4
|
+
version: 3.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Dalling
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -186,7 +186,7 @@ licenses:
|
|
186
186
|
metadata:
|
187
187
|
bug_tracker_uri: https://github.com/tomdalling/value_semantics/issues
|
188
188
|
changelog_uri: https://github.com/tomdalling/value_semantics/blob/master/CHANGELOG.md
|
189
|
-
documentation_uri: https://github.com/tomdalling/value_semantics/blob/v3.6.
|
189
|
+
documentation_uri: https://github.com/tomdalling/value_semantics/blob/v3.6.1/README.md
|
190
190
|
source_code_uri: https://github.com/tomdalling/value_semantics
|
191
191
|
post_install_message:
|
192
192
|
rdoc_options: []
|