Class: RailsPulse::Requests::Charts::OperationsChart

Inherits:
Object
  • Object
show all
Defined in:
app/models/rails_pulse/requests/charts/operations_chart.rb

Defined Under Namespace

Classes: OperationBar

Constant Summary collapse

HORIZONTAL_OFFSET_PX =
20

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(operations) ⇒ OperationsChart

Returns a new instance of OperationsChart.



11
12
13
14
15
16
17
# File 'app/models/rails_pulse/requests/charts/operations_chart.rb', line 11

def initialize(operations)
  @operations = operations
  @min_start = @operations.map(&:start_time).min || 0
  @max_end = @operations.map { |op| op.start_time + op.duration }.max || 1
  @total_duration = (@max_end - @min_start).nonzero? || 1
  @bars = build_bars
end

Instance Attribute Details

#barsObject (readonly)

Returns the value of attribute bars.



7
8
9
# File 'app/models/rails_pulse/requests/charts/operations_chart.rb', line 7

def bars
  @bars
end

#max_endObject (readonly)

Returns the value of attribute max_end.



7
8
9
# File 'app/models/rails_pulse/requests/charts/operations_chart.rb', line 7

def max_end
  @max_end
end

#min_startObject (readonly)

Returns the value of attribute min_start.



7
8
9
# File 'app/models/rails_pulse/requests/charts/operations_chart.rb', line 7

def min_start
  @min_start
end

#total_durationObject (readonly)

Returns the value of attribute total_duration.



7
8
9
# File 'app/models/rails_pulse/requests/charts/operations_chart.rb', line 7

def total_duration
  @total_duration
end