Module: DataMaker::ArrayUtilities

Defined in:
lib/data_maker/utilities/array_utilities.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.const_array(argument) ⇒ Object



3
4
5
6
7
# 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) ⇒ Object



14
15
16
17
18
# 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) ⇒ Object



9
10
11
12
# 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) ⇒ Object



20
21
22
# File 'lib/data_maker/utilities/array_utilities.rb', line 20

def self.shuffle(array)
  array.sort_by{Kernel.rand}
end

Instance Method Details

#freeze_allObject



28
29
30
# File 'lib/data_maker/utilities/array_utilities.rb', line 28

def freeze_all
  ArrayUtilities.freeze_all(self)
end

#random_pick(n) ⇒ Object



24
25
26
# File 'lib/data_maker/utilities/array_utilities.rb', line 24

def random_pick(n)
  ArrayUtilities.random_pick(self, n)
end

#shuffleObject



32
33
34
# File 'lib/data_maker/utilities/array_utilities.rb', line 32

def shuffle
  ArrayUtilities.shuffle(self)
end