Sha256: c34db97730be520c2d034866583d63ccff6cdb3c75c0559999a28044a86a5ceb

Contents?: true

Size: 487 Bytes

Versions: 1

Compression:

Stored size: 487 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

1 entries across 1 versions & 1 rubygems

Version Path
houston-core-0.5.0.beta1 app/models/output_stream.rb