module MSS::Core::ServiceInterface

Public Class Methods

included(base) click to toggle source
# File lib/mss/core/service_interface.rb, line 18
def self.included base

  base.send(:attr_reader, :config)
  base.send(:attr_reader, :client)

  base.module_eval('module Errors; end')

  unless base::Errors.include?(Errors)
    base::Errors.module_eval { include Errors }
  end

  MSS::Core::MetaUtils.extend(base) do

    # @api private
    def endpoint_prefix prefix = nil, options = {}
      if prefix
        @endpoint_prefix = prefix
        @global_endpoint = !!options[:global]
      end
      @endpoint_prefix
    end

    # @api private
    def global_endpoint?
      @global_endpoint
    end

    def regions
      RegionCollection.new(:service => self)
    end

  end

end
new(options = {}) click to toggle source

Returns a new interface object for this service. You can override any of the global configuration parameters by passing them in as hash options. They are merged with MSS.config or merged with the provided `:config` object.

@ec2 = MSS::EC2.new(:max_retries => 2)

@see MSS::Cofiguration

@param [Hash] options

@option options [Configuration] :config An MSS::Configuration

object to initialize this service interface object with.  Defaults
to MSS.config when not provided.
# File lib/mss/core/service_interface.rb, line 68
def initialize options = {}
  options = options.dup
  @config = (options.delete(:config) || MSS.config)
  @config = @config.with(options)
  @client = @config.send(Inflection.ruby_name(self.class.name.split('::').last) + '_client')
end

Public Instance Methods

endpoint_prefix(prefix = nil, options = {}) click to toggle source

@api private

# File lib/mss/core/service_interface.rb, line 32
def endpoint_prefix prefix = nil, options = {}
  if prefix
    @endpoint_prefix = prefix
    @global_endpoint = !!options[:global]
  end
  @endpoint_prefix
end
global_endpoint?() click to toggle source

@api private

# File lib/mss/core/service_interface.rb, line 41
def global_endpoint?
  @global_endpoint
end
inspect() click to toggle source

@return [String]

# File lib/mss/core/service_interface.rb, line 76
def inspect
  "<#{self.class}>"
end
regions() click to toggle source
# File lib/mss/core/service_interface.rb, line 45
def regions
  RegionCollection.new(:service => self)
end