Class: Posgra::DSL::Converter

Inherits:
Object
  • Object
show all
Defined in:
lib/posgra/dsl/converter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(exported, options = {}) ⇒ Converter

Returns a new instance of Converter.



14
15
16
17
# File 'lib/posgra/dsl/converter.rb', line 14

def initialize(exported, options = {})
  @exported = exported
  @options = options
end

Class Method Details

.convert_databases(exported, options = {}) ⇒ Object



10
11
12
# File 'lib/posgra/dsl/converter.rb', line 10

def self.convert_databases(exported, options = {})
  self.new(exported, options).convert_databases
end

.convert_grants(exported, options = {}) ⇒ Object



6
7
8
# File 'lib/posgra/dsl/converter.rb', line 6

def self.convert_grants(exported, options = {})
  self.new(exported, options).convert_grants
end

.convert_roles(exported, options = {}) ⇒ Object



2
3
4
# File 'lib/posgra/dsl/converter.rb', line 2

def self.convert_roles(exported, options = {})
  self.new(exported, options).convert_roles
end

Instance Method Details

#convert_databasesObject



34
35
36
37
# File 'lib/posgra/dsl/converter.rb', line 34

def convert_databases
  database_grants_by_role = @exported || {}
  output_database_roles(database_grants_by_role).strip
end

#convert_grantsObject



29
30
31
32
# File 'lib/posgra/dsl/converter.rb', line 29

def convert_grants
  grants_by_role = @exported || {}
  output_roles(grants_by_role).strip
end

#convert_rolesObject



19
20
21
22
23
24
25
26
27
# File 'lib/posgra/dsl/converter.rb', line 19

def convert_roles
  users_by_group = @exported[:users_by_group] || {}
  users = @exported.fetch(:users, []) - users_by_group.values.flatten

  [
    output_users(users),
    output_groups(users_by_group),
  ].join("\n").strip
end