Sha256: 5ee6656be749e98411084423570177c38f192da377392006856a8f17f2579f4e
Contents?: true
Size: 515 Bytes
Versions: 3
Compression:
Stored size: 515 Bytes
Contents
require 'dry/logic' require 'dry/logic/predicates' include Dry::Logic user_present = Rule::Key.new(Predicates[:filled?], name: :user) has_min_age = Rule::Key.new(Predicates[:int?], name: [:user, :age]) & Rule::Key.new(Predicates[:gt?].curry(18), name: [:user, :age]) user_rule = user_present & has_min_age puts user_rule.(user: { age: 19 }).inspect puts user_rule.(user: { age: 18 }).inspect puts user_rule.(user: { age: 'seventeen' }).inspect puts user_rule.(user: { }).inspect puts user_rule.({}).inspect
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-logic-0.4.1 | examples/basic.rb |
dry-logic-0.4.0 | examples/basic.rb |
dry-logic-0.3.0 | examples/basic.rb |