Class: Pgtk::Wire::Yaml
- Inherits:
-
Object
- Object
- Pgtk::Wire::Yaml
- Defined in:
- lib/pgtk/wire.rb
Overview
Using configuration from YAML file.
- Author
-
Yegor Bugayenko (yegor256@gmail.com)
- Copyright
-
Copyright © 2019-2026 Yegor Bugayenko
- License
-
MIT
Instance Method Summary collapse
-
#connection ⇒ Object
Create a new connection to PostgreSQL server.
-
#initialize(file, node = 'pgsql') ⇒ Yaml
constructor
Constructor.
Constructor Details
#initialize(file, node = 'pgsql') ⇒ Yaml
Constructor.
85 86 87 88 89 90 |
# File 'lib/pgtk/wire.rb', line 85 def initialize(file, node = 'pgsql') raise(ArgumentError, "The name of the file can't be nil") if file.nil? @file = file raise(ArgumentError, "The name of the node in the YAML file can't be nil") if node.nil? @node = node end |
Instance Method Details
#connection ⇒ Object
Create a new connection to PostgreSQL server.
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/pgtk/wire.rb', line 93 def connection raise(ArgumentError, "The file #{@file.inspect} not found") unless File.exist?(@file) cfg = YAML.load_file(@file) raise(ArgumentError, "The node '#{@node}' not found in YAML file #{@file.inspect}") unless cfg[@node] Pgtk::Wire::Direct.new( host: cfg[@node]['host'], port: cfg[@node]['port'], dbname: cfg[@node]['dbname'], user: cfg[@node]['user'], password: cfg[@node]['password'] ).connection end |