class Seahorse::Model::Api

def add_authorizer(name, authorizer)

def add_authorizer(name, authorizer)
  @authorizers[name.to_sym] = authorizer
end

def add_operation(name, operation)

def add_operation(name, operation)
  @operations[name.to_sym] = operation
end

def async_operation_names

def async_operation_names
  @operations.select {|_, op| op.async }.keys
end

def authorizer(name)

def authorizer(name)
  if @authorizers.key?(name.to_sym)
    @authorizers[name.to_sym]
  else
    raise ArgumentError, "unknown authorizer #{name.inspect}"
  end
end

def authorizer_names

def authorizer_names
  @authorizers.keys
end

def authorizers(&block)

def authorizers(&block)
  if block_given?
    @authorizers.each(&block)
  else
    @authorizers.enum_for(:each)
  end
end

def initialize

def initialize
  @metadata = {}
  @operations = {}
  @authorizers = {}
  @endpoint_operation = nil
  @require_endpoint_discovery = false
end

def inspect(*args)

def inspect(*args)
  "#<#{self.class.name}>"
end

def operation(name)

def operation(name)
  if @operations.key?(name.to_sym)
    @operations[name.to_sym]
  else
    raise ArgumentError, "unknown operation #{name.inspect}"
  end
end

def operation_names

def operation_names
  @operations.keys
end

def operations(&block)

def operations(&block)
  if block_given?
    @operations.each(&block)
  else
    @operations.enum_for(:each)
  end
end