class Openapi3Parser::NodeFactory::Operation

Private Instance Methods

build_object(data, context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 27
def build_object(data, context)
  data["servers"] = path_item_server_data(context) if data["servers"].node.empty?

  Node::Operation.new(data, context)
end
callbacks_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 58
def callbacks_factory(context)
  factory = NodeFactory::OptionalReference.new(NodeFactory::Callback)
  NodeFactory::Map.new(context, value_factory: factory)
end
parameters_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 37
def parameters_factory(context)
  factory = NodeFactory::OptionalReference.new(NodeFactory::Parameter)

  validate_parameters = lambda do |validatable|
    validatable.add_error(
      Validators::DuplicateParameters.call(
        validatable.factory.resolved_input
      )
    )
  end

  NodeFactory::Array.new(context,
                         value_factory: factory,
                         validate: validate_parameters)
end
path_item_server_data(node_context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 78
def path_item_server_data(node_context)
  path_item_servers = node_context.parent_node.node_data["servers"]
  Node::Placeholder.new(path_item_servers.node_factory,
                        "servers",
                        node_context)
end
request_body_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 53
def request_body_factory(context)
  factory = NodeFactory::RequestBody
  NodeFactory::OptionalReference.new(factory).call(context)
end
responses_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 63
def responses_factory(context)
  factory = NodeFactory::RequestBody
  NodeFactory::OptionalReference.new(factory).call(context)
end
security_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 68
def security_factory(context)
  NodeFactory::Array.new(context,
                         value_factory: NodeFactory::SecurityRequirement)
end
servers_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 73
def servers_factory(context)
  NodeFactory::Array.new(context,
                         value_factory: NodeFactory::Server)
end
tags_factory(context) click to toggle source
# File lib/openapi3_parser/node_factory/operation.rb, line 33
def tags_factory(context)
  NodeFactory::Array.new(context, value_input_type: String)
end