Sha256: 7d5a1f5c113f2fff5518902d3a78a2e2c897eda5d20be7d4346dc62b5bf9676c

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

class Skein::Context
  # == Properties ===========================================================

  attr_reader :hostname
  attr_reader :process_name
  attr_reader :process_id
  attr_accessor :reporter

  # == Class Methods ========================================================

  def self.default
    @default ||= self.new
  end

  # == Instance Methods =====================================================

  def initialize(hostname: nil, process_name: nil, process_id: nil, config: nil)
    @hostname = (hostname || Skein::Support.hostname).dup.freeze
    @process_name = (process_name || Skein::Support.process_name).dup.freeze
    @process_id = process_id || Skein::Support.process_id
  end

  def ident(object)
    # FUTURE: Add pack/unpack methods for whatever format this ends up being
    #         so the components can be extracted by another application for
    #         diagnostic reasons.
    '%s#%d+%s@%s' % [
      @process_name,
      @process_id,
      object.object_id,
      @hostname
    ]
  end

  def exception!(*args)
    @reporter and @reporter.exception!(*args)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
skein-0.3.0 lib/skein/context.rb