Sha256: 4916ded392492df7072c296d1d699337d23743773cbca3146d7be10487487dec

Contents?: true

Size: 584 Bytes

Versions: 7

Compression:

Stored size: 584 Bytes

Contents

module HashBrowns
  module OverviewHelpers

    def overview_fields(type)
      type = type.to_s
      fields = HashBrowns.conf.key_fields[type]
      return [] unless fields
      #puts "calling field parser now"
      return field_parser(type, fields, [])
    end

    def field_parser(k, v, path)
      k, path = k.to_s, path.map{|p| p.to_s}
      return "#{k} had nil value at #{path.inspect}" if v.nil?
      return v.map{|i| [display_name(i, path.last), path + [i]] } if k == "values"
      return v.map{|ki, vi| field_parser(ki, vi, path + [k]) }.inject(:+)
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hashbrowns-0.2.5 lib/hashbrowns/helpers/overview_helpers.rb
hashbrowns-0.2.4 lib/hashbrowns/helpers/overview_helpers.rb
hashbrowns-0.2.3 lib/hashbrowns/helpers/overview_helpers.rb
hashbrowns-0.2.2 lib/hashbrowns/helpers/overview_helpers.rb
hashbrowns-0.2.1 lib/hashbrowns/helpers/overview_helpers.rb
hashbrowns-0.2.0 lib/hashbrowns/helpers/overview_helpers.rb
hashbrowns-0.1.6 lib/hashbrowns/helpers/overview_helpers.rb