Module: PgConduit

Defined in:
lib/pg_conduit.rb,
lib/pg_conduit/pipe.rb,
lib/pg_conduit/version.rb,
lib/pg_conduit/db_writer.rb,
lib/pg_conduit/connections.rb,
lib/pg_conduit/file_writer.rb,
lib/pg_conduit/null_writer.rb,
lib/pg_conduit/query_stream.rb,
lib/pg_conduit/row_collector.rb,
lib/pg_conduit/stdout_writer.rb,
lib/pg_conduit/parallel_stream_reader.rb

Defined Under Namespace

Classes: Connections, DBWriter, FileWriter, NullWriter, ParallelStreamReader, Pipe, QueryStream, RowCollector, STDOUTWriter

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Class Method Details

.db_to_db(src, dest) ⇒ PgConduit::Pipe

Create a new DB -> DB Pipe

Parameters:

  • src (String, Hash)

    Source database connection params

  • dest (String, Hash)

    Destination database connection params

Returns:



22
23
24
25
26
27
28
# File 'lib/pg_conduit.rb', line 22

def db_to_db(src, dest)
  connections   = Connections.new src, dest
  query_stream  = QueryStream.new connections.src_pool
  db_writer     = DBWriter.new connections.dest_pool

  Pipe.new from: query_stream, to: db_writer
end

.db_to_file(src, dest) ⇒ PgConduit::Pipe

Create a new DB -> File Pipe

Parameters:

  • src (String, Hash)

    Source database connection params

  • dest (Sting, Pathname)

    Path to destination file

Returns:



35
36
37
38
39
40
41
# File 'lib/pg_conduit.rb', line 35

def db_to_file(src, dest)
  pool          = Connections.init_pool src
  query_stream  = QueryStream.new pool
  file_writer   = FileWriter.new dest

  Pipe.new from: query_stream, to: file_writer
end

.db_to_null(src) ⇒ PgConduit::Pipe

Create a new DB -> Null pipe

Parameters:

  • src (String, Hash)

    Source database connection params

Returns:



59
60
61
62
63
64
65
# File 'lib/pg_conduit.rb', line 59

def db_to_null(src)
  pool          = Connections.init_pool src
  query_stream  = QueryStream.new pool
  stdout_writer = NullWriter.new

  Pipe.new from: query_stream, to: stdout_writer
end

.db_to_stdout(src) ⇒ PgConduit::Pipe

Create a new DB -> STDOUT Pipe

Parameters:

  • src (String, Hash)

    Source database connection params

Returns:



47
48
49
50
51
52
53
# File 'lib/pg_conduit.rb', line 47

def db_to_stdout(src)
  pool          = Connections.init_pool src
  query_stream  = QueryStream.new pool
  stdout_writer = STDOUTWriter.new

  Pipe.new from: query_stream, to: stdout_writer
end