dry-rb/dry-validation

import_predicates_as_macros: included_in?, format?, size? issues

Offen

#608 geöffnet am 19.12.2019

 (9 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Ruby (195 Forks)github user discovery
bughelp wanted

Repository-Metriken

Stars
 (1.422 Sterne)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

class MyContract < Dry::Validation::Contract
  params do
    required(:hogwarts_house).hash do
      required(:head).filled(:string)
      required(:common_room).hash do
        required(:name).filled(:string)
        required(:location).filled(:string)
      end
    end
  end

  rule('hogwarts_house.head').validate(size?: 1..255)
  rule('hogwarts_house.head').validate(format?: SOME_REGEX)
  rule('hogwarts_house.common_room.location').validate(included_in?: ['tower', 'underground'])
end

For included_in? and size? passing an array of integers/strings not working but it works when just one value passed or with predicates which do not require arrays) included_in?

rule('hogwarts_house.common_room.location').validate(included_in?: ['tower', 'underground'])

size?

rule('hogwarts_house.head').validate(size?: 1..255) ArgumentError (wrong number of arguments (given 256, expected 2))

This predicate is just returning error. format?

rule('hogwarts_house.head').validate(format?: SOME_REGEX) Dry::Container::Error: Nothing registered with the key :format?

Contributor Guide