Sha256: dc091fc43c7552cd2f40bfd2bb6b62baf8db1d154141d7490a14e14a1161fe98

Contents?: true

Size: 810 Bytes

Versions: 12

Compression:

Stored size: 810 Bytes

Contents

class Lev::NullStatus
  attr_reader :id

  def initialize(id=nil)
    @id = id || "null-status:#{SecureRandom.uuid}"
    @kill_requested = false
  end

  def request_kill!
    @kill_requested = true
  end

  def kill_requested?
    @kill_requested
  end

  def method_missing(*args, &block)
    nil
  end

  # Provide null object pattern methods for status setter methods called from
  # within routines; routines should not be using other query methods to check
  # their own status (they should know it), with the exception of `kill_requested?`

  def set_job_name(*); end
  def set_job_args(*); end
  def set_provider_job_id(*); end
  def set_progress(*); end
  def save(*); end
  def add_error(*); end

  def queued!; end
  def started!; end
  def succeeded!; end
  def failed!; end
  def killed!; end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
lev-12.0.0 lib/lev/null_status.rb
lev-11.0.0 lib/lev/null_status.rb
lev-10.1.0 lib/lev/null_status.rb
lev-10.0.0 lib/lev/null_status.rb
lev-9.0.4 lib/lev/null_status.rb
lev-9.0.3 lib/lev/null_status.rb
lev-9.0.2 lib/lev/null_status.rb
lev-9.0.1 lib/lev/null_status.rb
lev-9.0.0 lib/lev/null_status.rb
lev-8.1.0 lib/lev/null_status.rb
lev-8.0.0 lib/lev/null_status.rb
lev-7.1.0 lib/lev/null_status.rb