Sha256: baf4b9a1fec246efcf74cbb932d9e2649a72d91b9e0aefa77b58173b7cb0e609
Contents?: true
Size: 1.16 KB
Versions: 17
Compression:
Stored size: 1.16 KB
Contents
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'fog')) require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'fog', 'bin')) # TODO: Currently is true even if some of the keys in format do not appear def validate_format(original_data, format) valid = true data = original_data.dup for key, value in format valid &&= data.has_key?(key) datum = data.delete(key) case value when Array valid &&= datum.is_a?(Array) for element in datum type = value.first if type.is_a?(Hash) valid &&= validate_format({:element => element}, {:element => type}) else valid &&= element.is_a?(type) end end when Hash valid &&= datum.is_a?(Hash) valid &&= validate_format(datum, value) else valid &&= datum.is_a?(value) end end valid &&= data.empty? unless valid @formatador.display_line("[red]#{original_data.inspect} does not match #{format.inspect}[/]") end valid end def wait_for(timeout = 600, &block) start = Time.now until instance_eval(&block) if Time.now - start > timeout break end sleep(1) end end
Version data entries
17 entries across 17 versions & 1 rubygems