Sha256: 0e8b85388d974599589c4649dbe801cc519147d8d5bf28a999dcaa49b72029dc

Contents?: true

Size: 684 Bytes

Versions: 5

Compression:

Stored size: 684 Bytes

Contents

# frozen_string_literal: true

require 'drb'
require 'drb/http0'
require 'drb/http0helper'

module UU
  class Remote
    def self.start_service
      DRb.start_service
    end

    def self.stop_service
      DRb.stop_service
    end

    def initialize(uri)
      @remote = DRbObject.new_with_uri(uri)
    end

    def disable
      @remote.disable
    end

    def enable
      @remote.enable
    end

    def eval_(code)
      @remote.eval_(code)
    end

    def klass(klass_)
      @remote.klass(klass_.to_s)
    end

    def run(&block)
      disable
      instance_eval(&block)
    ensure
      enable
    end

    def enable_at_exit
      at_exit { enable }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
uu-0.2.2 lib/uu/remote.rb
uu-0.2.1 lib/uu/remote.rb
uu-0.2.0 lib/uu/remote.rb
uu-0.1.3 lib/uu/remote.rb
uu-0.1.2 lib/uu/remote.rb