Module: JsonSchemaRails::Helpers

Extended by:
ActiveSupport::Concern
Defined in:
lib/json_schema_rails/helpers.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#schema_validation_failed(exception = nil) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/json_schema_rails/helpers.rb', line 30

def schema_validation_failed(exception = nil)
  if exception
    raise exception if Rails.env.development?
    logger.debug exception.message
  end
  render nothing: true, status: 400
end

#validate_schema(schema_name = nil) ⇒ Object



15
16
17
18
19
# File 'lib/json_schema_rails/helpers.rb', line 15

def validate_schema(schema_name = nil)
  validate_schema!(schema_name)
rescue JsonSchemaRails::ValidationError
  false
end

#validate_schema!(schema_name = nil) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/json_schema_rails/helpers.rb', line 21

def validate_schema!(schema_name = nil)
  schema_name ||= [
    "#{controller_path}/#{action_name}",
    "#{request.method}#{request.path}"
  ]
  ::JsonSchemaRails.validate!(schema_name, params)
  true
end