# File lib/toml/transformer.rb, line 62 def self.visit_array(h) if h.is_a? Hash # If it's an {:array => ...} hash a = h[:array] if a.is_a? Array # If the value is already an array a = a.map {|v| visit_array(v) } classes = a.map {|v| # Grab the class, with a little exception for true and false since # they're different classes (TrueClass and FalseClass). (v == true || v == false) ? true : v.class } if classes.uniq.length != 1 raise "Conflicting types in array: " + \ classes.map(&:to_s).join(", ") end return a else # Turn the value into an array return [visit_array(a)].compact end else # Plain old non-hash value return h end end