class Libis::Ingester::Database

Public Class Methods

find_by_name(object, name) click to toggle source
# File lib/libis/ingester/database.rb, line 42
def self.find_by_name(object, name)
  return nil unless name
  klass = object if object.is_a?(Class)
  klass ||= "::Libis::Ingester::#{object.to_s.classify}".constantize
  klass.find_by(name: name) ||
      warn("Could not find %s '%s'" % [klass.to_s.split('::').last.underscore.humanize.downcase, name])
end
find_or_create_by_name(object, name) click to toggle source
# File lib/libis/ingester/database.rb, line 50
def self.find_or_create_by_name(object, name)
  return nil unless name
  klass = object if object.is_a?(Class)
  klass ||= "::Libis::Ingester::#{object.to_s.classify}".constantize
  klass.find_or_create_by(name: name)
end
new(cfg_file = nil, env = :production) click to toggle source
# File lib/libis/ingester/database.rb, line 9
def initialize(cfg_file = nil, env = :production)
  ::Libis::Ingester.configure do |cfg|
    # noinspection RubyResolve
    cfg.database_connect((cfg_file || 'mongoid.yml'), env)
  end
end

Public Instance Methods

clear() click to toggle source
# File lib/libis/ingester/database.rb, line 16
def clear
  ::Libis::Ingester::Run.destroy_all rescue nil
  Mongoid.purge!
  self
end
seed(*args) click to toggle source
# File lib/libis/ingester/database.rb, line 36
def seed(*args)
  sources = [File.join(Libis::Ingester::ROOT_DIR, 'db', 'data')] + args
  Seed.new(sources).load_data
  self
end
setup() click to toggle source
# File lib/libis/ingester/database.rb, line 22
def setup
  ::Libis::Ingester::AccessRight.create_indexes
  ::Libis::Ingester::IngestModel.create_indexes
  ::Libis::Ingester::Item.create_indexes
  ::Libis::Ingester::Job.create_indexes
  ::Libis::Ingester::Organization.create_indexes
  ::Libis::Ingester::DomainStorage.create_indexes
  ::Libis::Ingester::RepresentationInfo.create_indexes
  ::Libis::Ingester::RetentionPeriod.create_indexes
  ::Libis::Ingester::User.create_indexes
  ::Libis::Ingester::Workflow.create_indexes
  self
end