Class: Knight::Validator
- Inherits:
-
Object
- Object
- Knight::Validator
- Defined in:
- lib/knight/validator.rb
Constant Summary collapse
- DEFAULT_CONTEXT =
:default
Instance Method Summary collapse
-
#add(rule, context_name = DEFAULT_CONTEXT) ⇒ Set(Rule)
Add a rule.
-
#context(name) {|rules(name)| ... } ⇒ undefined
Accept block.
-
#initialize(*rules) ⇒ Validator
constructor
Initialize a validator.
-
#rules(context_name = DEFAULT_CONTEXT) ⇒ Set(Rule)
Run the validator.
-
#run(resource, context_name = DEFAULT_CONTEXT) ⇒ Result
Run the validator.
Constructor Details
#initialize(*rules) ⇒ Validator
Initialize a validator
19 20 21 22 |
# File 'lib/knight/validator.rb', line 19 def initialize(*rules) @rules = {} rules.each { |rule| add(rule) } end |
Instance Method Details
#add(rule, context_name = DEFAULT_CONTEXT) ⇒ Set(Rule)
Add a rule
36 37 38 |
# File 'lib/knight/validator.rb', line 36 def add(rule, context_name = DEFAULT_CONTEXT) context(context_name) { |rules| rules << rule } if rule end |
#context(name) {|rules(name)| ... } ⇒ undefined
Accept block
87 88 89 |
# File 'lib/knight/validator.rb', line 87 def context(name) yield rules(name) end |
#rules(context_name = DEFAULT_CONTEXT) ⇒ Set(Rule)
Run the validator
68 69 70 71 72 |
# File 'lib/knight/validator.rb', line 68 def rules(context_name = DEFAULT_CONTEXT) @rules.fetch(context_name) do |key| @rules[key] = Set.new end end |
#run(resource, context_name = DEFAULT_CONTEXT) ⇒ Result
Run the validator
53 54 55 |
# File 'lib/knight/validator.rb', line 53 def run(resource, context_name = DEFAULT_CONTEXT) Result.new(resource, rules(context_name)) end |