class Grantinee::Configuration

Attributes

database[RW]
engine[RW]

Which engine is used by the library?

hostname[RW]
logger[RW]
password[RW]
port[RW]
url[R]
username[RW]

Connection parameters

verbose[RW]

Allow verbose mode

Public Class Methods

new() click to toggle source
# File lib/grantinee/configuration.rb, line 23
def initialize
  @logger = ::Logger.new(nil)
end

Public Instance Methods

configured?() click to toggle source
# File lib/grantinee/configuration.rb, line 27
def configured?
  username && password && hostname && port && database
end
url=(url) click to toggle source

Handle url -> fields conversion

# File lib/grantinee/configuration.rb, line 32
def url=(url)
  uri = URI.parse url

  case uri.scheme
  when /^mysql/
    default_port = 3306
    @engine = :mysql
  when /^postgres/
    default_port = 5432
    @engine = :postgres
  end

  raise 'Invalid database url' unless uri.user && uri.host && uri.path

  @username = uri.user
  @password = uri.password
  @hostname = uri.host
  @port     = uri.port || default_port
  @database = (uri.path || '').split('/').last
end