Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/quickbase_adapter.rb

Overview

Add the QuickBase connection to ActiveRecord

Class Method Summary collapse

Class Method Details

.quickbase_connection(config) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/quickbase_adapter.rb', line 22

def self.quickbase_connection(config)
   config = config.symbolize_keys

   if config.has_key?(:database)
     database = config[:database]
   else
     raise ArgumentError, "No database specified. Missing argument: database."
   end
   
   if config[:useWorkPlace]
     @qbc = QuickBase::WorkPlaceClient.new(config[:username], config[:password])
   else
     config = config.stringify_keys
     @qbc = QuickBase::Client.init(config)
   end  
   if @qbc.findDBByName(database)
      @qbc._getSchema
   elsif !@qbc.getSchema(database)
     raise ArgumentError, "Database '#{database}' is not accessible."
   end
   if config[:printRequestsAndResponses]
      @qbc.printRequestsAndResponses = config[:printRequestsAndResponses]
   end
   if config[:cacheSchemas]
        @qbc.cacheSchemas = config[:cacheSchemas]
   end
   ConnectionAdapters::QuickBaseAdapter.new(@qbc,nil,config)
end