require 'drb'
class Counter
attr_reader:count
def initialize
@count = 0
end
def increment
@count += 1
end
end
class TrackedCounter < Counter
attr_reader:name
attr_reader:createdAt
attr_reader:lastAccess
def initialize(name)
super()
@name = name
@createdAt = Time.now
@lastAccess = @createdAt
end
end
tracked = TrackedCounter.new("Tracked Counter")
DRb.start_service("druby://localhost:8888", tracked)
DRb.thread.join
# accesses the tracked object that has been exported by the server:
require 'drb'
DRb.start_service
tracked = DRbObject.new(nil, "druby://localhost:8888")
5.times do
tracked.increment
puts "The count is #{tracked.count}"
puts "The last access date is #{tracked.lastAccess}"
end