Class: Parameter

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

Overview

Structured object for holding key/value parameters, whether they are facts or not

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ void

Parameters:

  • args (Hash{:key => String, :value => Object}) (defaults to: {})

Raises:

  • (ArgumentError)


69
70
71
72
73
74
# File 'lib/hiera_browser/parameters.rb', line 69

def initialize(args = {})
  raise ArgumentError, "A Parameter must have both :key and :value" unless
    args[:key] && args[:value]
  @key           = descope(args[:key])
  @value         = args[:value]
end

Instance Attribute Details

#keyString (readonly)

Returns:

  • (String)


93
94
95
# File 'lib/hiera_browser/parameters.rb', line 93

def key
  @key
end

#valueObject (readonly)

Returns:

  • (Object)


96
97
98
# File 'lib/hiera_browser/parameters.rb', line 96

def value
  @value
end

Class Method Details

.top_scope(key = '') ⇒ String

Returns the provided key, fully qualified, e.g. “::key”.

Parameters:

  • key (String) (defaults to: '')

Returns:

  • (String)

    the provided key, fully qualified, e.g. “::key”



101
102
103
# File 'lib/hiera_browser/parameters.rb', line 101

def top_scope(key = '')
  "::#{key}"
end

Instance Method Details

#==(param) ⇒ TrueClass, FalseClass

Parameters:

Returns:

  • (TrueClass, FalseClass)


84
85
86
87
88
89
90
# File 'lib/hiera_browser/parameters.rb', line 84

def == (param)
  if param.class == Parameter && @key == param.key && @value == param.value
    true
  else
    false
  end
end

#top_scope_keyString

Returns fully qualified #key e.g. ‘::datacenter`.

Returns:

  • (String)

    fully qualified #key e.g. ‘::datacenter`



78
79
80
# File 'lib/hiera_browser/parameters.rb', line 78

def top_scope_key
  Parameter.top_scope(@key)
end