Next-gen ruby libs! » github.com/dry-rb » website: https://dry-rb.org » forum: https://discourse.dry-rb.org
irb(main):010:0> Dry::Data['strict.string'].constrained(format: /^f/)['foo']
=> "foo"
irb(main):011:0> Dry::Data['strict.string'].constrained(format: /^f/)['boo']
Dry::Data::ConstraintError: "boo" violates constraints
:dancers:
Types::Optional | Types::Strict::String
Bool
is actually defined like this
Types::Strict::True | Types::Strict::False
Enum
type too, I need it
States = String.enum(%w(draft published))
Dry::Data['hash'].schema
to support nested hashes?
schema = Dry::Data['hash'].schema(
username: 'string',
accounts: {
skype: 'string'
}
)
schema = Dry::Data['hash'].schema(
username: 'string',
accounts: Dry::Data['hash'].schema({
skype: 'string'
})
)
statuses = Types::Strict::String.enum(“draft”, “published”, “archived”)
statuses[1] # => “published”
statuses[“published”] # => “published”
statuses[“#trollface”] # => ConstraintError
statuses[nil] # => ConstraintError
freeze!
, let’s surprise people
freeze!
and make it raise an error “sorry, due to the climate change we can’t freeze anything"
string.enum(tea | coffee)
F
already :joy: