class Ccp::Kvs::Tokyo::Info

Public Class Methods

example() click to toggle source

example

# File lib/ccp/kvs/tokyo/info.rb, line 18
        def self.example
          parse(<<-EOF)
      path: /tmp/tc/foo.tch
      database type: hash database
      record number: 0
      size: 528704
          EOF
        end
new() click to toggle source

instance methods

# File lib/ccp/kvs/tokyo/info.rb, line 51
def initialize
  @hash = {}
end
parse(buf) click to toggle source

parse

# File lib/ccp/kvs/tokyo/info.rb, line 30
def self.parse(buf)
  # % tcamgr inform /tmp/tc/foo.tch
  #
  # path: /tmp/tc/foo.tch
  # database type: hash database
  # record number: 0
  # size: 528704
  #

  info = new
  buf.scan(/^([a-z ]+): (.*?)($|\Z)/mo).each do |key, val|
    key = key.strip.tr(' ', '_')
    val = val.strip
    info[key] = val
  end
  return info
end

Public Instance Methods

[](key) click to toggle source
# File lib/ccp/kvs/tokyo/info.rb, line 55
def [](key)
  @hash[key]
end
[]=(key, val) click to toggle source
# File lib/ccp/kvs/tokyo/info.rb, line 59
def []=(key, val)
  @hash[key] = val
end
count() click to toggle source
# File lib/ccp/kvs/tokyo/info.rb, line 13
def count; record_number; end

Private Instance Methods

method_missing(key, *args, &block) click to toggle source
# File lib/ccp/kvs/tokyo/info.rb, line 64
def method_missing(key, *args, &block)
  raise unless args.empty?
  raise unless self.class.respond_to?(key)

  cast = self.class.__send__(key)
  return self[key.to_s].__send__(cast)
end