class InstanceId::Request::BatchOperation

Constants

OPERATION_TYPE_ADD
OPERATION_TYPE_REMOVE

Attributes

operation_type[RW]
registration_tokens[RW]
topic[RW]

Public Instance Methods

endpoint() click to toggle source
# File lib/instance_id/request/batch_operation.rb, line 18
def endpoint
  "/iid/v1:#{operation_name}"
end
invoke() click to toggle source
Calls superclass method
# File lib/instance_id/request/batch_operation.rb, line 26
def invoke
  super do |request|
    request.params['to']                  = to
    request.params["registration_tokens"] = [registration_tokens].flatten.compact
  end
end
method() click to toggle source
# File lib/instance_id/request/batch_operation.rb, line 14
def method
  :post
end
response_class() click to toggle source
# File lib/instance_id/request/batch_operation.rb, line 22
def response_class
  InstanceId::Response::BatchOperation
end

Private Instance Methods

operation_name() click to toggle source
# File lib/instance_id/request/batch_operation.rb, line 40
def operation_name
  case operation_type.to_s.downcase
  when OPERATION_TYPE_ADD    then 'batchAdd'
  when OPERATION_TYPE_REMOVE then 'batchRemove'
  else raise "operation not specified, operation_type = #{operation_type}"
  end
end
to() click to toggle source
# File lib/instance_id/request/batch_operation.rb, line 35
def to
  raise "invalid topic format: #{topic}" unless /\A\/topics\/.+\z/ === topic
  topic
end