class Graph::Bar

This class allows the display of data arrays in bar graph format

Public Class Methods

new(data = nil) click to toggle source

Allows optionally setting the initial dataset as a parameter

# File lib/graph/bar.rb, line 25
def initialize(data = nil)
  data(data)
  mode(PrintMode::NOSCALE)
  scale(1)
end

Public Instance Methods

data(data = nil) click to toggle source

Get or Set the data array

# File lib/graph/bar.rb, line 34
def data(data = nil)
  unless data.nil?
    raise ArgumentError, 'Data Must Be Enumerable!', caller unless
      data.is_a? Enumerable
    @data = data
  end
  @data
end
mode(mode = nil) click to toggle source

Get or Set the print mode

# File lib/graph/bar.rb, line 46
def mode(mode = nil)
  unless mode.nil?
    raise ArgumentError, 'Invalid Print Mode!', caller unless
      [PrintMode::SCALE, PrintMode::NOSCALE].include? mode
    @mode = mode
  end
  @mode
end
print(mode = nil) click to toggle source

Print the graph to stdout, based on the print mode & scale

print_noscale() click to toggle source

Print the graph without any scaling

print_scale(scale = nil) click to toggle source

Prints graph with a scale. Scale of 10 means every 10 values is displayed as 1 character

scale(scale = nil) click to toggle source

Get or Set th print scale

# File lib/graph/bar.rb, line 58
def scale(scale = nil)
  unless scale.nil?
    raise ArgumentError, 'Invalid Scale!', caller unless
      scale > 0
    @scale = scale
  end
  @scale
end