Revision
14525
Author
diegoviola
Date
2009-08-14 22:11:20 -0500 (Fri, 14 Aug 2009)

Log Message

added some respond_to?(:foo) for error handling...

Modified Paths

Diff

Modified: freeswitch/trunk/contrib/diegoviola/ruby/callcard/callcard.rb (14524 => 14525)


--- freeswitch/trunk/contrib/diegoviola/ruby/callcard/callcard.rb	2009-08-14 21:33:55 UTC (rev 14524)
+++ freeswitch/trunk/contrib/diegoviola/ruby/callcard/callcard.rb	2009-08-15 03:11:20 UTC (rev 14525)
@@ -45,9 +45,11 @@
               @destination = Destination.find_by_prefix(prefix)
               FSR::Log.info "*** Success, grabbed #{destination_number} from #{exten}"
               FSR::Log.info "*** Setting up the billing variables."
-              uuid_setvar(@session.headers[:unique_id], 'nibble_rate', @destination.rate)
+              uuid_setvar(@session.headers[:unique_id], 'nibble_rate', @destination.rate) if @destination.respond_to?(:rate)
               uuid_setvar(@session.headers[:unique_id], 'nibble_account', @card.id)
-              destination_info
+	      FSR::Log.info "*** Destination rate: #{@destination.rate}" if @destination.respond_to?(:rate)
+	      FSR::Log.info "*** Card ID: #{@card.id}"
+	      FSR::Log.info "*** Calling to: #{@destination.country}" if @destination.respond_to?(:country)
               FSR::Log.info "*** Bridging."
               FSR::Log.info "*** You have #{duration} minutes to talk."
               speak("You have #{duration} minutes to talk.")
@@ -67,19 +69,9 @@
   end
   
   def duration
-    @duration = @card.balance.to_i / @destination.rate.to_i
+    @duration = @card.balance.to_i / @destination.rate.to_i if @destination.respond_to?(:rate)
     return @duration
   end
-
-  def destination_info
-    FSR::Log.info "*** Destination rate: #{@destination.rate}"
-    FSR::Log.info "*** Card ID: #{@card.id}"
-    FSR::Log.info "*** Calling to: #{@destination.country}"
-  end
-
-  def unbind
-    FSR::Log.info "*** Disconnected."
-  end
 end
 
 FSR.start_oes! CallCard, :port => 8084, :host => "127.0.0.1"