class DbSchema::Configuration

Constants

DEFAULT_PARAMS

Attributes

params[R]

Public Class Methods

new(params = DEFAULT_PARAMS) click to toggle source
# File lib/db_schema/configuration.rb, line 19
def initialize(params = DEFAULT_PARAMS)
  @params = params
end
params_from_url(url_string) click to toggle source
# File lib/db_schema/configuration.rb, line 52
def params_from_url(url_string)
  return {} if url_string.nil?
  url = URI.parse(url_string)

  Utils.remove_nil_values(
    adapter:  url.scheme,
    host:     url.host,
    port:     url.port,
    database: url.path.sub(/\A\//, ''),
    user:     url.user,
    password: url.password
  )
end

Public Instance Methods

dry_run?() click to toggle source
# File lib/db_schema/configuration.rb, line 43
def dry_run?
  @params[:dry_run]
end
log_changes?() click to toggle source
# File lib/db_schema/configuration.rb, line 39
def log_changes?
  @params[:log_changes]
end
merge(new_params) click to toggle source
# File lib/db_schema/configuration.rb, line 23
def merge(new_params)
  params = [
    @params,
    Configuration.params_from_url(new_params[:url]),
    Utils.filter_by_keys(new_params, *DEFAULT_PARAMS.keys)
  ].reduce(:merge)

  Configuration.new(params)
end
post_check_enabled?() click to toggle source
# File lib/db_schema/configuration.rb, line 47
def post_check_enabled?
  @params[:post_check]
end