class SalesforceStreamer::SalesforceClient

Constants

QUERY

Public Class Methods

new(client: Restforce.new) click to toggle source
# File lib/salesforce_streamer/salesforce_client.rb, line 3
def initialize(client: Restforce.new)
  @client = client
end

Public Instance Methods

authenticate!() click to toggle source
# File lib/salesforce_streamer/salesforce_client.rb, line 7
def authenticate!
  @client.authenticate!
end
find_push_topic_by_name(name) click to toggle source

Returns nil or an instance of Restforce::SObject

# File lib/salesforce_streamer/salesforce_client.rb, line 16
def find_push_topic_by_name(name)
  query = QUERY.dup.gsub(/\s+/, ' ').gsub('{{NAME}}', name)
  @client.query(query).first
end
subscribe(*args, &block) click to toggle source
# File lib/salesforce_streamer/salesforce_client.rb, line 11
def subscribe(*args, &block)
  @client.subscribe(args, &block)
end
upsert_push_topic(push_topic) click to toggle source

Returns true or raises an exception if the upsert fails

# File lib/salesforce_streamer/salesforce_client.rb, line 22
def upsert_push_topic(push_topic)
  @client.upsert!(
    'PushTopic', :Id,
    'Id' => push_topic.id,
    'Name' => push_topic.name,
    'ApiVersion' => push_topic.api_version,
    'Description' => push_topic.description,
    'NotifyForFields' => push_topic.notify_for_fields,
    'Query' => push_topic.query
  )
end