Sha256: bf6192001e033e65668dd46a617a33d57429a47ab2ee324a5bf3fbfe3327b7cf

Contents?: true

Size: 479 Bytes

Versions: 17

Compression:

Stored size: 479 Bytes

Contents

require "thread_safe"

class OutputStream

  def initialize(deploy)
    @deploy = deploy
    @lines = ThreadSafe::Array.new
  end

  def <<(value)
    @lines.push(value)
    begin
      @deploy.update_column :output, to_s
    rescue exceptions_wrapping(PG::ConnectionBad)
      # Be lazy about writing this to the database
      # Better yet, !todo, debounce this
      Rails.logger.warn "#{$!.class}: #{$!.message}"
    end
    self
  end

  def to_s
    @lines.join
  end

end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
houston-core-0.8.0.pre app/models/output_stream.rb
houston-core-0.7.0 app/models/output_stream.rb
houston-core-0.7.0.beta4 app/models/output_stream.rb
houston-core-0.7.0.beta3 app/models/output_stream.rb
houston-core-0.7.0.beta2 app/models/output_stream.rb
houston-core-0.7.0.beta app/models/output_stream.rb
houston-core-0.6.3 app/models/output_stream.rb
houston-core-0.6.2 app/models/output_stream.rb
houston-core-0.6.1 app/models/output_stream.rb
houston-core-0.6.0 app/models/output_stream.rb
houston-core-0.5.6 app/models/output_stream.rb
houston-core-0.5.5 app/models/output_stream.rb
houston-core-0.5.4 app/models/output_stream.rb
houston-core-0.5.3 app/models/output_stream.rb
houston-core-0.5.2 app/models/output_stream.rb
houston-core-0.5.1 app/models/output_stream.rb
houston-core-0.5.0 app/models/output_stream.rb