Class: GrapeOAS::Introspectors::DryIntrospectorSupport::ConstraintApplier

Inherits:
Object
  • Object
show all
Defined in:
lib/grape_oas/introspectors/dry_introspector_support/constraint_applier.rb

Overview

Applies extracted constraints to ApiModel::Schema objects.

Instance Method Summary collapse

Constructor Details

#initialize(schema, constraints, meta = {}) ⇒ ConstraintApplier

Returns a new instance of ConstraintApplier.



8
9
10
11
12
# File 'lib/grape_oas/introspectors/dry_introspector_support/constraint_applier.rb', line 8

def initialize(schema, constraints, meta = {})
  @schema = schema
  @constraints = constraints
  @meta = meta
end

Instance Method Details

#apply_metaObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/grape_oas/introspectors/dry_introspector_support/constraint_applier.rb', line 14

def apply_meta
  case schema.type
  when Constants::SchemaTypes::STRING
    apply_string_meta
  when Constants::SchemaTypes::INTEGER, Constants::SchemaTypes::NUMBER
    apply_numeric_meta
  when Constants::SchemaTypes::ARRAY
    apply_array_meta
  end
end

#apply_rule_constraintsObject



25
26
27
28
29
30
31
32
# File 'lib/grape_oas/introspectors/dry_introspector_support/constraint_applier.rb', line 25

def apply_rule_constraints
  return unless constraints

  apply_type_specific_constraints
  apply_common_constraints
  apply_extension_constraints
  attach_unhandled
end