class BabySMS::Adapters::TestAdapter

Attributes

fails[RW]
outbox[RW]
verbose[RW]

Public Class Methods

new(verbose: false, fails: false, from: '+1555-555-5555') click to toggle source
Calls superclass method BabySMS::Adapter::new
# File lib/babysms/adapters/test_adapter.rb, line 15
def initialize(verbose: false, fails: false, from: '+1555-555-5555')
  super(from: from)

  self.verbose = verbose
  self.fails = fails
  self.outbox = []
end

Public Instance Methods

deliver(message) click to toggle source
# File lib/babysms/adapters/test_adapter.rb, line 23
      def deliver(message)
        if fails
          raise BabySMS::FailedDelivery.new('intentional failure', adapter: self)
        end

        outbox.push(message)
        if verbose
          terminal_output = <<~"MSG"
            #{"SMS:".bright.yellow} -> #{message.to.bright.yellow}:
              >> #{message.contents.white}
          MSG
          $stderr.puts terminal_output
        end

        next_message_uuid
      end

Private Instance Methods

next_message_uuid() click to toggle source
# File lib/babysms/adapters/test_adapter.rb, line 42
def next_message_uuid
  @message_uuid ||= 0
  @message_uuid += 1
  @message_uuid.to_s
end