Class: Precursor::ArgvVault

Inherits:
Vault
  • Object
show all
Defined in:
lib/argv_vault.rb

Overview

Vault that parses command line arguments

Defined Under Namespace

Classes: ArgvKeyBuilder

Instance Attribute Summary

Attributes inherited from Vault

#store

Instance Method Summary collapse

Methods inherited from Vault

#key?, #load, #value

Constructor Details

#initialize(argv) {|_self| ... } ⇒ ArgvVault

Returns a new instance of ArgvVault.

Yields:

  • (_self)

Yield Parameters:



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/argv_vault.rb', line 13

def initialize(argv)
  super()

  @argv = argv
  @vault_data = {}
  @parser = OptionParser.new do |parser|
    parser.on('-h', '--help', 'Prints this help') do
      puts parser
      exit
    end
  end
  yield self
end

Instance Method Details

#key(key_name) {|builder| ... } ⇒ Object

Yields:

  • (builder)


27
28
29
30
31
# File 'lib/argv_vault.rb', line 27

def key(key_name)
  builder = ArgvKeyBuilder.new(key_name)
  yield builder
  builder.build(@parser, @vault_data)
end