Class: EngagingNetworks::DuplicateCampaignAction

Inherits:
ActionModel
  • Object
show all
Defined in:
lib/engaging_networks/duplicate_campaign_action.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ActionModel

#initialize, #persisted?, reflect_on_association

Constructor Details

This class inherits a constructor from EngagingNetworks::ActionModel

Instance Attribute Details

#broadcast_nameObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def broadcast_name
  @broadcast_name
end

#broadcast_template_idObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def broadcast_template_id
  @broadcast_template_id
end

#csv_file_nameObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def csv_file_name
  @csv_file_name
end

#csv_stringObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def csv_string
  @csv_string
end

#format_nameObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def format_name
  @format_name
end

#job_idObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def job_id
  @job_id
end

#new_campaign_reference_nameObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def new_campaign_reference_name
  @new_campaign_reference_name
end

#reference_nameObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def reference_name
  @reference_name
end

#segment_idObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def segment_id
  @segment_id
end

#segment_nameObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def segment_name
  @segment_name
end

#template_campaign_idObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def template_campaign_id
  @template_campaign_id
end

#tokenObject

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



5
6
7
# File 'lib/engaging_networks/duplicate_campaign_action.rb', line 5

def token
  @token
end

Instance Method Details

#to_paramsObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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