Sha256: 01581318a0253d72bf1864dac8172e947472984f6a78ad65f9e32cc0b5a37019

Contents?: true

Size: 611 Bytes

Versions: 4

Compression:

Stored size: 611 Bytes

Contents

# frozen_string_literal: true

module Mnemosyne
  class Span
    attr_reader :uuid, :name, :start, :finish, :meta

    def initialize(name, start: false, finish: false, meta: {})
      @name = name
      @meta = meta
      @uuid = ::SecureRandom.uuid

      @start  = start
      @finish = finish
    end

    def start!
      @start = ::Mnemosyne::Clock.tick
      self
    end

    def finish!
      @finish = ::Mnemosyne::Clock.tick
      self
    end

    def serialize
      {
        uuid: uuid,
        name: name,
        start: start,
        stop: finish,
        meta: meta
      }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mnemosyne-ruby-1.0.1 lib/mnemosyne/span.rb
mnemosyne-ruby-1.0.0 lib/mnemosyne/span.rb
mnemosyne-ruby-0.2.0 lib/mnemosyne/span.rb
mnemosyne-ruby-0.1.0 lib/mnemosyne/span.rb