class Array
Public Instance Methods
ensure_array()
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 38 def ensure_array self.to_a end
find_by(key, val)
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 26 def find_by(key, val) self.where(key, val).first end
limit(offset)
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 6 def limit(offset) offset > 0 ? self.last(offset) : self.first(offset.abs) end
median()
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 17 def median return nil if self.empty? sorted = self.sort len = self.length (sorted[(len - 1) / 2] + sorted[len / 2]) / 2 end
round_shift(element, step)
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 10 def round_shift(element, step) new_element = [self.min, (element - step), self.max].median actual_step = element - new_element [new_element, actual_step] end
sorted_by?() { |a) <=> (yield b)) <= 0| ... }
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 2 def sorted_by? each_cons(2).all? { |a, b| ((yield a) <=> (yield b)) <= 0 } end
where(key, val = nil, &block)
click to toggle source
# File lib/nin/extensions/array_extensions.rb, line 30 def where(key, val = nil, &block) self.select do |element| key_eval = element.send(key) block_given? ? block.call(key_eval) : (key_eval == val) end end