Module: GChart

Defined in:
lib/gchart.rb,
lib/version.rb,
lib/gchart/bar.rb,
lib/gchart/map.rb,
lib/gchart/pie.rb,
lib/gchart/base.rb,
lib/gchart/line.rb,
lib/gchart/venn.rb,
lib/gchart/meter.rb,
lib/gchart/pie_3d.rb,
lib/gchart/scatter.rb,
lib/gchart/xy_line.rb,
lib/gchart/sparkline.rb

Defined Under Namespace

Classes: Bar, Base, Line, Map, Meter, Pie, Pie3D, Scatter, Sparkline, Venn, XYLine

Constant Summary collapse

URL =
"http://chart.apis.google.com/chart"
SIMPLE_CHARS =
('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a
EXTENDED_CHARS =
('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a + %w[- .]
EXTENDED_PAIRS =
EXTENDED_CHARS.collect { |first| EXTENDED_CHARS.collect { |second| first + second } }.flatten
VERSION =
"0.5.0".freeze

Class Method Summary collapse

Class Method Details

.bar(*args, &block) ⇒ Object

Convenience constructor for GChart::Bar.



21
# File 'lib/gchart.rb', line 21

def bar(*args, &block); Bar.new(*args, &block) end

.encode(encoding, n, max) ⇒ Object

Encode n as a string. n is normalized based on max. encoding can currently only be :extended.



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/gchart.rb', line 46

def encode(encoding, n, max)
  case encoding
  when :simple
    return "_" if n.nil?
    SIMPLE_CHARS[((n/max.to_f) * (SIMPLE_CHARS.size - 1)).round]
  when :text
    return "-1" if n.nil?
    ((((n/max.to_f) * 1000.0).round)/10.0).to_s
  when :extended
    return "__" if n.nil?
    EXTENDED_PAIRS[max.zero? ? 0 : ((n/max.to_f) * (EXTENDED_PAIRS.size - 1)).round]
  else
    raise ArgumentError, "unsupported encoding: #{encoding.inspect}"
  end
end

.line(*args, &block) ⇒ Object

Convenience constructor for GChart::Line.



15
# File 'lib/gchart.rb', line 15

def line(*args, &block); Line.new(*args, &block) end

.map(*args, &block) ⇒ Object

Convenience constructor for GChart::Map.



24
# File 'lib/gchart.rb', line 24

def map(*args, &block); Map.new(*args, &block) end

.meter(*args, &block) ⇒ Object

Convenience constructor for GChart::Meter.



27
# File 'lib/gchart.rb', line 27

def meter(*args, &block); Meter.new(*args, &block) end

.pie(*args, &block) ⇒ Object

Convenience constructor for GChart::Pie.



30
# File 'lib/gchart.rb', line 30

def pie(*args, &block); Pie.new(*args, &block) end

.pie3d(*args, &block) ⇒ Object

Convenience constructor for GChart::Pie3D.



33
# File 'lib/gchart.rb', line 33

def pie3d(*args, &block); Pie3D.new(*args, &block) end

.scatter(*args, &block) ⇒ Object

Convenience constructor for GChart::Scatter.



42
# File 'lib/gchart.rb', line 42

def scatter(*args, &block); Scatter.new(*args, &block) end

.sparkline(*args, &block) ⇒ Object

Convenience constructor for GChart::Line.



36
# File 'lib/gchart.rb', line 36

def sparkline(*args, &block); Sparkline.new(*args, &block) end

.venn(*args, &block) ⇒ Object

Convenience constructor for GChart::Venn.



39
# File 'lib/gchart.rb', line 39

def venn(*args, &block); Venn.new(*args, &block) end

.xyline(*args, &block) ⇒ Object

Convenience constructor for GChart::XYLine.



18
# File 'lib/gchart.rb', line 18

def xyline(*args, &block); XYLine.new(*args, &block) end