Method: BBLib::HashPathProcs.parse_date

Defined in:
lib/hash_path/processors.rb

.parse_date(child, *args, class_based: true) ⇒ Object



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/hash_path/processors.rb', line 109

def self.parse_date(child, *args, class_based: true)
  format = BBLib.named_args(*args)[:format]
  child.replace_with(
    if class_based && child.node_class == Hash
      child.value.map do |k, v|
        [_parse_date(k, args, format), v]
      end.to_h
    elsif class_based && child.node_class == Array
      child.value.map do |v|
        _parse_date(v, args, format)
      end
    else
      _parse_date(child.value, args, format)
    end
  )
end