Sha256: dea5858c73124c74fc41487439c14ecfa33b59b780bc459d679c01a758f43850

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require "xmpp4r/client"
require "drb"

module Saber
  class Client
    class << self
      def start
        Client.new.start
        sleep
      end
    end

    attr_reader :client, :downloader

    def initialize
      @client = Jabber::Client.new(Jabber::JID.new(Rc.client.xmpp.jid))
      @downloader = Downloader.new
    end

    def start
      client.connect Rc.client.xmpp.host, Rc.client.xmpp.port 
      client.auth Rc.client.xmpp.password

      client.add_message_callback { |msg|
        pd msg.from.bare
        if msg.from.bare == Rc.server.xmpp.jid
          files = msg.body.split("\n")
          Saber.ui.say "::recv files::\n #{files.join("\n")}\n\n"
          #downloader.add *files
        end
      }

      client.send Jabber::Presence.new
      Saber.ui.say ">> Connected to xmpp with #{Rc.client.xmpp.jid}"
    end
  end

  class DRbClient
    attr_reader :server

    def initialize
      DRb.start_service
      @server = DRbObject.new_with_uri(Rc.drb_uri)
      Saber.ui.debug "DRbClient connected to #{Rc.drb_uri}"
    end

    def add(*names)
      server.add(*names)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
saber-0.0.3 lib/saber/client.rb