Sha256: b1253593df742d2ec2f9625cf7925b341678a80f3124878b2df2ffc8261b4691

Contents?: true

Size: 1.13 KB

Versions: 4

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require 'avm/eac_postgresql_base0/instance/data_unit'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacPostgresqlBase0
    class Instance
      require_sub __FILE__, include_modules: true

      DEFAULT_HOSTNAME = '127.0.0.1'
      DEFAULT_PORT = 5432
      DEFAULT_SCHEMA = 'public'
      MAINTENANCE_DATABASE = 'postgres'

      common_constructor :env, :connection_params do
        self.connection_params = connection_params.with_indifferent_access
      end

      def assert
        ::Avm::EacPostgresqlBase0::Instance::Assert.new(self).perform
      end

      def data_unit
        ::Avm::EacPostgresqlBase0::Instance::DataUnit.new(self)
      end

      def host
        connection_params[:host] || DEFAULT_HOSTNAME
      end

      def port
        connection_params[:port] || DEFAULT_PORT
      end

      def user
        connection_params.fetch(:user)
      end

      def password
        connection_params.fetch(:password)
      end

      def name
        connection_params.fetch(:name)
      end

      def schema
        connection_params[:schema] || DEFAULT_SCHEMA
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
avm-eac_postgresql_base0-0.4.0 lib/avm/eac_postgresql_base0/instance.rb
eac_tools-0.63.0 sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance.rb
avm-eac_postgresql_base0-0.3.0 lib/avm/eac_postgresql_base0/instance.rb
eac_tools-0.62.1 sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance.rb