Class: Saber::AutoFetcher::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/saber/autofetcher/server.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeServer

Returns a new instance of Server.



18
19
20
# File 'lib/saber/autofetcher/server.rb', line 18

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

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



16
17
18
# File 'lib/saber/autofetcher/server.rb', line 16

def client
  @client
end

Class Method Details

.startObject



8
9
10
11
12
13
14
# File 'lib/saber/autofetcher/server.rb', line 8

def self.start
  s = Server.new
  DRbServer.start(s)
  s.start

  Thread.list.each {|v| v.join}
end

Instance Method Details

#send(files) ⇒ Object



36
37
38
39
40
# File 'lib/saber/autofetcher/server.rb', line 36

def send(files)
  Saber.ui.debug "SEND #{files.join("\n")}"
  #client.send Jabber::Presence.new
  client.send Jabber::Message.new(Rc.client.xmpp.jid, files.join("\n")).set_type(:chat)
end

#startObject



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/saber/autofetcher/server.rb', line 22

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

  at_exit do
    client.send Jabber::Presence.new.set_type(:unavaliable)
  end

  client.send Jabber::Iq.new_rosterget
  client.send Jabber::Presence.new.set_type(:avaliable)

  Saber.ui.say ">> Connected to xmpp with #{Rc.server.xmpp.jid}"
end