Class Amazon::Ecs::Response
In: lib/amazon/ecs.rb
Parent: Object

Response object returned after a REST call to Amazon service.

Methods

Public Class methods

XML input is in string format

[Source]

# File lib/amazon/ecs.rb, line 124
      def initialize(xml)
        @doc = Hpricot(xml)
      end

Public Instance methods

Return Hpricot object.

[Source]

# File lib/amazon/ecs.rb, line 129
      def doc
        @doc
      end

Return error message.

[Source]

# File lib/amazon/ecs.rb, line 144
      def error
        Element.get(@doc, "error/message")
      end

Return error code

[Source]

# File lib/amazon/ecs.rb, line 149
      def error_code
        Element.get(@doc, "error/code")
      end

Return the first item (Amazon::Element)

[Source]

# File lib/amazon/ecs.rb, line 162
      def first_item
        items.first
      end

Return true if response has an error.

[Source]

# File lib/amazon/ecs.rb, line 139
      def has_error?
        !(error.nil? || error.empty?)
      end

Return true if request is valid.

[Source]

# File lib/amazon/ecs.rb, line 134
      def is_valid_request?
        (@doc/"isvalid").inner_html == "True"
      end

Return current page no if :item_page option is when initiating the request.

[Source]

# File lib/amazon/ecs.rb, line 167
      def item_page
        unless @item_page
          @item_page = (@doc/"itemsearchrequest/itempage").inner_html.to_i
        end
        @item_page
      end

Return an array of Amazon::Element item objects.

[Source]

# File lib/amazon/ecs.rb, line 154
      def items
        unless @items
          @items = (@doc/"item").collect {|item| Element.new(item)}
        end
        @items
      end

Return total pages.

[Source]

# File lib/amazon/ecs.rb, line 183
      def total_pages
        unless @total_pages
          @total_pages = (@doc/"totalpages").inner_html.to_i
        end
        @total_pages
      end

Return total results.

[Source]

# File lib/amazon/ecs.rb, line 175
      def total_results
        unless @total_results
          @total_results = (@doc/"totalresults").inner_html.to_i
        end
        @total_results
      end

[Validate]