Sha256: 838cecc4a609c27384fb2b2e8e74178777c23a369e4e06bed4e933a836c42fa3

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

require 'adhearsion/voip/asterisk'

module Adhearsion
  class Initializer    
    class RailsInitializer
      
      cattr_accessor :rails_root, :config, :environment
      class << self
        
        def start
          ahn_config       = Adhearsion::AHN_CONFIG
          self.config      = ahn_config.rails
          self.rails_root  = config.rails_root 
          self.environment = config.environment
          raise "You cannot enable the database and Rails at the same time!" if ahn_config.database_enabled?
          raise "Error loading Rails environment in #{rails_root.inspect}. "  +
                "It's not a directory!" unless File.directory?(rails_root)
          load_rails
          if defined? ActiveRecord
            ActiveRecord::Base.allow_concurrency = true
            Hooks::BeforeCall.create_hook do
              ActiveRecord::Base.verify_active_connections!
            end
          end
        end
        
        private
        
        def load_rails
          environment_file = File.expand_path(rails_root + "/config/environment.rb")
          raise "There is no config/environment.rb file!" unless File.exists?(environment_file)
          ENV['RAILS_ENV'] = environment.to_s
          require environment_file
        end
        
      end
      
    end
  end
end

Version data entries

4 entries across 4 versions & 3 rubygems

Version Path
eric-adhearsion-0.7.999 lib/adhearsion/initializer/rails.rb
sant0sk1-adhearsion-0.7.999 lib/adhearsion/initializer/rails.rb
sevenscale-adhearsion-0.7.1000 lib/adhearsion/initializer/rails.rb
sevenscale-adhearsion-0.7.1003 lib/adhearsion/initializer/rails.rb