Sha256: e0ea16c2572cb507604e7e0d8dae359fc22cdc5e8b404b886906c3de0349170f
Contents?: true
Size: 1.37 KB
Versions: 4
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true module Valkyrie::Sequel require 'valkyrie/sequel/resource_factory' require 'valkyrie/sequel/query_service' require 'valkyrie/sequel/persister' class MetadataAdapter attr_reader :connection def initialize(connection:) @connection = connection.tap do |conn| conn.extension(:pg_json) conn.extension(:pg_streaming) end end def persister @persister ||= Persister.new(adapter: self) end def query_service @query_service ||= QueryService.new(adapter: self) end def resource_factory @resource_factory ||= ResourceFactory.new(adapter: self) end def id @id ||= begin to_hash = "sequel://#{host}:#{port}:#{database}" Valkyrie::ID.new(Digest::MD5.hexdigest(to_hash)) end end def perform_migrations! Sequel.extension :migration Sequel::Migrator.run(connection, "#{__dir__}/../../../db/migrations") end def reset_database! Sequel.extension :migration Sequel::Migrator.run(connection, "#{__dir__}/../../../db/migrations", target: 0) perform_migrations! end def resources connection.from(:orm_resources) end private def host connection.opts[:host] end def port connection.opts[:port] end def database connection.opts[:database] end end end
Version data entries
4 entries across 4 versions & 1 rubygems