class PgDice::PgSliceManagerFactory
PartitionManagerFactory
is a class used to build PartitionManagers
Public Class Methods
new(configuration, opts = {})
click to toggle source
# File lib/pgdice/pg_slice_manager_factory.rb, line 12 def initialize(configuration, opts = {}) @configuration = configuration @pg_slice_executor = opts[:pg_slice_executor] ||= executor end
Public Instance Methods
call()
click to toggle source
# File lib/pgdice/pg_slice_manager_factory.rb, line 17 def call PgDice::PgSliceManager.new(logger: logger, database_url: database_url, pg_slice_executor: @pg_slice_executor, dry_run: dry_run) end
Private Instance Methods
executor()
click to toggle source
# File lib/pgdice/pg_slice_manager_factory.rb, line 26 def executor lambda do |command| results = Open3.capture3(command) stdout, stderr = results.first(2).map { |output| squish(output.to_s) } status = results[2].exitstatus.to_s [stdout, stderr, status] end end