Module: OasRails::Builders::EsquemaBuilder

Defined in:
lib/oas_rails/builders/esquema_builder.rb

Class Method Summary collapse

Class Method Details

.build_incoming_schema(klass:, model_to_schema_class: EasyTalk, config: nil) ⇒ Hash

Builds a schema for a class when it is used as incoming API data.

Parameters:

  • klass (Class)

    The class for which the schema is built.

  • config (OasRails::Configuration, nil) (defaults to: nil)

    Optional config override; falls back to OasRails.config.

Returns:

  • (Hash)

    The schema as a JSON-compatible hash.



10
11
12
13
14
15
16
17
18
# File 'lib/oas_rails/builders/esquema_builder.rb', line 10

def build_incoming_schema(klass:, model_to_schema_class: EasyTalk, config: nil)
  resolved_config = config || OasRails.config
  build_schema(
    klass: klass,
    model_to_schema_class: model_to_schema_class,
    excluded_columns: resolved_config.excluded_columns_incoming,
    exclude_primary_key: true
  )
end

.build_outgoing_schema(klass:, model_to_schema_class: EasyTalk, config: nil) ⇒ Hash

Builds a schema for a class when it is used as outgoing API data.

Parameters:

  • klass (Class)

    The class for which the schema is built.

  • config (OasRails::Configuration, nil) (defaults to: nil)

    Optional config override; falls back to OasRails.config.

Returns:

  • (Hash)

    The schema as a JSON-compatible hash.



25
26
27
28
29
30
31
32
33
# File 'lib/oas_rails/builders/esquema_builder.rb', line 25

def build_outgoing_schema(klass:, model_to_schema_class: EasyTalk, config: nil)
  resolved_config = config || OasRails.config
  build_schema(
    klass: klass,
    model_to_schema_class: model_to_schema_class,
    excluded_columns: resolved_config.excluded_columns_outgoing,
    exclude_primary_key: false
  )
end