class HRecord

Public Class Methods

new(fieldValue, fieldName = :key) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 21
def initialize(fieldValue, fieldName = :key)
  self.setValue(fieldValue, fieldName)
end
test() click to toggle source
# File lib/hdatastructures/hrecord.rb, line 65
def self.test()
  rec = HRecord.new("a")
  rec.setValue("0", "index-0")
  rec.set("index-1", "1")
  rec.show() 
  puts rec == rec
end

Public Instance Methods

<=>(record) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 40
def <=>(record)
   self[:key] <=> record[:key]
end
method_missing(var, *args) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 8
def method_missing(var, *args)
  if var =~ /^(\w+)=$/
    if self.include?($1.to_s)
      self.set($1.to_s, args[0])
    else
      self.set($1.to_sym, args[0])
    end
    return self
  else
    return self.value(var.to_sym) || self.value(var.to_s)
  end
end
set(fieldName, fieldValue) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 30
def set(fieldName, fieldValue)
  self.setValue(fieldValue, fieldName)
  return self
end
setValue(fieldValue, fieldName = :key) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 25
def setValue(fieldValue, fieldName = :key)
  self[fieldName] = fieldValue
  return self
end
show(key = :key) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 48
def show(key = :key)

  color = self.include?(:color) ? self[:color] : "white"
  value = $hpformat % self.value().to_s()
  eval("print value.#{color}")

end
showAll(key = :key) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 56
def showAll(key = :key)

  self.each do |key, value|
    puts "#{key}: #{value}"
  end
  puts "=" * 20

end
to_f(fieldName = :key) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 44
def to_f(fieldName = :key)
  return self[fieldName].to_f()
end
value(fieldName = :key) click to toggle source
# File lib/hdatastructures/hrecord.rb, line 35
def value(fieldName = :key)
  puts "hrecord::value: it's exist #{fieldName} symbol and string - #{self}".red if self[fieldName.to_sym] and  self[fieldName.to_s]
  return self[fieldName.to_sym] || self[fieldName.to_s]
end