@@ -8,9 +8,9 @@ module Validations
88 # All validators must inherit from this class.
99 #
1010 class Validator
11- def initialize ( attrs , options , doc_attrs )
11+ def initialize ( attrs , options , required )
1212 @attrs = Array ( attrs )
13- @doc_attrs = doc_attrs
13+ @required = required
1414
1515 if options . is_a? ( Hash ) && !options . empty?
1616 raise "unknown options: #{ options . keys } "
@@ -19,7 +19,7 @@ def initialize(attrs, options, doc_attrs)
1919
2020 def validate! ( params )
2121 @attrs . each do |attr_name |
22- if @doc_attrs [ : required] || params . has_key? ( attr_name )
22+ if @required || params . has_key? ( attr_name )
2323 validate_param! ( attr_name , params )
2424 end
2525 end
@@ -40,7 +40,7 @@ def self.convert_to_short_name(klass)
4040 ##
4141 # Base class for all validators taking only one param.
4242 class SingleOptionValidator < Validator
43- def initialize ( attrs , options , doc_attrs )
43+ def initialize ( attrs , options , required )
4444 @option = options
4545 super
4646 end
@@ -130,7 +130,7 @@ def validates(attrs, validations)
130130 def validate ( type , options , attrs , doc_attrs )
131131 validator_class = Validations ::validators [ type . to_s ]
132132 if validator_class
133- @api . settings [ :validations ] << validator_class . new ( attrs , options , doc_attrs )
133+ @api . settings [ :validations ] << validator_class . new ( attrs , options , doc_attrs [ :required ] )
134134 else
135135 raise "unknown validator: #{ type } "
136136 end
0 commit comments