lib/pg_export.rb
# frozen_string_literal: true
require 'pg_export/version'
require 'pg_export/configuration'
require 'pg_export/configuration_parser'
require 'pg_export/commands_factory'
class PgExport
def initialize(config)
raise ArgumentError, 'config is not a PgExport::Configuration' unless config.is_a?(PgExport::Configuration)
@command_name = config.command
@database_name = config.database
@commands_factory = PgExport::CommandsFactory.new(config: config)
end
def call
commands_factory
.public_send(command_name)
.call(database_name: database_name)
end
private
attr_reader :command_name, :database_name, :commands_factory
end