We got nominated! Help us out and vote for GitHub as Best Bootstrapped Startup of 2008. (You can vote once a day.) [ hide ]

public
Description: Phusion Passenger (mod_rails)
Homepage: http://www.modrails.com/
Clone URL: git://github.com/FooBarWidget/passenger.git
Click here to lend your support to: passenger and make a donation at www.pledgie.com !
Make AdminTools::ControlProcess DRYer.
Hongli Lai (Phusion) (author)
Thu Nov 20 14:06:30 -0800 2008
commit  13982fb2444a7c74f16a9007d2048cfbe0b6bd50
tree    edc352a9ea73461011aad751c4aa7630b2e8c941
parent  09fec99488712cc9ff48eabac84c397967c147a3
...
7
8
9
 
 
 
 
 
10
11
12
...
56
57
58
59
 
60
61
62
...
80
81
82
83
84
85
86
87
 
 
 
 
 
 
 
 
 
 
 
88
89
90
...
7
8
9
10
11
12
13
14
15
16
17
...
61
62
63
 
64
65
66
67
...
85
86
87
 
 
 
 
 
88
89
90
91
92
93
94
95
96
97
98
99
100
101
0
@@ -7,6 +7,11 @@ module Passenger
0
 module AdminTools
0
 
0
 class ControlProcess
0
+ class Instance
0
+ attr_accessor :pid, :socket_name, :socket_type, :sessions, :uptime
0
+ INT_PROPERTIES = [:pid, :sessions]
0
+ end
0
+
0
   attr_accessor :path
0
   attr_accessor :pid
0
   
0
@@ -56,7 +61,7 @@ class ControlProcess
0
     return @domains
0
   end
0
   
0
- def backends
0
+ def instances
0
     return domains.map do |domain|
0
       domain[:instances]
0
     end.flatten
0
@@ -80,11 +85,17 @@ private
0
         :instances => instances
0
       }
0
       domain.elements.each("instances/instance") do |instance|
0
- i = {
0
- :pid => instance.elements["pid"].text.to_i,
0
- :sessions => instance.elements["sessions"].text.to_i,
0
- :uptime => instance.elements["uptime"].text
0
- }
0
+ i = Instance.new
0
+ instance.elements.each do |element|
0
+ if i.respond_to?("#{element.name}=")
0
+ if Instance::INT_PROPERTIES.include?(element.name.to_sym)
0
+ value = element.text.to_i
0
+ else
0
+ value = element.text
0
+ end
0
+ i.send("#{element.name}=", value)
0
+ end
0
+ end
0
         instances << i
0
       end
0
       @domains << d

Comments

    No one has commented yet.