mikamai/akamai_api

View on GitHub
lib/akamai_api/eccu/find_request.rb

Summary

Maintainability
A
0 mins
Test Coverage
require "akamai_api/eccu/base_edit_request"
require "akamai_api/eccu/find_response"

module AkamaiApi::ECCU
  # The {FindRequest} class is used to get the details of an ECCU request.
  #
  # @example
  #   begin
  #     res = AkamaiApi::ECCU::FindRequest.execute 12345, false
  #     puts "Request found, in status #{res.status[:message]}"
  #   rescue AkamaiApi::Unauthorized
  #     puts "Invalid credentials"
  #   rescue AkamaiApi::NotFound
  #     puts "No request found with the given code"
  #   end
  class FindRequest < BaseEditRequest
    # Returns the details of an ECCU request
    # @param [Fixnum] code request code
    # @param [true,false] retrieve_content set to true if you want to retrieve request content too
    # @return [FindResponse]
    def self.execute code, retrieve_content = false
      new(code).execute(retrieve_content)
    end

    # Returns the details of an ECCU request
    # @param [true,false] retrieve_content set to true if you want to retrieve request content too
    # @return [FindResponse]
    def execute retrieve_content = false
      with_soap_error_handling do
        response = client_call :get_info, message: request_body(retrieve_content).to_s
        FindResponse.new response[:eccu_info]
      end
    end

    protected

    # Creates the request body filling it with all necessary arguments
    # @return [SoapBody]
    def request_body retrieve_content
      super do |block|
        block.boolean :retrieveContents, retrieve_content == true
      end
    end
  end
end