class ActionMessage::Base

Attributes

template_name[RW]
template_path[RW]

Public Class Methods

base_paths() click to toggle source
# 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) click to toggle source

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

Aliased by ::default_options=

# 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
Also aliased as: default_options=
default_options=(value = nil)

Allows to set defaults through app configuration: config.action_message = { charset: β€˜ISO-8859-1’ }

Alias for: default
new() click to toggle source
Calls superclass method
# File lib/action_message/base.rb, line 58
def initialize
  super
  @_message_was_called = false
  @_message = Message.new
end

Public Instance Methods

full_template_path() click to toggle source
# File lib/action_message/base.rb, line 81
def full_template_path
  [template_path, template_name].join('/')
end
sms(params = {}, &block) click to toggle source
# 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

  self.template_name = params[:template_name].presence || template_name
  self.template_path = params[:template_path].presence || template_path

  @_message_was_called = true
  lookup_context.view_paths = (lookup_context.view_paths.to_a + self.class.base_paths).flatten.uniq

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

  message
end