Sha256: 9911dd21d0e7a3f5fc57e468120428ae3db6aa0ea70920aff3fc5bcc8e972269

Contents?: true

Size: 855 Bytes

Versions: 2

Compression:

Stored size: 855 Bytes

Contents

class PgExport
  module ServicesContainer
    class << self
      def config
        @config ||= Configuration.new
      end

      def aes
        @aes ||= Aes.new(config.dump_encryption_key)
      end

      def encryptor
        @encryptor ||= aes.build_encryptor
      end

      def decryptor
        @decryptor ||= aes.build_decryptor
      end

      def bash_utils
        @bash_utils ||= BashUtils.new(config.database)
      end

      def ftp_connection
        @ftp_connection ||= FtpConnection.new(config.ftp_params)
      end

      def ftp_adapter
        @ftp_adapter ||= FtpAdapter.new(ftp_connection)
      end

      def dump_storage
        @dump_storage ||= DumpStorage.new(ftp_adapter, config.database, config.keep_dumps)
      end
    end

    def services_container
      @services_container ||= ServicesContainer
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pg_export-0.5.1 lib/pg_export/includable_modules/services_container.rb
pg_export-0.5.0 lib/pg_export/includable_modules/services_container.rb