class Seahorse::Model::Operation

Attributes

definition[R]

@return [Hash]

documentation[R]

@return [String<HTML>, nil]

http_method[R]

@return [String]

http_request_uri[R]

@return [String]

input[R]

@return [Shape, nil]

name[R]

@return [String]

output[R]

@return [Shape, nil]

paging[R]

@return [Hash]

Public Class Methods

new(definition = {}, options = {}) click to toggle source

@param [Hash] definition @option options [ShapeMap] :shape_map

# File lib/seahorse/model/operation.rb, line 7
def initialize(definition = {}, options = {})
  @definition = definition
  @shape_map = options[:shape_map] || ShapeMap.new
  @name = definition['name']
  @input = shape_for(definition['input']) if definition['input']
  @output = shape_for(definition['output']) if definition['output']
  @deprecated = !!definition['deprecated']
  @documentation = definition['documentation']
  @paging = definition['paging'] || {}
end

Public Instance Methods

deprecated?() click to toggle source

@return [Boolean] Returns `true` if this API operation is deprecated.

# File lib/seahorse/model/operation.rb, line 53
def deprecated?
  !!@definition['deprecated']
end
errors() click to toggle source

@return [Enumerator] Returns an enumerator that yields error

shapes.
# File lib/seahorse/model/operation.rb, line 59
def errors
  errors = (definition['errors'] || [])
  errors = errors.map { |error| shape_for(error) }
  errors.enum_for(:each)
end

Private Instance Methods

shape_for(definition) click to toggle source
# File lib/seahorse/model/operation.rb, line 67
def shape_for(definition)
  if definition.key?('shape')
    @shape_map.shape(definition)
  else
    Shapes::Shape.new(definition, shape_map: @shape_map)
  end
end