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