module DataMaker::ArrayUtilities

Public Class Methods

const_array(argument) click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 3
def self.const_array(argument)
  array = argument.is_a?(Array) ? argument : argument.to_a
  array.extend ArrayUtilities
  freeze_all(array)
end
freeze_all(array) click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 14
def self.freeze_all(array)
  array.each(&:freeze)
  array.freeze
  array
end
random_pick(array, number) click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 9
def self.random_pick(array, number)
  indexes = (0...array.length).sort_by{Kernel.rand}[0...number]
  indexes.map { |n| array[n].dup }
end
shuffle(array) click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 20
def self.shuffle(array)
  array.sort_by{Kernel.rand}
end

Public Instance Methods

freeze_all() click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 28
def freeze_all
  ArrayUtilities.freeze_all(self)
end
random_pick(n) click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 24
def random_pick(n)
  ArrayUtilities.random_pick(self, n)
end
shuffle() click to toggle source
# File lib/data_maker/utilities/array_utilities.rb, line 32
def shuffle
  ArrayUtilities.shuffle(self)
end