Class: ReactOnRailsPro::Stream::RendererServerTimingAttemptCollector

Inherits:
Object
  • Object
show all
Defined in:
lib/react_on_rails_pro/concerns/stream.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collector:, previous_attempt_collector:) ⇒ RendererServerTimingAttemptCollector

Returns a new instance of RendererServerTimingAttemptCollector.



138
139
140
141
142
# File 'lib/react_on_rails_pro/concerns/stream.rb', line 138

def initialize(collector:, previous_attempt_collector:)
  @collector = collector
  @previous_attempt_collector = previous_attempt_collector
  @appended_entries = []
end

Instance Attribute Details

#collectorObject (readonly)

Returns the value of attribute collector.



136
137
138
# File 'lib/react_on_rails_pro/concerns/stream.rb', line 136

def collector
  @collector
end

#previous_attempt_collectorObject (readonly)

Returns the value of attribute previous_attempt_collector.



136
137
138
# File 'lib/react_on_rails_pro/concerns/stream.rb', line 136

def previous_attempt_collector
  @previous_attempt_collector
end

Instance Method Details

#append(entry, collector:) ⇒ Object



144
145
146
147
148
# File 'lib/react_on_rails_pro/concerns/stream.rb', line 144

def append(entry, collector:)
  return unless collector.equal?(@collector)

  @appended_entries << entry
end

#remove_appended_entriesObject



150
151
152
153
154
155
156
157
# File 'lib/react_on_rails_pro/concerns/stream.rb', line 150

def remove_appended_entries
  appended_entries = {}.compare_by_identity
  @appended_entries.each do |entry|
    appended_entries[entry] = true
  end

  @collector.delete_if { |entry| appended_entries[entry] }
end