class Spoom::Coverage::D3::Timeline::Versions
Public Class Methods
new(id, snapshots)
click to toggle source
Calls superclass method
Spoom::Coverage::D3::Timeline::new
# File lib/spoom/coverage/d3/timeline.rb, line 232 def initialize(id, snapshots) data = snapshots.map do |snapshot| { timestamp: snapshot.commit_timestamp, commit: snapshot.commit_sha, static: snapshot.version_static, runtime: snapshot.version_runtime, } end super(id, data, []) end
Public Instance Methods
plot()
click to toggle source
# File lib/spoom/coverage/d3/timeline.rb, line 259 def plot <<~JS #{x_scale} #{y_scale( min: "d3.min([d3.min(data_#{id}, (d) => parseVersion(d.static)), d3.min(data_#{id}, (d) => parseVersion(d.runtime))]) - 0.01", max: "d3.max([d3.max(data_#{id}, (d) => parseVersion(d.static)), d3.max(data_#{id}, (d) => parseVersion(d.runtime))]) + 0.01", ticks: 'ticks(8)' )} #{line(y: 'parseVersion(d.runtime)', color: '#e83e8c', curve: 'curveStepAfter')} #{line(y: 'parseVersion(d.static)', color: '#007bff', curve: 'curveStepAfter')} #{points(y: 'parseVersion(d.static)')} #{x_ticks} #{y_ticks(ticks: 'ticks(4)', format: "'v0.' + d.toFixed(2)", padding: 50)} JS end
tooltip()
click to toggle source
# File lib/spoom/coverage/d3/timeline.rb, line 245 def tooltip <<~JS function tooltip_#{id}(d) { moveTooltip(d) .html("commit <b>" + d.commit + "</b><br>" + d3.timeFormat("%y/%m/%d")(parseDate(d.timestamp)) + "<br><br>" + "static: v<b>" + d.static + "</b><br>" + "runtime: v<b>" + d.runtime + "</b><br><br>" + "versions from<br>Gemfile.lock") } JS end