Class: ActionMessage::Base

Inherits:
AbstractController::Base
  • Object
show all
Includes:
AbstractController::Callbacks, AbstractController::Logger, AbstractController::Rendering, ActionView::Layouts
Defined in:
lib/action_message/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBase

Returns a new instance of Base.



58
59
60
61
62
# File 'lib/action_message/base.rb', line 58

def initialize
  super
  @_message_was_called = false
  @_message = Message.new
end

Instance Attribute Details

#template_nameObject

Returns the value of attribute template_name.



56
57
58
# File 'lib/action_message/base.rb', line 56

def template_name
  @template_name
end

Class Method Details

.base_pathsObject



39
40
41
42
43
44
45
46
47
# File 'lib/action_message/base.rb', line 39

def base_paths
  %w(
    app/views 
    app/views/messages 
    app/views/mailers 
    app/views/application 
    app/views/layouts
  ).freeze
end

.default(value = nil) ⇒ Object Also known as: default_options=

Sets the defaults through app configuration: config.action_message.default(from: “+11231231234”)

Aliased by ::default_options=



30
31
32
33
# File 'lib/action_message/base.rb', line 30

def default(value = nil)
  self.default_params = default_params.merge(value).freeze if value
  default_params
end

Instance Method Details

#sms(params = {}, &block) ⇒ Object

Raises:

  • (ArgumentError)


64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/action_message/base.rb', line 64

def sms(params = {}, &block)
  raise ArgumentError, 'You need to provide at least a receipient' if params[:to].blank?
  return message if @_message_was_called && !block
  
  @_message_was_called = true

  lookup_context.view_paths = (lookup_context.view_paths.to_a + self.class.base_paths).uniq

  message.to = params[:to]
  message.debug = params[:debug]
  message.body = render(template_name)

  message
end