class Adhearsion::CallController::MenuDSL::MatchCalculator

Attributes

block[R]
match_payload[R]
pattern[R]

Public Class Methods

build_with_pattern(pattern, match_payload, &block) click to toggle source
# File lib/adhearsion/call_controller/menu_dsl/match_calculator.rb, line 10
def build_with_pattern(pattern, match_payload, &block)
  class_for_pattern(pattern).new pattern, match_payload, &block
end
new(pattern, match_payload, &block) click to toggle source
# File lib/adhearsion/call_controller/menu_dsl/match_calculator.rb, line 23
def initialize(pattern, match_payload, &block)
  @pattern, @match_payload, @block = pattern, match_payload, block
end

Private Class Methods

class_for_pattern(pattern) click to toggle source
# File lib/adhearsion/call_controller/menu_dsl/match_calculator.rb, line 16
def class_for_pattern(pattern)
  MenuDSL.const_get "#{pattern.class.name.camelize}MatchCalculator"
end

Protected Instance Methods

coerce_to_numeric(victim) click to toggle source
# File lib/adhearsion/call_controller/menu_dsl/match_calculator.rb, line 33
def coerce_to_numeric(victim)
  victim.kind_of?(Numeric) ? victim : (victim.to_s =~ /^\d+$/ ? victim.to_s.to_i : nil )
end
new_calculated_match(options) click to toggle source
# File lib/adhearsion/call_controller/menu_dsl/match_calculator.rb, line 29
def new_calculated_match(options)
  CalculatedMatch.new({:pattern => pattern, :match_payload => match_payload, :block => block}.merge(options))
end