Mat Schaffer
March 22nd, 2007
Allows all standard point operations to be called on both Array and Hash
# File lib/scruffy/helpers/point_container.rb, line 10 def self.extended point_set point_set.extend(const_get("#{point_set.class.to_s}_ext")) end
# File lib/scruffy/helpers/point_container.rb, line 34 def inject_with_index memo index = 0 inject(memo) do |memo, item| ret = yield memo, item, index index = index.succ ret end end
# File lib/scruffy/helpers/point_container.rb, line 47 def maximum_key sortable(keys).sort.last end
# File lib/scruffy/helpers/point_container.rb, line 22 def maximum_value sortable(values).sort.last end
# File lib/scruffy/helpers/point_container.rb, line 43 def minimum_key sortable(keys).sort.first end
# File lib/scruffy/helpers/point_container.rb, line 26 def minimum_value sortable(values).sort.first end
# File lib/scruffy/helpers/point_container.rb, line 14 def sortable(values) values.find_all { |v| v.respond_to?(:<=>) && !v.nil? } end
# File lib/scruffy/helpers/point_container.rb, line 30 def sum summable(values).inject(0) { |sum, i| sum += i } end
# File lib/scruffy/helpers/point_container.rb, line 18 def summable(values) values.find_all { |v| v.respond_to?(:+) && !v.nil? } end