class Mandriller::Base
Constants
- ARRAY_SETTINGS
- BOOLEAN_SETTINGS
- DATETIME_SETTINGS
- JSON_SETTINGS
- STRING_SETTINGS
Public Class Methods
set_template(template_name, block_name = nil)
click to toggle source
# File lib/mandriller/base.rb, line 48 def set_template(template_name, block_name = nil) self.mandrill_template = [template_name, block_name] end
Public Instance Methods
mail(*args)
click to toggle source
Calls superclass method
# File lib/mandriller/base.rb, line 57 def mail(*args) tracks = [] tracks << (mandrill_open_track ? 'opens' : nil) if v = mandrill_click_track tracks << "clicks_#{v}" end tracks = tracks.compact.map(&:to_s) unless tracks.empty? tracks.each do |track| validate_values!(track, %w(opens clicks_all clicks_htmlonly clicks_textonly)) end self.headers['X-MC-Track'] = tracks.join(',') end v = mandrill_template self.headers['X-MC-Template'] = v.join('|') unless v.nil? || v.empty? [BOOLEAN_SETTINGS, STRING_SETTINGS, JSON_SETTINGS, ARRAY_SETTINGS, DATETIME_SETTINGS].inject({}, :merge).each do |key, header_name| if is_mandrill_setting_defined?(key) self.headers[header_name] = get_mandrill_setting(key) end end super(*args) end
set_template(template_name, block_name = nil)
click to toggle source
# File lib/mandriller/base.rb, line 53 def set_template(template_name, block_name = nil) @mandrill_template = [template_name, block_name].compact end
Private Instance Methods
validate_values!(value, valid_values)
click to toggle source
# File lib/mandriller/base.rb, line 85 def validate_values!(value, valid_values) raise Mandriller::InvalidHeaderValue, "#{value} is not included in #{valid_values.join(', ')}" unless valid_values.include?(value) end