class ToBarGraph::Bucketizer
Public Class Methods
new(data)
click to toggle source
# File lib/bucketizer.rb, line 5 def initialize(data) @data = data end
Public Instance Methods
create_buckets()
click to toggle source
# File lib/bucketizer.rb, line 9 def create_buckets return create_buckets_from_hash if(@data.is_a?(Hash)) return create_buckets_from_array if(@data.is_a?(Array)) raise ArgumentError, "You need to provide either an Array or a Hash" end
Private Instance Methods
create_buckets_from_array()
click to toggle source
# File lib/bucketizer.rb, line 18 def create_buckets_from_array buckets = {} @data.delete(nil) @data.each do |e| buckets[e] ||= 0 buckets[e] += 1 end return buckets end
create_buckets_from_hash()
click to toggle source
# File lib/bucketizer.rb, line 31 def create_buckets_from_hash buckets = {} @data.each { |k, v| buckets[k] = v unless (v.nil? || k.nil?) } if(buckets.any? { |k, v| v.is_a?(String) }) return buckets.map { |k, v| [k, v.to_i] }.to_h end return buckets end