Class: Precursor::ArgvVault::ArgvKeyBuilder

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

Overview

A builder to configure ArgvVault key options

Instance Method Summary collapse

Constructor Details

#initialize(key_name) ⇒ ArgvKeyBuilder

Returns a new instance of ArgvKeyBuilder.



42
43
44
45
46
47
48
# File 'lib/argv_vault.rb', line 42

def initialize(key_name)
  @key_name = key_name
  @short = []
  @long = []
  @type = nil
  @description = nil
end

Instance Method Details

#build(parser, vault_data) ⇒ Object



66
67
68
69
70
71
72
73
74
# File 'lib/argv_vault.rb', line 66

def build(parser, vault_data)
  args = @short + @long
  args.push(@type) unless @type.nil?
  args.push(@description) unless @description.nil?

  parser.on(*args) do |v|
    vault_data[@key_name] = v
  end
end

#description(desc) ⇒ Object



62
63
64
# File 'lib/argv_vault.rb', line 62

def description(desc)
  @description = desc
end

#long(long_key) ⇒ Object



54
55
56
# File 'lib/argv_vault.rb', line 54

def long(long_key)
  @long.push(long_key)
end

#short(short_key) ⇒ Object



50
51
52
# File 'lib/argv_vault.rb', line 50

def short(short_key)
  @short.push(short_key)
end

#type(type) ⇒ Object



58
59
60
# File 'lib/argv_vault.rb', line 58

def type(type)
  @type = type
end