module TenantLevelSecurity::SchemaDumper
Public Instance Methods
policies(stream)
click to toggle source
# File lib/activerecord-tenant-level-security/schema_dumper.rb, line 10 def policies(stream) # Section Separator stream.puts if policies_in_database.any? policies_in_database.each do |policy| stream.puts(policy.to_schema) end end
policies_in_database()
click to toggle source
# File lib/activerecord-tenant-level-security/schema_dumper.rb, line 19 def policies_in_database query = <<~SQL SELECT tablename FROM pg_policies WHERE policyname = 'tenant_policy' ORDER BY tablename; SQL results = ActiveRecord::Base.connection.execute(query) table_names = results.map { |x| x["tablename"] } table_names.map { |t| Policy.new(t) } end
tables(stream)
click to toggle source
Calls superclass method
# File lib/activerecord-tenant-level-security/schema_dumper.rb, line 5 def tables(stream) super policies(stream) end