Class: DynamicCarrier::Rule
- Inherits:
-
Object
- Object
- DynamicCarrier::Rule
- Defined in:
- lib/dynamic-carrier/rule.rb
Constant Summary collapse
- @@rules =
[]
Instance Attribute Summary collapse
-
#delivery_method ⇒ Object
Returns the value of attribute delivery_method.
-
#rule ⇒ Object
Returns the value of attribute rule.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(delivery_method, rule) ⇒ Rule
constructor
A new instance of Rule.
- #match(to, sms) ⇒ Object
Constructor Details
#initialize(delivery_method, rule) ⇒ Rule
Returns a new instance of Rule.
7 8 9 10 |
# File 'lib/dynamic-carrier/rule.rb', line 7 def initialize(delivery_method, rule) self.delivery_method = delivery_method self.rule = rule end |
Instance Attribute Details
#delivery_method ⇒ Object
Returns the value of attribute delivery_method.
5 6 7 |
# File 'lib/dynamic-carrier/rule.rb', line 5 def delivery_method @delivery_method end |
#rule ⇒ Object
Returns the value of attribute rule.
5 6 7 |
# File 'lib/dynamic-carrier/rule.rb', line 5 def rule @rule end |
Class Method Details
.add(delivery_method, rule) ⇒ Object
27 28 29 |
# File 'lib/dynamic-carrier/rule.rb', line 27 def self.add(delivery_method, rule) @@rules << Rule.new(delivery_method, rule) end |
.match(to, sms) ⇒ Object
20 21 22 23 24 25 |
# 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 |
Instance Method Details
#match(to, sms) ⇒ Object
12 13 14 15 16 17 18 |
# 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 |