Class: Emailvision4rails::AbstractNewsletter

Inherits:
AbstractController::Base
  • Object
show all
Includes:
AbstractController::Layouts, AbstractController::Logger, AbstractController::Rendering
Defined in:
lib/emailvision4rails/newsletters/abstract_newsletter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method_name = nil, *args) ⇒ AbstractNewsletter

Returns a new instance of AbstractNewsletter.



32
33
34
35
36
37
# File 'lib/emailvision4rails/newsletters/abstract_newsletter.rb', line 32

def initialize(method_name=nil, *args)
  super()
  lookup_context.formats = [:text, :html] # Restrict rendering formats to html and text
  @_message = Newsletter.new
  process(method_name, *args) if method_name
end

Class Method Details

.respond_to?(method, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/emailvision4rails/newsletters/abstract_newsletter.rb', line 18

def respond_to?(method, include_private = false)
  super || action_methods.include?(method.to_s)
end

Instance Method Details

#newsletter(params = {}) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/emailvision4rails/newsletters/abstract_newsletter.rb', line 44

def newsletter(params = {})
  message = @_message

  lookup_context.locale = params.delete(:language) if params[:language]

  responses = collect_responses(lookup_context.formats)

  message.parts = responses
  message.payload = params

  message
end

#process(method_name, *args) ⇒ Object



39
40
41
42
# File 'lib/emailvision4rails/newsletters/abstract_newsletter.rb', line 39

def process(method_name, *args)
  lookup_context.skip_default_locale!
  super(method_name, *args)
end