class AWS::Core::Client::ClientRequestMethodBuilder

@private

Public Class Methods

new(client_class, method_name, &block) click to toggle source
# File lib/aws/core/client.rb, line 447
def initialize client_class, method_name, &block
  @client_class = client_class
  @method_name = method_name
  configure_request {|request, options|}
  process_response {|response|}
  simulate_response {|response|}
  instance_eval(&block)
end

Public Instance Methods

configure_request(options = {}) click to toggle source
# File lib/aws/core/client.rb, line 456
        def configure_request options = {}, &block
          name = "configure_#{@method_name}_request"
          MetaUtils.class_extend_method(@client_class, name, &block)
          if block.arity == 3
            m = Module.new
            m.module_eval("              def #{name}(req, options, &block)
                super(req, options, block)
              end
")
            @client_class.send(:include, m)
          end
        end
process_response(&block) click to toggle source
# File lib/aws/core/client.rb, line 470
def process_response &block
  name = "process_#{@method_name}_response"
  MetaUtils.class_extend_method(@client_class, name, &block)
end
simulate_response(&block) click to toggle source
# File lib/aws/core/client.rb, line 475
def simulate_response &block
  name = "simulate_#{@method_name}_response"
  MetaUtils.class_extend_method(@client_class, name, &block)
end