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.
-
#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.
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/pgtk/pgsql_task.rb', line 66 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
60 61 62 |
# File 'lib/pgtk/pgsql_task.rb', line 60 def config @config end |
#dbname ⇒ String
PostgreSQL database name
44 45 46 |
# File 'lib/pgtk/pgsql_task.rb', line 44 def dbname @dbname end |
#dir ⇒ String
Directory where PostgreSQL server files will be stored
28 29 30 |
# File 'lib/pgtk/pgsql_task.rb', line 28 def dir @dir end |
#fresh_start ⇒ Boolean
Whether to delete the PostgreSQL data directory on each run
32 33 34 |
# File 'lib/pgtk/pgsql_task.rb', line 32 def fresh_start @fresh_start end |
#name ⇒ Symbol
Task name
24 25 26 |
# File 'lib/pgtk/pgsql_task.rb', line 24 def name @name end |
#password ⇒ String
PostgreSQL password
40 41 42 |
# File 'lib/pgtk/pgsql_task.rb', line 40 def password @password end |
#port ⇒ Integer?
TCP port for PostgreSQL server (random if nil)
56 57 58 |
# File 'lib/pgtk/pgsql_task.rb', line 56 def port @port end |
#quiet ⇒ Boolean
Whether to suppress output
52 53 54 |
# File 'lib/pgtk/pgsql_task.rb', line 52 def quiet @quiet end |
#user ⇒ String
PostgreSQL username
36 37 38 |
# File 'lib/pgtk/pgsql_task.rb', line 36 def user @user end |
#yaml ⇒ String
Path to YAML file where configuration will be written
48 49 50 |
# File 'lib/pgtk/pgsql_task.rb', line 48 def yaml @yaml end |