Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/connection_adapters/advantage_adapter.rb

Constant Summary collapse

DEFAULT_CONFIG =
{ :username => 'adssys', :password => nil }

Class Method Summary collapse

Class Method Details

.advantage_connection(config) ⇒ Object

Main connection function to Advantage Connection Adapter takes four parameters:

  • :database (required, no default). Corresponds to “Data Source=” in connection string

  • :username (optional, default to ‘adssys’). Correspons to “User ID=” in connection string

  • :password (optional, deafult to ”)

  • :options (optional, defaults to ”). Corresponds to any additional options in connection string

Raises:

  • (ArgumentError)


49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/active_record/connection_adapters/advantage_adapter.rb', line 49

def self.advantage_connection(config)

  config = DEFAULT_CONFIG.merge(config)

  raise ArgumentError, "No data source was given. Please add a :database option." unless config.has_key?(:database)

  connection_string = "data source=#{config[:database]};User ID=#{config[:username]};"
  connection_string += "Password=#{config[:password]};" unless config[:options].nil?
  connection_string += "#{config[:options]};" unless config[:options].nil?
  connection_string += "DateFormat=YYYY-MM-DD;"

  db = ADS.instance.api.ads_new_connection()

  ConnectionAdapters::AdvantageAdapter.new(db, logger, connection_string)
end