Comments (1)
I didn't manage to reproduce it, as this passes:
# frozen_string_literal: true
require "bundler/inline"
gemfile do
source "https://rubygems.org"
gem "dry-configurable", "0.13.0"
gem "dry-validation"
gem "rspec"
end
module Types
include Dry::Types()
end
class Contract < Dry::Validation::Contract
params do
required(:arg).value(Types::Coercible::String.enum("foo", "bar"))
end
end
require "rspec"
RSpec.describe "dry-validation" do
let(:contract) { Contract.new }
let(:validation) { contract.(arg: nil) } # or arg: 'xxx'
subject(:error) { validation.errors.first }
it "reports validation errors as messages" do
expect(error).not_to be_nil
expect(error.path).to eq [:arg]
expect(error.text).to eq "must be one of: foo, bar"
end
end
from dry-configurable.
Related Issues (20)
- `finalize!` should freeze config recursively
- Leave setting values as `Undefined` rather than coercing to `nil` for un-set settings HOT 2
- Add `Settings#replace` to support wholesale replacement of settings in a configurable object
- Understanding the thread safety claim - random sum every program invocation HOT 1
- 0.13.0 release checklist HOT 10
- default values cannot be lazy evaluated
- Add Zeitwerk autoloader HOT 1
- `v0.16.0` of dry-configurable breaks `require "dry-validation"` HOT 2
- 0.16.0 breaks Sinatra config_file HOT 9
- 0.16.0 breaking change to how settings with a `constructor` behave HOT 2
- 0.16.0 breaks Zeitwerk integration for other gems HOT 1
- Autoloading with zeitwerk results in uninitialized constant Dry::Core::ClassAttributes::IDENTITY HOT 1
- 0.15.0 broke `config.update` with constuctor requiring nested value HOT 1
- As an aside, I've also discovered similar failures if I do the same thing to the `pluralize_spec`: HOT 1
- Changelog for v1.0.2 not in main branch HOT 2
- Raise more meaningful exception when included more than once
- Config#update does not return self HOT 1
- Does not work from within a trap context HOT 5
- Values are being memoized between config instances HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dry-configurable.