class DataSift::ManagedSource

Methods for using {dev.datasift.com/docs/sources/managed-sources

DataSift Managed Sources}

Public Instance Methods

create(source_type, name, parameters = {}, resources = [], auth = [], options = {}) click to toggle source

Creates a new managed source

@param source_type [String] Type of Managed Source you are creating. e.g.

facebook_page, instagram, etc

@param name [String] Name of this Managed Source @param parameters [Hash] Source-specific configuration parameters @param resources [Array] Array of source-specific resources @param auth [Array] Array of source-specific auth credentials

# File lib/managed_source.rb, line 13
def create(source_type, name, parameters = {}, resources = [], auth = [], options = {})
  fail BadParametersError, 'source_type and name are required' if source_type.nil? || name.nil?
  params = {
    :source_type => source_type,
    :name => name
  }
  params.merge!(options) unless options.empty?
  params.merge!(
    { :auth => auth.is_a?(String) ? auth : MultiJson.dump(auth) }
  ) unless auth.empty?
  params.merge!(
    { :parameters => parameters.is_a?(String) ? parameters : MultiJson.dump(parameters) }
  ) unless parameters.empty?
  params.merge!(
    { :resources => resources.is_a?(String) ? resources : MultiJson.dump(resources) }
  ) if resources.length > 0
  DataSift.request(:POST, 'source/create', @config, params)
end
delete(id) click to toggle source

Delete a Managed Source

@param id [String] ID of the Managed Source you are deleting

# File lib/managed_source.rb, line 58
def delete(id)
  fail BadParametersError, 'ID is required' if id.nil?
  DataSift.request(:DELETE, 'source/delete', @config, { :id => id })
end
get(id = nil, source_type = nil, page = 1, per_page = 20) click to toggle source

Retrieve details of a Managed Source

@param id [String] ID of the Managed Source you are getting. Omitting the

ID will return a list of Managed Sources

@param source_type [String] Limits the list of Managed Sources returned to

only sources of a specific source type if specified

@param page [Integer] Number of Managed Sources to return on one page of

results

@param per_page [Integer] Number of Managed Sources to return per page

# File lib/managed_source.rb, line 88
def get(id = nil, source_type = nil, page = 1, per_page = 20)
  params = { :page => page, :per_page => per_page }
  params.merge!({ :id => id }) if !id.nil?
  params.merge!({ :source_type => source_type }) if !source_type.nil?

  DataSift.request(:GET, 'source/get', @config, params)
end
log(id, page = 1, per_page = 20) click to toggle source

Retrieve log details of Managed Sources

@param id [String] ID of the Managed Source for which you are collecting

logs

@param page [Integer] Number of Managed Source logs to return on one page

of results

@param per_page [Integer] Number of Managed Source logs to return per page

# File lib/managed_source.rb, line 103
def log(id, page = 1, per_page = 20)
  fail BadParametersError, 'ID is required' if id.nil?
  DataSift.request(:POST, 'source/log', @config, { :id => id, :page => page, :per_page => per_page })
end
start(id) click to toggle source

Start a Managed Source

@param id [String] ID of the Managed Source you are starting

# File lib/managed_source.rb, line 74
def start(id)
  fail BadParametersError, 'ID is required' if id.nil?
  DataSift.request(:POST, 'source/start', @config, { :id => id })
end
stop(id) click to toggle source

Stop a Managed Source

@param id [String] ID of the Managed Source you are stopping

# File lib/managed_source.rb, line 66
def stop(id)
  fail BadParametersError, 'ID is required' if id.nil?
  DataSift.request(:POST, 'source/stop', @config, { :id => id })
end
update(id, source_type, name, parameters = {}, resources = [], auth = [], options = {}) click to toggle source

Update a Managed Source

@param id [String] ID of the Managed Source you are updating @param source_type [String] Type of Managed Source you are updating @param name [String] Name (or new name) of the Managed Source @param parameters [Hash] Source-specific configuration parameters @param resources [Array] Array of source-specific resources @param auth [Array] Array of source-specific auth credentials

# File lib/managed_source.rb, line 40
def update(id, source_type, name, parameters = {}, resources = [], auth = [], options = {})
  fail BadParametersError, 'ID, source_type and name are required' if id.nil? || source_type.nil? || name.nil?
  params = {
    :id => id,
    :source_type => source_type,
    :name => name
  }
  params.merge!(options) unless options.empty?
  params.merge!({:auth => MultiJson.dump(auth)}) if !auth.empty?
  params.merge!({:parameters => MultiJson.dump(parameters)}) if !parameters.empty?
  params.merge!({:resources => MultiJson.dump(resources)}) if resources.length > 0

  DataSift.request(:POST, 'source/update', @config, params)
end