Module: DataMaker::ArrayUtilities
- Defined in:
- lib/data_maker/utilities/array_utilities.rb
Class Method Summary collapse
- .const_array(argument) ⇒ Object
- .freeze_all(array) ⇒ Object
- .random_pick(array, number) ⇒ Object
- .shuffle(array) ⇒ Object
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_all ⇒ Object
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 |
#shuffle ⇒ Object
32 33 34 |
# File 'lib/data_maker/utilities/array_utilities.rb', line 32 def shuffle ArrayUtilities.shuffle(self) end |