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 |