class Multiplexer

Attributes

velocitators[R]

Public Class Methods

new(velocitators) click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 6
def initialize(velocitators)
  @velocitators = velocitators
  # TODO what if there are multiple gem_names being multiplexed?
  @gem_name = velocitators.first.gem_name
  @versions = velocitators.map(&:versions).flatten
  after_init
end

Public Instance Methods

default_start() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 27
def default_start
  earliest_for(velocitators.map(&:effective_start_time))
end
effective_end_time() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 31
def effective_end_time
  latest_for(velocitators.map(&:effective_end_time))
end
effective_max_value() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 39
def effective_max_value
  velocitators.map(&:effective_max_value).max
end
effective_min_value() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 35
def effective_min_value
  velocitators.map(&:effective_min_value).min
end
hide_legend?() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 49
def hide_legend?
  false
end
line_datas() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 43
def line_datas
  velocitators.map do |velocitator|
    velocitator.line_data(effective_start_time, effective_end_time)
  end
end
root() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 18
def root
  velocitator_with_root = velocitators.detect{|v| v.root }
  if velocitator_with_root
    velocitator_with_root.root
  else
    Dir.pwd
  end
end
title() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 57
def title
  "Composite: #{gem_names}"
end
version() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 14
def version
  raise "The multiplexer does not have a single version. try @versions."
end
versions_for_legends() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 53
def versions_for_legends
  velocitators.map(&:version)
end

Private Instance Methods

gem_names() click to toggle source
# File lib/gem_velocity/velocitators/multiplexer.rb, line 63
def gem_names
  velocitators.map(&:gem_name).sort.uniq.join(" ")
end