forked from pool/rubygem-dry-types
🤖: Automatic update to 1.7.1 OBS-URL: https://build.opensuse.org/request/show/1122906 OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby:extensions/rubygem-dry-types?expand=0&rev=8
146 lines
4.2 KiB
Plaintext
146 lines
4.2 KiB
Plaintext
-------------------------------------------------------------------
|
|
Thu Nov 2 15:45:51 UTC 2023 - Dan Čermák <dan.cermak@posteo.net>
|
|
|
|
- ## 1.7.1 2023-02-17
|
|
|
|
### Fixed
|
|
|
|
- Warning from jruby about overwritten keyword (@flash-gordon + @klobuczek in #454)
|
|
|
|
[Compare v1.7.0...v1.7.1](https://github.com/dry-rb/dry-types/compare/v1.7.0...v1.7.1)
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Dec 7 11:18:42 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.7.0
|
|
see installed CHANGELOG.md
|
|
|
|
## 1.7.0 2022-11-04
|
|
|
|
|
|
### Changed
|
|
|
|
- This version is compatible with recently released dry-rb dependencies (@flash-gordon)
|
|
- Updated to dry-core 1.0 (@flash-gordon + @solnic)
|
|
- Dependency on dry-container was dropped (@flash-gordon)
|
|
|
|
[Compare v1.6.1...v1.7.0](https://github.com/dry-rb/dry-types/compare/v1.6.1...v1.7.0)
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Oct 28 04:55:43 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.6.1
|
|
see installed CHANGELOG.md
|
|
|
|
## 1.6.1 2022-10-15
|
|
|
|
|
|
### Changed
|
|
|
|
- Fix issues with internal const_missing and Inflector/Module constants (@flash-gordon + @solnic)
|
|
|
|
[Compare v1.6.0...v1.6.1](https://github.com/dry-rb/dry-types/compare/v1.6.0...v1.6.1)
|
|
|
|
## 1.6.0 2022-10-15
|
|
|
|
|
|
### Changed
|
|
|
|
- Optimize `PredicateRegistry` for Ruby 2.7+ (see #420 for more details) (@casperisfine)
|
|
- Use zeitwerk for auto-loading (@flash-gordon)
|
|
|
|
[Compare v1.5.1...v1.6.0](https://github.com/dry-rb/dry-types/compare/v1.5.1...v1.6.0)
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jun 24 17:19:19 UTC 2021 - Stephan Kulow <coolo@suse.com>
|
|
|
|
updated to version 1.5.1
|
|
see installed CHANGELOG.md
|
|
|
|
<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
|
|
|
|
## 1.5.1 2021-02-16
|
|
|
|
|
|
### Fixed
|
|
|
|
- Add missing requires for internal usage of `Dry::Equalizer` (@timriley in #418)
|
|
|
|
|
|
[Compare v1.5.0...v1.5.1](https://github.com/dry-rb/dry-types/compare/v1.5.0...v1.5.1)
|
|
|
|
## 1.5.0 2021-01-21
|
|
|
|
|
|
### Added
|
|
|
|
- Wrapping constructor types :tada: (@flash-gordon)
|
|
|
|
Constructor blocks can have a second argument.
|
|
The second argument is the underlying type itself:
|
|
```ruby
|
|
age_from_year = Dry::Types['coercible.integer'].constructor do |input, type|
|
|
Date.today.year - type.(input)
|
|
end
|
|
age_from_year.('2000') # => 21
|
|
```
|
|
With wrapping constructors you have control over "type application". You can even
|
|
run it more than once:
|
|
```ruby
|
|
inc = Dry::Types['integer'].constructor(&:succ)
|
|
inc2x = inc.constructor { _2.(_2.(_2.(_1))) }
|
|
inc2x.(10) # => 13
|
|
```
|
|
- Fallbacks :tada: (@flash-gordon)
|
|
|
|
```ruby
|
|
age = Dry::Types['coercible.ineger'].fallback(18)
|
|
age.('10') # => 10
|
|
age.('20') # => 20
|
|
age.('abc') # => 18
|
|
```
|
|
|
|
Fallbacks are different from default values: the later will be evaluated
|
|
only when *no input* provided.
|
|
|
|
Under the hood, `.fallback` creates a wrapping constructor.
|
|
- `params.string` as an alias for `strict.string`. This addition should be non-breaking (@flash-gordon)
|
|
- API for defining custom type builders similar to `.default`, `.constructor`, or `.optional` (@flash-gordon)
|
|
|
|
```ruby
|
|
# Making an alias for `.fallback`
|
|
Dry::Types.define_builder(:or) { |type, v| type.fallback(v) }
|
|
|
|
# Using new builder
|
|
type = Dry::Types['integer'].or(-273)
|
|
type.(:invalid) # => -273
|
|
```
|
|
|
|
### Changed
|
|
|
|
- Inferring predicates from class names is deprecated. It's very unlikely your code depends on it,
|
|
however, if it does, you'll get an exception with instructions. (@flash-gordon)
|
|
|
|
If you don't rely on inferring, just disable it with:
|
|
|
|
```ruby
|
|
Dry::Types::PredicateInferrer::Compiler.infer_predicate_by_class_name false
|
|
```
|
|
|
|
Otherwise, enable it explicitly:
|
|
|
|
```ruby
|
|
Dry::Types::PredicateInferrer::Compiler.infer_predicate_by_class_name true
|
|
```
|
|
|
|
[Compare v1.4.0...v1.5.0](https://github.com/dry-rb/dry-types/compare/v1.4.0...v1.5.0)
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 23 14:49:41 UTC 2020 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- initial package (version 1.4.0)
|