Class: Pgtk::PgsqlTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Pgtk::PgsqlTask
- Defined in:
- lib/pgtk/pgsql_task.rb
Overview
Pgsql rake task.
- Author
-
Yegor Bugayenko ([email protected])
- Copyright
-
Copyright © 2019-2025 Yegor Bugayenko
- License
-
MIT
Instance Attribute Summary collapse
-
#config ⇒ Hash
Configuration options for PostgreSQL server.
-
#dbname ⇒ String
PostgreSQL database name.
-
#dir ⇒ String
Directory where PostgreSQL server files will be stored.
-
#force_docker ⇒ Boolean
Use force docker.
-
#fresh_start ⇒ Boolean
Whether to delete the PostgreSQL data directory on each run.
-
#name ⇒ Symbol
Task name.
-
#password ⇒ String
PostgreSQL password.
-
#port ⇒ Integer?
TCP port for PostgreSQL server (random if nil).
-
#quiet ⇒ Boolean
Whether to suppress output.
-
#user ⇒ String
PostgreSQL username.
-
#yaml ⇒ String
Path to YAML file where configuration will be written.
Instance Method Summary collapse
-
#initialize(*args) {|Pgtk::PgsqlTask, Object| ... } ⇒ PgsqlTask
constructor
Initialize a new PostgreSQL server task.
Constructor Details
#initialize(*args) {|Pgtk::PgsqlTask, Object| ... } ⇒ PgsqlTask
Initialize a new PostgreSQL server task.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/pgtk/pgsql_task.rb', line 72 def initialize(*args, &task_block) super() @name = args.shift || :pgsql @fresh_start = false @quiet = false @user = 'test' @config = {} @password = 'test' @dbname = 'test' @port = nil desc 'Start a local PostgreSQL server' unless ::Rake.application.last_description task(name, *args) do |_, task_args| RakeFileUtils.send(:verbose, true) do yield(*[self, task_args].slice(0, task_block.arity)) if block_given? run end end end |
Instance Attribute Details
#config ⇒ Hash
Configuration options for PostgreSQL server
62 63 64 |
# File 'lib/pgtk/pgsql_task.rb', line 62 def config @config end |
#dbname ⇒ String
PostgreSQL database name
46 47 48 |
# File 'lib/pgtk/pgsql_task.rb', line 46 def dbname @dbname end |
#dir ⇒ String
Directory where PostgreSQL server files will be stored
30 31 32 |
# File 'lib/pgtk/pgsql_task.rb', line 30 def dir @dir end |
#force_docker ⇒ Boolean
Use force docker
66 67 68 |
# File 'lib/pgtk/pgsql_task.rb', line 66 def force_docker @force_docker end |
#fresh_start ⇒ Boolean
Whether to delete the PostgreSQL data directory on each run
34 35 36 |
# File 'lib/pgtk/pgsql_task.rb', line 34 def fresh_start @fresh_start end |
#name ⇒ Symbol
Task name
26 27 28 |
# File 'lib/pgtk/pgsql_task.rb', line 26 def name @name end |
#password ⇒ String
PostgreSQL password
42 43 44 |
# File 'lib/pgtk/pgsql_task.rb', line 42 def password @password end |
#port ⇒ Integer?
TCP port for PostgreSQL server (random if nil)
58 59 60 |
# File 'lib/pgtk/pgsql_task.rb', line 58 def port @port end |
#quiet ⇒ Boolean
Whether to suppress output
54 55 56 |
# File 'lib/pgtk/pgsql_task.rb', line 54 def quiet @quiet end |
#user ⇒ String
PostgreSQL username
38 39 40 |
# File 'lib/pgtk/pgsql_task.rb', line 38 def user @user end |
#yaml ⇒ String
Path to YAML file where configuration will be written
50 51 52 |
# File 'lib/pgtk/pgsql_task.rb', line 50 def yaml @yaml end |