Module: Hudson

Defined in:
lib/hudson-remote-api/job.rb,
lib/hudson-remote-api/build.rb,
lib/hudson-remote-api/client.rb,
lib/hudson-remote-api/errors.rb,
lib/hudson-remote-api/version.rb,
lib/hudson-remote-api/settings.rb,
lib/hudson-remote-api/multicast.rb,
lib/hudson-remote-api/build_queue.rb,
lib/hudson-remote-api/hudson_xml_api.rb,
lib/hudson-remote-api/parser/job_info.rb,
lib/hudson-remote-api/parser/multicast.rb,
lib/hudson-remote-api/parser/build_info.rb,
lib/hudson-remote-api/parser/server_info.rb,
lib/hudson-remote-api/parser/job_config_info.rb,
lib/hudson-remote-api/parser/build_queue_info.rb,
lib/hudson-remote-api/xml_writer/job_config_info.rb

Defined Under Namespace

Modules: Parser, XmlWriter Classes: APIError, Build, BuildQueue, Client, Job, Settings, XmlApi

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.client(config_settings = {}) ⇒ Object



6
7
8
# File 'lib/hudson-remote-api/client.rb', line 6

def client(config_settings={})
  @client ||= Client.new(config_settings)
end

.discover(multicast_addr = "239.77.124.213", port = 33848, timeout_limit = 5) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/hudson-remote-api/multicast.rb', line 6

def self.discover(multicast_addr = "239.77.124.213", port=33848, timeout_limit=5)
  socket = UDPSocket.open
  socket.setsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, [1].pack('i'))
  socket.send(ARGV.join(' '), 0, multicast_addr, port)
  msg = nil
  #msg, info = socket.recvfrom_nonblock(1024)
  timeout(timeout_limit) do
    msg, info = socket.recvfrom(1024)
  end
  msg
rescue Exception => e
  puts e
  nil
ensure
  socket.close 
end