Revision
14695
Author
diegoviola
Date
2009-08-31 04:33:51 -0500 (Mon, 31 Aug 2009)

Log Message

removed models, lets use datasets instead

Modified Paths

Diff

Modified: freeswitch/trunk/contrib/diegoviola/ruby/callcard/server.rb (14694 => 14695)


--- freeswitch/trunk/contrib/diegoviola/ruby/callcard/server.rb	2009-08-31 09:18:23 UTC (rev 14694)
+++ freeswitch/trunk/contrib/diegoviola/ruby/callcard/server.rb	2009-08-31 09:33:51 UTC (rev 14695)
@@ -5,18 +5,12 @@
 require 'fsr/listener/outbound'
 require 'sequel'
 
-# TODO: we don't really need models, just use the dataset and add exception handling for @destination.rate.
+# TODO: add exception handlers for @destination[:rate] and other hashes (need debugging).
 
 FSR.load_all_commands
 
 DB = Sequel.connect('mysql://root@localhost/callcard')
 
-class Card < Sequel::Model
-end
-
-class Destination < Sequel::Model
-end
-
 class CallCard < FSR::Listener::Outbound
   def session_initiated
     exten = @session.headers[:caller_caller_id_number]
@@ -27,16 +21,16 @@
     answer do
       fs_sleep(2000) do
         play_and_get_digits(pin_wav, bad_pin_wav, 2, 10, 3, 7000, ["#"], "pin", "\\d") do |pin|
-	  @card = Card.find(:card_number => pin)
+	  @card = DB[:cards][:card_number => pin]
           if @card
             FSR::Log.info "*** Success, grabbed #{pin} from #{exten}"
             play_and_get_digits(dial_tone, bad_pin_wav, 2, 11, 3, 7000, ["#"], "destination_number", "\\d") do |destination_number|
               prefix = destination_number[0,5]
-	      @destination = Destination.find(:prefix => prefix)
+	      @destination = DB[:destinations][: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) if @destination.respond_to?(:rate)
-              uuid_setvar(@session.headers[:unique_id], 'nibble_account', @card.id)
+              uuid_setvar(@session.headers[:unique_id], 'nibble_rate', @destination[:rate])
+              uuid_setvar(@session.headers[:unique_id], 'nibble_account', @card[:id])
               FSR::Log.info "*** Bridging."
               FSR::Log.info "*** You have #{duration} minutes to talk."
               speak("You have #{duration} minutes to talk.")
@@ -55,7 +49,7 @@
   end
   
   def duration
-    @duration = @card.balance.to_i / @destination.rate.to_i if @destination.respond_to?(:rate)
+    @duration = @card[:balance].to_i / @destination[:rate].to_i
     return @duration
   end
 end