class Natural::DatabaseUser

Attributes

password[R]
username[R]

Public Class Methods

new(username, password = nil) click to toggle source
# File natural-backend/lib/database_manager/lib/database_user.rb, line 8
def initialize(username, password = nil)
  @username = username
  @password = password
end

Public Instance Methods

create() click to toggle source
# File natural-backend/lib/database_manager/lib/database_user.rb, line 13
def create
  connection.exec(
    """
    CREATE USER \"#{@username}\" WITH PASSWORD \'#{@password}\'
    """
  )
  self
end
destroy() click to toggle source
# File natural-backend/lib/database_manager/lib/database_user.rb, line 22
def destroy
  connection.exec(
    """
    DROP USER \"#{@username}\";
    """
  )
end
exists?() click to toggle source
# File natural-backend/lib/database_manager/lib/database_user.rb, line 30
def exists?
  '1' == connection.exec(
    """
    SELECT 1 FROM pg_roles WHERE rolname='#{@username}'
    """
  ).values[0].try(:[], 0)
end
grant(database) click to toggle source
# File natural-backend/lib/database_manager/lib/database_user.rb, line 38
def grant(database)
  connection.exec(
    """
    GRANT ALL PRIVILEGES ON DATABASE \"#{database.identifier}\" TO \"#{@username}\";
    """
  )
end