class Magellan::Gcs::Proxy::PubsubSubscription::MessageWrapper

Attributes

original[R]
subscription[R]

Public Class Methods

new(subscription, original) click to toggle source

@param [Magellan::Gcs::Proxy::PubsubSubscription] subscription @param [Google::Apis::PubsubV1::ReceivedMessage] original

# File lib/magellan/gcs/proxy/pubsub_subscription.rb, line 45
def initialize(subscription, original)
  @subscription = subscription
  @original = original
end

Public Instance Methods

ack!()
Alias for: acknowledge!
ack_options() click to toggle source
# File lib/magellan/gcs/proxy/pubsub_subscription.rb, line 67
def ack_options
  # https://github.com/google/google-api-ruby-client/blob/master/lib/google/apis/options.rb#L48
  @ack_options ||= { authorization: GCP.auth, retries: 10 }
end
acknowledge!() click to toggle source
# File lib/magellan/gcs/proxy/pubsub_subscription.rb, line 72
def acknowledge!
  req = Google::Apis::PubsubV1::AcknowledgeRequest.new(ack_ids: [ack_id])
  GCP.pubsub.acknowledge_subscription(subscription.name, req, options: ack_options)
end
Also aliased as: ack!
delay!(new_deadline) click to toggle source
# File lib/magellan/gcs/proxy/pubsub_subscription.rb, line 78
def delay!(new_deadline)
  req = Google::Apis::PubsubV1::ModifyAckDeadlineRequest.new(ack_deadline_seconds: new_deadline, ack_ids: [ack_id])
  GCP.pubsub.modify_subscription_ack_deadline(subscription.name, req)
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/magellan/gcs/proxy/pubsub_subscription.rb, line 50
def method_missing(name, *args, &block)
  receiver =
    case name
    when :message_id, :attributes, :publish_time, :data then original.message
    when :ack_id then original
    end
  receiver ? receiver.send(name, *args, &block) : super
end
respond_to_missing?(name) click to toggle source
# File lib/magellan/gcs/proxy/pubsub_subscription.rb, line 59
def respond_to_missing?(name)
  case name
  when :message_id, :attributes, :publish_time, :data then true
  when :ack_id then true
  else false
  end
end