Sha256: 64bc2db77d21bc45c23fd5512f0acf58a9a05f7591a44bef5cb5eb6730293dd0

Contents?: true

Size: 378 Bytes

Versions: 3

Compression:

Stored size: 378 Bytes

Contents

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

include Dry::Logic

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

has_min_age = Operations::Key.new(Rule::Predicate.build(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

3 entries across 3 versions & 1 rubygems

Version Path
dry-logic-1.0.0 examples/basic.rb
dry-logic-0.6.1 examples/basic.rb
dry-logic-0.6.0 examples/basic.rb