class DynamicCarrier::Rule

Attributes

delivery_method[RW]
rule[RW]

Public Class Methods

add(delivery_method, rule) click to toggle source
# File lib/dynamic-carrier/rule.rb, line 27
def self.add(delivery_method, rule)
  @@rules << Rule.new(delivery_method, rule)
end
match(to, sms) click to toggle source
# File lib/dynamic-carrier/rule.rb, line 20
def self.match(to, sms)
  @@rules.each do |rule|
    return rule.delivery_method if rule.match(to, sms)
  end
  false
end
new(delivery_method, rule) click to toggle source
# File lib/dynamic-carrier/rule.rb, line 7
def initialize(delivery_method, rule)
  self.delivery_method = delivery_method
  self.rule = rule
end

Public Instance Methods

match(to, sms) click to toggle source
# File lib/dynamic-carrier/rule.rb, line 12
def match(to, sms)
  if rule.is_a? Proc
    rule.call(to, sms)
  else
    rule.new.match(to, sms)
  end
end