class Hermes::Id

Attributes

host[W]
id[R]

Public Class Methods

new(id = nil) click to toggle source
Calls superclass method
# File lib/hermes/types.rb, line 73
def initialize id = nil
  super id || generate
end

Public Instance Methods

encode() click to toggle source
# File lib/hermes/types.rb, line 77
def encode
  "<#{self}>"
end
Also aliased as: inspect
host() click to toggle source
# File lib/hermes/types.rb, line 63
def host
  @host ||= socket.gethostname
end
inspect()
Alias for: encode
parse(str) { |$'| ... } click to toggle source
# File lib/hermes/types.rb, line 66
def parse str
  str =~ /<(.*?)>/
  yield $' if block_given?
  $1
end

Private Instance Methods

generate() click to toggle source
# File lib/hermes/types.rb, line 82
def generate
  t = Time.now.strftime "%Y%m%d%H%M%S"
  h = self.class.host
  a = "a".ord
  r = ""
  8.times { r << (a + (rand 26)).chr }
  "#{t}.#$$.#{r}@#{h}"
end