Class: PSQLToys::Template::Base
- Inherits:
-
Object
- Object
- PSQLToys::Template::Base
- Includes:
- Memery, Toys::Template
- Defined in:
- lib/psql_toys/template/_base.rb
Overview
Base class for templates
Direct Known Subclasses
Console, Create, CreateExtensions, CreateUser, Drop, Dumps, Dumps::List
Constant Summary collapse
- PGPASS_FILE =
File. '~/.pgpass'
Instance Attribute Summary collapse
-
#db_config_proc ⇒ Object
readonly
db_config_procgetter forDumpssub-tools. -
#db_connection_proc ⇒ Object
readonly
db_config_procgetter forDumpssub-tools. -
#db_extensions ⇒ Object
readonly
db_config_procgetter forDumpssub-tools.
Instance Method Summary collapse
- #confirm(prompt) ⇒ Object
-
#initialize(db_config_proc:, db_extensions:, db_connection_proc: nil) ⇒ Base
constructor
A new instance of Base.
- #update_pgpass ⇒ Object
Constructor Details
#initialize(db_config_proc:, db_extensions:, db_connection_proc: nil) ⇒ Base
Returns a new instance of Base.
15 16 17 18 19 |
# File 'lib/psql_toys/template/_base.rb', line 15 def initialize(db_config_proc:, db_extensions:, db_connection_proc: nil) @db_config_proc = db_config_proc @db_connection_proc = db_connection_proc @db_extensions = db_extensions end |
Instance Attribute Details
#db_config_proc ⇒ Object (readonly)
db_config_proc getter for Dumps sub-tools
13 14 15 |
# File 'lib/psql_toys/template/_base.rb', line 13 def db_config_proc @db_config_proc end |
#db_connection_proc ⇒ Object (readonly)
db_config_proc getter for Dumps sub-tools
13 14 15 |
# File 'lib/psql_toys/template/_base.rb', line 13 def db_connection_proc @db_connection_proc end |
#db_extensions ⇒ Object (readonly)
db_config_proc getter for Dumps sub-tools
13 14 15 |
# File 'lib/psql_toys/template/_base.rb', line 13 def db_extensions @db_extensions end |
Instance Method Details
#confirm(prompt) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/psql_toys/template/_base.rb', line 50 def confirm(prompt) require 'highline' highline = HighLine.new highline.choose do || .layout = :one_line .prompt = prompt .choice(:yes) { nil } .choice(:no) { abort 'OK' } end end |
#update_pgpass ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/psql_toys/template/_base.rb', line 40 def update_pgpass pgpass_lines = File.exist?(PGPASS_FILE) ? File.read(PGPASS_FILE).split($RS) : [] return if pgpass_lines&.include? pgpass_line File.write PGPASS_FILE, pgpass_lines.push(pgpass_line, nil).join($RS) File.chmod(0o600, PGPASS_FILE) end |