Module: Gemvault::VaultSession

Included in:
Dbvault, Tarvault, Vault
Defined in:
lib/gemvault/vault_session.rb

Overview

Class-method mixin giving vault types a block-scoped open that news up an instance, yields it, and guarantees close.

Instance Method Summary collapse

Instance Method Details

#open(path, **opts) ⇒ Object

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
14
# File 'lib/gemvault/vault_session.rb', line 5

def open(path, **opts)
  raise ArgumentError, "#{name}.open requires a block" unless block_given?

  vault = new(path, **opts)
  begin
    yield vault
  ensure
    vault.close
  end
end