module Bytemapper::Flattenable
Public Instance Methods
flatten(flattened = {}, prefix = nil)
click to toggle source
# File lib/bytemapper/flattenable.rb, line 19 def flatten(flattened = {}, prefix = nil) each do |k,v| k = prefix.nil? ? k : "#{prefix}_#{k}".to_sym if v.is_a?(Hash) v.flatten(flattened, k) elsif v.is_a?(Bytemapper::Table) v.each_with_index { |e,i| e.flatten(flattened, i) } else flattened[k] = v end end flattened end
size()
click to toggle source
# File lib/bytemapper/flattenable.rb, line 33 def size flatten.values.map(&:first).reduce(:+) >> 3 end