Sha256: 8ae864a309485fd520298ba24fe0f268565d11380a840f28c48254099fecfddd

Contents?: true

Size: 759 Bytes

Versions: 1

Compression:

Stored size: 759 Bytes

Contents

require 'phony'
require 'action_texter/request'
require 'action_texter/validator/message'

module ActionTexter
  class Message
    attr_accessor :from, :to, :body, :reference

    def initialize(attributes = {})
      @from          = attributes[:from]
      @to            = attributes[:to]
      @body          = attributes[:body]
      @reference     = attributes[:reference]
    end

    def request
      Request.new(to_json)
    end

    def deliver
      request.perform if valid?
    end

    def deliver!
      deliver if valid?
    end

    def valid?
      ActionTexter::Validator::Message.new self
    end

    def to_json
      JSON.generate(recipients: to,
                    originator: from,
                    body: body)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
action-texter-0.0.1 lib/action_texter/message.rb