Module: Vidibus::Recording::Helpers

Included in:
Part
Defined in:
lib/vidibus/recording/helpers.rb

Instance Method Summary collapse

Instance Method Details

#fix_value_classes!(value) ⇒ Object

Recursively fixes classes of value strings



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/vidibus/recording/helpers.rb', line 5

def fix_value_classes!(value)
  c = value.class

  # Get nested items in Hash
  if c == Hash
    value.each do |v|
      value[v[0]] = fix_value_classes!(v[1])
    end

  # Get nested items in Array
  elsif c == Array
    value.each_with_index do |v,i|
      value[i] = fix_value_classes!(v)
    end

  # Fix classes of values
  else
    if value.match /^\d+[\.,]\d+$/
      value = value.to_f
    elsif value.match /^\d+$/
      value = value.to_i
    elsif value.match /^true$/
      value = true
    elsif value.match /^false$/
      value = false
    end
  end
  value
end