Class: CCTray
- Inherits:
-
Object
show all
- Defined in:
- lib/cctray.rb
Defined Under Namespace
Classes: Message, Project
Instance Method Summary
collapse
Constructor Details
#initialize(feed_url, user = nil, pass = nil) ⇒ CCTray
Returns a new instance of CCTray.
21
22
23
24
|
# File 'lib/cctray.rb', line 21
def initialize(feed_url, user=nil, pass=nil)
@feed_url = feed_url
@user, @pass = user, pass
end
|
Instance Method Details
#fetch ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/cctray.rb', line 26
def fetch
Nokogiri::XML(get).css("Project").map do |proj|
Project.new(proj[:name],
proj[:activity],
proj[:lastBuildStatus],
proj[:lastBuildLabel],
proj[:lastBuildTime],
proj[:webUrl],
proj.css('message').map{|m| Message.new(m[:kind], m[:text])})
end
end
|
#get ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/cctray.rb', line 38
def get
uri = URI(@feed_url)
http_opts = { use_ssl: uri.scheme == 'https' }
Net::HTTP.start uri.host, uri.port, http_opts do |https|
req = Net::HTTP::Get.new(uri.path).tap do |req|
req.basic_auth @user, @pass if @user
end
case res = https.request(req)
when Net::HTTPSuccess
res.body
else
res.error!
end
end
end
|