require "active_support" require "active_record" require "active_record/connection_adapters/cipherstash_pg/database_extensions" require "active_record/connection_adapters/cipherstash_pg/database_tasks" module ActiveRecord module ConnectionAdapters module CipherStashPG class Railtie < ::Rails::Railtie rake_tasks do load "cipherstash_tasks.rake" end initializer "postgres_cipherstash_adapter.configure" do if defined?(Rails.application.credentials) cs_credentials = Rails.application.credentials.try(:cipherstash) ENV["CS_CLIENT_ID"] = cs_credentials&.fetch(:client_id, nil) ENV["CS_CLIENT_KEY"] = cs_credentials&.fetch(:client_key, nil) ENV["CS_WORKSPACE_ID"] = cs_credentials&.fetch(:workspace_id, nil) ENV["CS_CLIENT_ACCESS_KEY"] = cs_credentials&.fetch(:client_access_key, nil) end end end # Method to install CipherStash custom ORE types def self.install CipherStashPG::DatabaseExtensions.install end # Method to uninstall CipherStash custom ORE types def self.uninstall CipherStashPG::DatabaseExtensions.uninstall end end end end