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