class OpenApi::DSL::ExampleObj

github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#exampleObject

Attributes

example_value[RW]
examples_hash[RW]
keys_of_value[RW]

Public Class Methods

new(exp, keys_of_value = nil, multiple: false) click to toggle source
# File lib/oas_objs/example_obj.rb, line 14
def initialize(exp, keys_of_value = nil, multiple: false)
  multiple ? self.examples_hash = exp : self.example_value = exp
  self.keys_of_value = keys_of_value
end

Public Instance Methods

process() click to toggle source
# File lib/oas_objs/example_obj.rb, line 19
def process
  return example_value if example_value
  return unless examples_hash

  examples_hash.map do |(name, value)|
    value =
        if keys_of_value.present? && value.is_a?(Array)
          { value: Hash[keys_of_value.zip(value)] }
        elsif value.is_a?(Symbol) && value['$']
          RefObj.new(value.to_s.delete('$'), :example).process
        else
          { value: value }
        end

    { name => value }
  end
end