Module: PgRls::ActiveRecord::DatabaseShards

Defined in:
lib/pg_rls/active_record/database_shards.rb

Overview

Overwrite the configurations method to add the RLS configurations

Constant Summary collapse

REQUIRED_CONFIGURATION_KEYS =
%w[adapter host database username password rls_mode].freeze

Instance Method Summary collapse

Instance Method Details

#add_rls_configurations(config, new_config = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/pg_rls/active_record/database_shards.rb', line 9

def add_rls_configurations(config, new_config = {})
  current_config = config[Rails.env]

  if rls_shard_config?(current_config)
    add_primary_and_rls_config(current_config, new_config)
  else
    current_config.each do |key, value|
      add_primary_and_rls_config(value, new_config, key)
    end
  end

  { Rails.env => new_config }
end

#configurations=(config) ⇒ Object



23
24
25
26
# File 'lib/pg_rls/active_record/database_shards.rb', line 23

def configurations=(config)
  new_config = add_rls_configurations(config)
  super(new_config)
end