Skip to content
Snippets Groups Projects
Forked from PortalMEC / portalmec
3606 commits behind the upstream repository.
repositories.rb 2.97 KiB
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