Sha256: 785c86b23f431856edc0514bf1eeae174b518da70c8f8939e001a8bb84e4c6b3

Contents?: true

Size: 374 Bytes

Versions: 2

Compression:

Stored size: 374 Bytes

Contents

require 'dry/logic'
require 'dry/logic/predicates'

include Dry::Logic

user_present = Rule::Predicate.new(Predicates[:key?]).curry(:user)

has_min_age = Operations::Key.new(Rule::Predicate.new(Predicates[:gt?]).curry(18), name: [:user, :age])

user_rule = user_present & has_min_age

puts user_rule.(user: { age: 19 }).success?

puts user_rule.(user: { age: 18 }).success?

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-logic-0.5.0 examples/basic.rb
dry-logic-0.4.2 examples/basic.rb