Method: GChart::Map#data=

Defined in:
lib/gchart/map.rb

#data=(data) ⇒ Object

Map data can be in the form “VA’=>5,‘NY’=>1 or [[‘VA’,5],] Raises ArgumentError if data does not fit these forms.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/gchart/map.rb', line 22

def data=(data)
  if data.is_a?(Array) && data.any?{ |pair| pair.size != 2 }
    raise ArgumentError, "Data array must contain [area],[value] pairs"
  end
  # 'unzip' the data into separate arrays
  area_data, values = data.to_a.transpose

  # Reject malformed area codes
  if area_data.any?{ |code| code !~ /^\w\w$/}
    raise ArgumentError, "Area data must have exactly two characters" 
  end
  @area_codes = area_data.join.upcase
  super(values)
end