class EngagingNetworks::DuplicateCampaignAction

Attributes

broadcast_name[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

broadcast_template_id[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

csv_file_name[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

csv_string[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

format_name[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

job_id[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

new_campaign_reference_name[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

reference_name[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

segment_id[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

segment_name[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

template_campaign_id[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

token[RW]

formatting / validation class for Duplicate Engaging Network Template Campaign (Endpoint)

Public Instance Methods

to_params() click to toggle source
# File lib/engaging_networks/duplicate_campaign_action.rb, line 9
def to_params
  csv = if csv_string.is_a?(String)
    StringIO.new(self.csv_string)
  else
    csv_string
  end

  params = {name: reference_name, #Arbitrary name - should be unique
            token: token, # Private token
            formatName: format_name, # Saved Format in EN
            upload: Faraday::UploadIO.new(csv, 'text/csv', csv_file_name), # Predefined Format
            segmentName: segment_name,
            segmentId: segment_id,
            campaignName: new_campaign_reference_name,
            campaignId: template_campaign_id,
            broadcastId: broadcast_template_id,
            broadcastName: broadcast_name}
  params.delete(:broadcastId) unless broadcast_template_id
  params.delete(:broadcastName) unless broadcast_name
  params.delete(:segmentId) unless segment_id
  params.delete(:segmentName) unless segment_name
  params.delete(:campaignId) unless template_campaign_id
  params.delete(:campaignName) unless new_campaign_reference_name
  params
end