class Freya::Email
Public Instance Methods
bcc()
click to toggle source
# File lib/freya/email.rb, line 23 def bcc ([base_bcc].flatten + [self[:bcc]].flatten - [to]).compact.uniq end
body()
click to toggle source
# File lib/freya/email.rb, line 15 def body Template.new[name] end
cc()
click to toggle source
# File lib/freya/email.rb, line 19 def cc ([base_cc].flatten + [self[:cc]].flatten - [to]).compact.uniq end
link()
click to toggle source
# File lib/freya/email.rb, line 5 def link params = params_mapping.select { |param_name, url_param_name| send(param_name).present? }.map do |param_name, url_param_name| [send(param_name)].flatten.map do |param| "#{url_param_name}=#{Rack::Utils.escape_path(param)}" end end.compact base_url + '?' + (params + extra_params).join('&') end
Private Instance Methods
base_url()
click to toggle source
# File lib/freya/email.rb, line 37 def base_url to end
extra_params()
click to toggle source
# File lib/freya/email.rb, line 41 def extra_params [] end
param_names()
click to toggle source
# File lib/freya/email.rb, line 29 def param_names %w(cc bcc body subject) end
params_mapping()
click to toggle source
# File lib/freya/email.rb, line 33 def params_mapping param_names.inject({}) { |params, param| params[param] = param; params } end