ActionMessage

ActionMessage is heavily-inspired on ActionMailer. It's a gem for sending SMS/Text messages like we do for sending e-mails on ActionMailer. Pull requests are more than welcome!

Gem Version Build Status codecov Code Climate

Usage

Install it using bundler:

# Gemfile
gem 'actionmessage'

If you're using Rails, place this on your environment file or application.rb

require 'action_message/railtie'

config.action_message = {
    from: "number to send from in international format, e.g.: +11231231234", 
    adapter: { 
        name: :twilio,
        credentials: {
            account_sid: 'MY TWILIO ACCOUNT SID'.freeze,
            auth_token: 'MY AUTH TOKEN'.freeze
        }
    }
}

Put this for example, under app/messages/merchant_message.rb

class MerchantMessage < ActionMessage::Base
    def send_welcome_sms(name)
        @name = name
        sms(to: "+5531982726767")
    end
end

Define your views under your view path, such as: app/views/merchant_message/send_welcome_sms.text.erb

Welcome, <%= @name %>!

Pending implementations:

  • Add background processing (deliver_later);
  • Log instrumentation with ActiveSupport;
  • Add generators;
  • Add test helpers for deliveries count, matching message.body, message.to, etc;
  • Add more adapters such as Plivo;