Module: Nanoc::Core::CoreExt::ArrayExtensions
- Included in:
- Array
- Defined in:
- lib/nanoc/core/core_ext/array.rb
Instance Method Summary collapse
-
#__nanoc_freeze_recursively ⇒ void
Freezes the contents of the array, as well as all array elements.
- #__nanoc_stringify_keys_recursively ⇒ Object
-
#__nanoc_symbolize_keys_recursively ⇒ Array
Returns a new array where all items’ keys are recursively converted to symbols by calling ArrayExtensions#__nanoc_symbolize_keys_recursively or HashExtensions#__nanoc_symbolize_keys_recursively.
Instance Method Details
#__nanoc_freeze_recursively ⇒ void
This method returns an undefined value.
Freezes the contents of the array, as well as all array elements. The array elements will be frozen using #__nanoc_freeze_recursively if they respond to that message, or #freeze if they do not.
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/nanoc/core/core_ext/array.rb', line 39 def __nanoc_freeze_recursively return if frozen? freeze each do |value| if value.respond_to?(:__nanoc_freeze_recursively) value.__nanoc_freeze_recursively else value.freeze end end end |
#__nanoc_stringify_keys_recursively ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/nanoc/core/core_ext/array.rb', line 22 def __nanoc_stringify_keys_recursively map do |element| if element.respond_to?(:__nanoc_stringify_keys_recursively) element.__nanoc_stringify_keys_recursively else element end end end |
#__nanoc_symbolize_keys_recursively ⇒ Array
Returns a new array where all items’ keys are recursively converted to symbols by calling ArrayExtensions#__nanoc_symbolize_keys_recursively or HashExtensions#__nanoc_symbolize_keys_recursively.
12 13 14 15 16 17 18 19 20 |
# File 'lib/nanoc/core/core_ext/array.rb', line 12 def __nanoc_symbolize_keys_recursively map do |element| if element.respond_to?(:__nanoc_symbolize_keys_recursively) element.__nanoc_symbolize_keys_recursively else element end end end |