Class: Pgtk::Wire::Yaml
- Inherits:
-
Object
- Object
- Pgtk::Wire::Yaml
- Defined in:
- lib/pgtk/wire/yaml.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.
22 23 24 25 26 27 |
# File 'lib/pgtk/wire/yaml.rb', line 22 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.
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/pgtk/wire/yaml.rb', line 30 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 |