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.



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

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:



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

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

Instance Method Details

#_dump(lv) ⇒ Object

:nodoc:



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

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