Sha256: a131d809e12068e12f9109a128eb9c2606cc70217a3fe3dfa9cea3410c796864

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activerecord-cipherstash-pg-adapter-0.5.0 lib/activerecord-cipherstash-pg-adapter.rb