require 'yaml' def set_orientdb_config(host, database, username, password) OrientDb::Config.host = host OrientDb::Config.database = database OrientDb::Config.user = username OrientDb::Config.password = password end if Rails.env.production? set_orientdb_config ENV['PORTALMEC_ORIENTDB_HOST'], ENV['PORTALMEC_ORIENTDB_DATABASE'], ENV['PORTALMEC_ORIENTDB_USERNAME'], ENV['PORTALMEC_ORIENTDB_PASSWD'] else # connect to orientdb server orientdb_configs = YAML.load_file Rails.root.join('config').to_s.concat('/orientdb.yml') config = orientdb_configs.fetch(Rails.env) set_orientdb_config config['host'], config['database'], config['username'], config['password'] end # initialize repositories Repository::Environments.create :development do |repository| repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :webLink, OrientDb::WeblinkRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance) repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) repository.register :institution, OrientDb::InstitutionRepository.new(OrientDb::Client.instance) repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance) end Repository::Environments.create :test do |repository| repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :webLink, OrientDb::WeblinkRepository.new(OrientDb::Client.instance) repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance) end Repository::Environments.create :production do |repository| repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :webLink, OrientDb::WeblinkRepository.new(OrientDb::Client.instance) repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance) repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance) end