Class: Humidifier::Props::ListProp

Inherits:
Base
  • Object
show all
Defined in:
lib/humidifier/props/list_prop.rb

Overview

A property that is contained in a list

Constant Summary

Constants inherited from Base

Base::WHITELIST

Instance Attribute Summary collapse

Attributes inherited from Base

#key, #name, #spec, #substructs

Instance Method Summary collapse

Methods inherited from Base

#documentation, #initialize, #required?, #update_type, #whitelisted_value?

Constructor Details

This class inherits a constructor from Humidifier::Props::Base

Instance Attribute Details

#subpropObject (readonly)

Returns the value of attribute subprop.



5
6
7
# File 'lib/humidifier/props/list_prop.rb', line 5

def subprop
  @subprop
end

Instance Method Details

#convert(list) ⇒ Object

converts the value through mapping using the subprop unless it is valid



8
9
10
# File 'lib/humidifier/props/list_prop.rb', line 8

def convert(list)
  valid?(list) ? list : list.map { |value| subprop.convert(value) }
end

#to_cf(list) ⇒ Object

CFN stack syntax



13
14
15
# File 'lib/humidifier/props/list_prop.rb', line 13

def to_cf(list)
  [key, list.map { |value| subprop.to_cf(value).last }]
end

#valid?(list) ⇒ Boolean

Valid if the value is whitelisted or every value in the list is valid on the subprop

Returns:

  • (Boolean)


18
19
20
# File 'lib/humidifier/props/list_prop.rb', line 18

def valid?(list)
  whitelisted_value?(list) || (list.is_a?(Enumerable) && list.all? { |value| subprop.valid?(value) })
end