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.


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

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:


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

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

Instance Method Details

#_dump(lv) ⇒ Object

:nodoc:


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

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