Class: DRb::DRbArray

Inherits:
Object
  • Object
show all
Defined in:
lib/drb/drb.rb

Overview

An Array wrapper that can be sent to another server via DRb.

All entries in the array will be dumped or be references that point to the local server.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ary) ⇒ DRbArray

Creates a new DRbArray that either dumps or wraps all the items in the Array ary so they can be loaded by a remote DRb server.


524
525
526
527
528
529
530
531
532
533
534
535
536
537
# File 'lib/drb/drb.rb', line 524

def initialize(ary)
  @ary = ary.collect { |obj|
    if obj.kind_of? DRbUndumped
      DRbObject.new(obj)
    else
      begin
        Marshal.dump(obj)
        obj
      rescue
        DRbObject.new(obj)
      end
    end
  }
end

Class Method Details

._load(s) ⇒ Object

:nodoc:


539
540
541
# File 'lib/drb/drb.rb', line 539

def self._load(s) # :nodoc:
  Marshal::load(s)
end

Instance Method Details

#_dump(lv) ⇒ Object

:nodoc:


543
544
545
# File 'lib/drb/drb.rb', line 543

def _dump(lv) # :nodoc:
  Marshal.dump(@ary)
end