Sha256: f67b8536cf9262c0aced1af4d8eb3ec45918939897f5a267cb011c0a5732727f

Contents?: true

Size: 730 Bytes

Versions: 4

Compression:

Stored size: 730 Bytes

Contents

module Awis
  module Models
    class Base
      attr_accessor :response, :status_code, :request_id

      def loading_response(response)
        Awis::Utils::XML.new(response.response_body)
      end

      def root_node_name
        "/aws:#{action_name}Response/aws:Response/aws:#{action_name}Result/aws:Alexa"
      end

      def action_name
        self.class.name.split(/\:\:/)[-1]
      end
      
      def relationship_collections(_object, items, items_count, kclass)
        return if items.empty?

        all_items = {}.array_slice_merge!(:item, items, items_count)
        all_items.map { |item| _object << kclass.new(item) }
      end

      def success?
        status_code == 'Success'
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
awis-sdk-ruby-0.0.6 lib/awis/models/base.rb
awis-sdk-ruby-0.0.5 lib/awis/models/base.rb
awis-sdk-ruby-0.0.4 lib/awis/models/base.rb
awis-sdk-ruby-0.0.3 lib/awis/models/base.rb