Class: Puppet::Util::NetworkDevice::Cisco_ios::Model::GenericValue
- Inherits:
-
Object
- Object
- Puppet::Util::NetworkDevice::Cisco_ios::Model::GenericValue
- Extended by:
- ValueHelper
- Defined in:
- lib/puppet/util/network_device/cisco_ios/model/generic_value.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#evaluated ⇒ Object
Returns the value of attribute evaluated.
-
#facts ⇒ Object
Returns the value of attribute facts.
-
#idx ⇒ Object
Returns the value of attribute idx.
-
#name ⇒ Object
Returns the value of attribute name.
-
#transport ⇒ Object
Returns the value of attribute transport.
-
#value ⇒ Object
Returns the value of attribute value.
Instance Method Summary collapse
- #default(value) ⇒ Object
-
#evaluate(&block) ⇒ Object
This is a Helper Method so we can make sure we are in the right scope.
-
#initialize(name, transport, facts, idx, &block) ⇒ GenericValue
constructor
A new instance of GenericValue.
- #parse(txt) ⇒ Object
- #update(transport, old_value) ⇒ Object
Constructor Details
#initialize(name, transport, facts, idx, &block) ⇒ GenericValue
Returns a new instance of GenericValue.
9 10 11 12 13 14 15 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 9 def initialize(name, transport, facts, idx, &block) @name = name @transport = transport @facts = facts @idx = idx self.instance_eval(&block) if block_given? end |
Instance Attribute Details
#evaluated ⇒ Object
Returns the value of attribute evaluated.
6 7 8 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 6 def evaluated @evaluated end |
#facts ⇒ Object
Returns the value of attribute facts.
6 7 8 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 6 def facts @facts end |
#idx ⇒ Object
Returns the value of attribute idx.
6 7 8 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 6 def idx @idx end |
#name ⇒ Object
Returns the value of attribute name.
6 7 8 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 6 def name @name end |
#transport ⇒ Object
Returns the value of attribute transport.
6 7 8 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 6 def transport @transport end |
#value ⇒ Object
Returns the value of attribute value.
6 7 8 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 6 def value @value end |
Instance Method Details
#default(value) ⇒ Object
17 18 19 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 17 def default(value) @value ||= value end |
#evaluate(&block) ⇒ Object
This is a Helper Method so we can make sure we are in the right scope
24 25 26 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 24 def evaluate(&block) instance_eval(&block) end |
#parse(txt) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 29 def parse(txt) if self.match.is_a?(Proc) self.value = self.match.call(txt) else self.value = txt.scan(self.match).flatten[self.idx] end self.evaluated = true end |
#update(transport, old_value) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/puppet/util/network_device/cisco_ios/model/generic_value.rb', line 38 def update(transport, old_value) if self.value == :absent || self.value.nil? self.remove.call(transport, old_value) return end if self.value == :present self.add.call(transport, self.value) return end # Remove old Entrys ([old_value].flatten - [self.value].flatten).compact.each do |val| self.remove.call(transport, val) end # Add new Entrys ([self.value].flatten - [old_value].flatten).compact.each do |val| self.add.call(transport, val) end end |