class Rapa::Queries::BaseQuery

Constants

SERVICE
VERSION

Attributes

property_names[W]

Public Class Methods

inherited(child_class) click to toggle source

@note Override

# File lib/rapa/queries/base_query.rb, line 14
def inherited(child_class)
  child_class.property_names = property_names.clone
end
new(options = {}) click to toggle source

@param options [Hash]

# File lib/rapa/queries/base_query.rb, line 40
def initialize(options = {})
  @options = options
end
property(property_name) click to toggle source

@param property_name [Symbol]

# File lib/rapa/queries/base_query.rb, line 24
def property(property_name)
  property_names << property_name
end
property_names() click to toggle source

@return [Array<Symbol>]

# File lib/rapa/queries/base_query.rb, line 19
def property_names
  @property_names ||= []
end

Public Instance Methods

AWSAccessKeyId() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 55
def AWSAccessKeyId
  options[:access_key_id]
end
AssociateTag() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 50
def AssociateTag
  options[:associate_tag]
end
Operation() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 60
def Operation
  raise ::NotImplementedError
end
RelatedItemPage() click to toggle source

@return [Integer, nil]

# File lib/rapa/queries/base_query.rb, line 65
def RelatedItemPage
  options[:related_item_page]
end
RelationshipType() click to toggle source

@return [String, nil]

# File lib/rapa/queries/base_query.rb, line 70
def RelationshipType
  options[:relationship_type]
end
ResponseGroup() click to toggle source

@return [String, nil]

# File lib/rapa/queries/base_query.rb, line 75
def ResponseGroup
  if options[:response_groups]
    options[:response_groups].join(",")
  end
end
Service() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 82
def Service
  SERVICE
end
Timestamp() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 87
def Timestamp
  ::Time.now.utc.iso8601
end
Version() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 112
def Version
  VERSION
end
inspect() click to toggle source

@note Override

# File lib/rapa/queries/base_query.rb, line 45
def inspect
  "#<#{self.class}>"
end
to_hash() click to toggle source

@return [Hash]

# File lib/rapa/queries/base_query.rb, line 92
def to_hash
  self.class.property_names.each_with_object({}) do |property_name, result|
    value = send(property_name)
    unless value.nil?
      result[property_name.to_s] = ::ERB::Util.url_encode(value)
    end
  end.sort.to_h
end
to_s() click to toggle source

@return [String]

# File lib/rapa/queries/base_query.rb, line 102
def to_s
  to_hash.map do |key, value|
    [
      key,
      value,
    ].join("=")
  end.join("&")
end

Private Instance Methods

options() click to toggle source

@private @return [Hash]

# File lib/rapa/queries/base_query.rb, line 120
def options
  @options
end