Sha256: 4f34b1fab9295a4226d2b9f2f5bed31c616779aaf671bae89384beec49409089

Contents?: true

Size: 724 Bytes

Versions: 6

Compression:

Stored size: 724 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

6 entries across 6 versions & 1 rubygems

Version Path
awis-sdk-ruby-1.0.0 lib/awis/models/base.rb
awis-sdk-ruby-0.1.1 lib/awis/models/base.rb
awis-sdk-ruby-0.1.0 lib/awis/models/base.rb
awis-sdk-ruby-0.0.9 lib/awis/models/base.rb
awis-sdk-ruby-0.0.8 lib/awis/models/base.rb
awis-sdk-ruby-0.0.7 lib/awis/models/base.rb