Class: Freya::Email

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/freya.rb

Instance Method Summary collapse

Instance Method Details

#bccObject



51
52
53
# File 'lib/freya.rb', line 51

def bcc
  (base_bcc.to_a + self[:bcc].to_a - [to]).uniq
end

#bodyObject



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

def body
  Template.new[name]
end

#ccObject



47
48
49
# File 'lib/freya.rb', line 47

def cc
  (base_cc.to_a + self[:cc].to_a - [to]).uniq
end


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/freya.rb', line 27

def link
  extras = %w{ cc bcc body subject }.select { |extra| send(extra).present? }.map { |extra| [extra, send(extra)] }.map do |extra|
    name = extra[0]
    value = extra[1]

    #cc and  #bcc must be repeated for every email in the array
    [value].flatten.map do |component|
      "#{name}=#{Rack::Utils.escape_path(component)}"
    end
  end.compact

  extras = extras.empty? ? '' : '?' + extras.join('&')

  "#{to}#{extras}"
end