module SmsCarrier::DeliveryMethods::ClassMethods

Helpers for creating and wrapping delivery behavior, used by DeliveryMethods.

Public Instance Methods

add_delivery_method(symbol, klass, default_options = {}) click to toggle source

Adds a new delivery method through the given class using the given symbol as alias and the default options supplied.

# File lib/sms_carrier/delivery_methods.rb, line 35
def add_delivery_method(symbol, klass, default_options = {})
  class_attribute(:"#{symbol}_settings") unless respond_to?(:"#{symbol}_settings")
  send(:"#{symbol}_settings=", default_options)
  self.delivery_methods = delivery_methods.merge(symbol.to_sym => klass).freeze
end