Sha256: a62cd7e08515d6b94753978f72dd384363e96a1cbd7e56b80b4790abeaf2e632

Contents?: true

Size: 583 Bytes

Versions: 1

Compression:

Stored size: 583 Bytes

Contents

# frozen_string_literal: true

module Logux
  class Meta < Hash
    def initialize(source_hash = {})
      merge!(source_hash.stringify_keys)

      self['id'] ||= Logux.generate_action_id
      self['time'] ||= self['id'].split(' ')[0]
    end

    def node_id
      id.split(' ')[1]
    end

    def user_id
      node_id.split(':')[0]
    end

    def client_id
      node_id.split(':')[0..1].join(':')
    end

    def logux_order
      time + ' ' + id.split(' ')[1..-1].join(' ')
    end

    def time
      fetch('time')
    end

    def id
      fetch('id')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logux-rack-0.1.0 lib/logux/meta.rb