class Aws::Resources::Operations::HasOperation

Attributes

builder[R]

@return [Builder]

Public Class Methods

new(options = {}) click to toggle source

@option options [required, Builder] :builder

Calls superclass method Aws::Resources::Operations::Base.new
# File lib/aws-sdk-resources/operations.rb, line 150
def initialize(options = {})
  @builder = option(:builder, options)
  super
end

Public Instance Methods

arity() click to toggle source
# File lib/aws-sdk-resources/operations.rb, line 169
def arity
  @builder.sources.count { |s| BuilderSources::Argument === s }
end
call(options) click to toggle source

@option (see Base#call) @return [Resource]

# File lib/aws-sdk-resources/operations.rb, line 160
def call(options)
  if argc(options) == arity
    @builder.build(options)
  else
    msg = "wrong number of arguments (#{argc(options)} for #{arity})"
    raise ArgumentError, msg
  end
end

Private Instance Methods

argc(options) click to toggle source
# File lib/aws-sdk-resources/operations.rb, line 175
def argc(options)
  (options[:args] || []).count
end