Module: RubyVault::Options

Defined in:
lib/ruby_vault/options.rb,
lib/ruby_vault/options/name.rb,
lib/ruby_vault/options/sets.rb,
lib/ruby_vault/options/types.rb,
lib/ruby_vault/options/values.rb,
lib/ruby_vault/options/factory.rb,
lib/ruby_vault/options/definition.rb,
lib/ruby_vault/options/types/flag.rb,
lib/ruby_vault/options/definitions.rb,
lib/ruby_vault/options/values/base.rb,
lib/ruby_vault/options/values/string.rb,
lib/ruby_vault/options/types/standard.rb,
lib/ruby_vault/options/values/boolean.rb,
lib/ruby_vault/options/values/complex.rb,
lib/ruby_vault/options/values/key_value.rb

Defined Under Namespace

Modules: Sets, Types, Values Classes: Definition, Factory, Name

Constant Summary collapse

HTTP_DEFINITIONS =
[
  # key-value repeatable options
  %w[-header].map do |o|
    definition(
      name: o, option_type: :standard, value_type: :string,
      repeatable: true,
      override_keys: { singular: false, plural: :headers }
    )
  end,

  # string options
  %w[
    -address
    -agent-address
    -ca-cert
    -ca-path
    -client-cert
    -client-key
    -mfa
    -namespace
    -tls-server-name
    -unlock-key
    -wrap-ttl
  ].map do |o|
    definition(name: o, option_type: :standard,
               value_type: :string)
  end,

  # flag options
  %w[
    -non-interactive
    -output-curl-string
    -output-policy
    -policy-override
    -tls-skip-verify
  ].map do |o|
    definition(name: o, option_type: :flag,
               value_type: :boolean)
  end
].flatten.freeze
OUTPUT_DEFINITIONS =
[
  # string options
  %w[
    -field
    -format
  ].map do |o|
    definition(name: o, option_type: :standard, value_type: :string)
  end
].flatten.freeze
OTHER_DEFINITIONS =
[
  # string options
  %w[
    -method
    -path
  ].map do |o|
    definition(name: o, option_type: :standard, value_type: :string)
  end,

  # flag options
  %w[
    -force
    -no-print
    -no-store
    -token-only
  ].map do |o|
    definition(name: o, option_type: :flag, value_type: :boolean)
  end
].flatten.freeze
DEFINITIONS =
(
  HTTP_DEFINITIONS +
    OUTPUT_DEFINITIONS +
    OTHER_DEFINITIONS
).flatten.freeze

Class Method Summary collapse

Class Method Details

.definition(opts) ⇒ Object



16
17
18
# File 'lib/ruby_vault/options.rb', line 16

def self.definition(opts)
  Definition.new(opts)
end

.name(name) ⇒ Object



12
13
14
# File 'lib/ruby_vault/options.rb', line 12

def self.name(name)
  Name.new(name)
end

.typesObject



20
21
22
# File 'lib/ruby_vault/options.rb', line 20

def self.types
  Types
end

.valuesObject



24
25
26
# File 'lib/ruby_vault/options.rb', line 24

def self.values
  Values
end