class Rubies::RandomDataStructure

Attributes

data_structure[R]

Public Class Methods

new() click to toggle source
# File lib/rubies/random_data_structure.rb, line 9
def initialize
  @data_structure = Array.new
  @all_values = Array.new
end

Public Instance Methods

all_values() click to toggle source
# File lib/rubies/random_data_structure.rb, line 24
def all_values
  values = Array.new
  if @data_structure.is_a? Hash
    values = @data_structure.values
  elsif @data_structure.flatten.first.is_a? Fixnum
    values = @data_structure.flatten
  else
    @data_structure.each do |hash|
      hash.deep_traverse { |_path, value| values << value }
    end
  end
  values.flatten
end
generate() click to toggle source
# File lib/rubies/random_data_structure.rb, line 14
def generate
  combo = Array.new
  rand(1..3).times do
    combo << RandomHash.new.hash_three
  end
  random_hash = RandomHash.new.generate
  random_array = RandomArray.new.generate
  @data_structure = [combo, random_hash, random_array].sample
end