class Wamp::Client::Request::Unsubscribe

Public Instance Methods

create_request(request_id, subscription, &callback) click to toggle source
# File lib/wamp/client/request/unsubscribe.rb, line 16
def create_request(request_id, subscription, &callback)

  # Create the lookup
  lookup = { s: subscription, c: callback }

  # Create the message
  message = Message::Unsubscribe.new(request_id, subscription.id)

  # Return
  [lookup, message]
end
process_error(message, lookup) click to toggle source
# File lib/wamp/client/request/unsubscribe.rb, line 49
def process_error(message, lookup)
  if lookup
    # Get the params
    subscription = lookup[:s]
    callback = lookup[:c]

    # Create the details
    details = message.details || {}
    details[:topic] = subscription.topic unless details[:topic]
    details[:type] = 'unsubscribe'

    # Return the values
    [callback, details]
  else
    [nil, nil]
  end

end
process_success(message, lookup) click to toggle source
# File lib/wamp/client/request/unsubscribe.rb, line 28
def process_success(message, lookup)
  if lookup
    # Get the params
    subscription = lookup[:s]
    callback = lookup[:c]

    # Create the details
    details = {}
    details[:topic] = subscription.topic
    details[:type] = 'unsubscribe'

    # Call the on_success method
    self.on_success.call(subscription.id)

    # Return the values
    [callback, subscription, details]
  else
    [nil, nil, nil]
  end
end