class GerbilCharts::Models::RawRange
Maintains a range when values are added to a model This tracks the raw min/max values
Attributes
rmax[R]
rmin[R]
Public Class Methods
new()
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 10 def initialize @rmax,@rmin=nil,nil end
Public Instance Methods
delta()
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 52 def delta return @rmax-@rmin end
each_label(ticks=4) { |v, format_suffix(v)| ... }
click to toggle source
provide labels for raw range
assumes ticks = 5 yields two items (value,string label) Usage example: r.each_label do |v,s| p "Value = #{v} Label String = #{s}" end
# File lib/gerbilcharts/models/raw_range.rb, line 84 def each_label(ticks=4) raise "No data points in model" if @rmax == -1 label_interval = (@rmax-@rmin)/ticks v = @rmin while (v<=@rmax) do yield v, format_suffix(v) v = v+label_interval end end
each_tick(ticks=4) { |v| ... }
click to toggle source
provide ticks (per label interval) for raw range simply divide the max and min into ticks
# File lib/gerbilcharts/models/raw_range.rb, line 98 def each_tick(ticks=4) label_interval = (@rmax-@rmin)/ticks v = @rmin while (v<@rmax) do yield v v = v+label_interval end end
format_value(val)
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 71 def format_value(val) return format_suffix(val) end
invalid?()
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 14 def invalid? @rmin.nil? || @rmax.nil? end
min_max() { |rmin,rmax| ... }
click to toggle source
returns the min/max
# File lib/gerbilcharts/models/raw_range.rb, line 39 def min_max yield @rmin,@rmax if block_given? return @rmin,@rmax end
reset()
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 44 def reset @rmin,@rmax=nil,nil end
scale_factor(val)
click to toggle source
scales a value with respect to the range
val = scale this value
# File lib/gerbilcharts/models/raw_range.rb, line 58 def scale_factor(val) if @rmin==@rmax return 0.1 else return (val-@rmin).to_f/(@rmax-@rmin).to_f end end
to_s()
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 48 def to_s "Min = #{@rmin} Max=#{@rmax}" end
update(newval)
click to toggle source
update - updates the range
newval - new incoming value
# File lib/gerbilcharts/models/raw_range.rb, line 21 def update(newval) if not newval.nil? @rmax=newval if @rmax.nil? or newval > @rmax @rmin=newval if @rmin.nil? or newval < @rmin end end
update_r(range)
click to toggle source
update - updates the range (using another range)
newval - new range
# File lib/gerbilcharts/models/raw_range.rb, line 31 def update_r(range) update(range.rmax) update(range.rmin) end
zeromin()
click to toggle source
# File lib/gerbilcharts/models/raw_range.rb, line 66 def zeromin @rmin=0 @rmax=0 end