Class: Committee::RequestValidator
- Inherits:
-
Object
- Object
- Committee::RequestValidator
- Defined in:
- lib/committee/request_validator.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
Instance Method Summary collapse
- #call(request) ⇒ Object
-
#initialize(link, options = {}) ⇒ RequestValidator
constructor
A new instance of RequestValidator.
Constructor Details
#initialize(link, options = {}) ⇒ RequestValidator
Returns a new instance of RequestValidator.
5 6 7 |
# File 'lib/committee/request_validator.rb', line 5 def initialize(link, = {}) @link = link end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
3 4 5 |
# File 'lib/committee/request_validator.rb', line 3 def data @data end |
Instance Method Details
#call(request) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/committee/request_validator.rb', line 9 def call(request) check_content_type!(request) @data = Committee::RequestUnpacker.new(request).call if @link.schema valid, errors = @link.schema.validate(@data) if !valid errors = JsonSchema::SchemaError.aggregate(errors).join("\n") raise InvalidRequest, "Invalid request.\n\n#{errors}" end end end |