Class: Emailvision4rails::Newsletter

Inherits:
Object
  • Object
show all
Defined in:
lib/emailvision4rails/newsletter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeNewsletter

Returns a new instance of Newsletter.



6
7
8
# File 'lib/emailvision4rails/newsletter.rb', line 6

def initialize
	@parts = {}
end

Instance Attribute Details

#partsObject

Returns the value of attribute parts.



4
5
6
# File 'lib/emailvision4rails/newsletter.rb', line 4

def parts
  @parts
end

#payloadObject

Returns the value of attribute payload.



4
5
6
# File 'lib/emailvision4rails/newsletter.rb', line 4

def payload
  @payload
end

Instance Method Details

#contentObject



29
30
31
32
33
# File 'lib/emailvision4rails/newsletter.rb', line 29

def content
	parts.map do |format, content|
		"[EMV #{format.upcase}PART]\n#{content}"
	end.join("\n")
end

#publishObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/emailvision4rails/newsletter.rb', line 10

def publish
	message = Message.new(content, payload[:message])			
	campaign = Campaign.new(payload[:campaign])

	# Message
	unless message.create
		return false
	end

	# Campaign
	campaign.message_id = message.id
	unless campaign.create
		return false				
	end
	campaign.post

	true
end

#to_htmlObject



35
36
37
# File 'lib/emailvision4rails/newsletter.rb', line 35

def to_html
	parts[:html]
end

#to_sObject



43
44
45
# File 'lib/emailvision4rails/newsletter.rb', line 43

def to_s
	content
end

#to_textObject



39
40
41
# File 'lib/emailvision4rails/newsletter.rb', line 39

def to_text
	parts[:text]
end