Module: OasCore::Spec::Specable

Included in:
Components, Contact, Info, License, MediaType, Operation, Parameter, PathItem, Paths, Reference, RequestBody, Response, Responses, Server, Specification, Tag
Defined in:
lib/oas_core/spec/specable.rb

Instance Method Summary collapse

Instance Method Details

#as_json(options = nil) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



20
21
22
# File 'lib/oas_core/spec/specable.rb', line 20

def as_json(options = nil)
  to_spec
end

#oas_fieldsObject



6
7
8
# File 'lib/oas_core/spec/specable.rb', line 6

def oas_fields
  []
end

#to_specObject



10
11
12
13
14
15
16
17
# File 'lib/oas_core/spec/specable.rb', line 10

def to_spec
  oas_fields.each_with_object({}) do |var, hash|
    key = var.to_s.camelize(:lower).to_sym
    value = send(var)
    processed_value = process_value(value)
    hash[key] = processed_value unless valid_processed_value?(processed_value)
  end
end