diff options
| author | Rick Bradley <rick@rickbradley.com> | 2007-10-04 13:47:36 -0500 |
|---|---|---|
| committer | Rick Bradley <rick@rickbradley.com> | 2007-10-04 13:47:36 -0500 |
| commit | 24121996ac214395106a0bb11f4d2a5c350f99b3 (patch) | |
| tree | 1db64b5d2a645fe8c344439107af6cab8d77ad0d /lib | |
| parent | 102ad23acb1c798c99b013e86b1d67350bbced7c (diff) | |
| download | puppet-24121996ac214395106a0bb11f4d2a5c350f99b3.tar.gz puppet-24121996ac214395106a0bb11f4d2a5c350f99b3.tar.xz puppet-24121996ac214395106a0bb11f4d2a5c350f99b3.zip | |
Allow for multiple REST servers to be active; some terminology changes in spec; fleshing out more behavior, implementing.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/network/rest_server.rb | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/lib/puppet/network/rest_server.rb b/lib/puppet/network/rest_server.rb index 7c745f321..50ca939ee 100644 --- a/lib/puppet/network/rest_server.rb +++ b/lib/puppet/network/rest_server.rb @@ -1,35 +1,37 @@ class Puppet::Network::RESTServer # :nodoc: - @@routes = {} - @@listening = false + attr_reader :server - def self.register(*indirections) + def initialize(args = {}) + raise(ArgumentError, "requires :server to be specified") unless args[:server] + @routes = {} + @listening = false + @server = args[:server] + end + + def register(*indirections) raise ArgumentError, "indirection names are required" if indirections.empty? - indirections.flatten.each { |i| @@routes[i.to_sym] = true } + indirections.flatten.each { |i| @routes[i.to_sym] = true } end - def self.unregister(*indirections) - raise ArgumentError, "indirection names are required" if indirections.empty? + def unregister(*indirections) + indirections = @routes.keys if indirections.empty? indirections.flatten.each do |i| - raise(ArgumentError, "indirection [%s] is not known" % i) unless @@routes[i.to_sym] - @@routes.delete(i.to_sym) + raise(ArgumentError, "indirection [%s] is not known" % i) unless @routes[i.to_sym] + @routes.delete(i.to_sym) end end - - def self.reset - self.unregister(@@routes.keys) unless @@routes.keys.empty? - end - - def self.listening? - @@listening + + def listening? + @listening end - def self.listen - raise "Cannot listen -- already listening" if @@listening - @@listening = true + def listen + raise "Cannot listen -- already listening" if listening? + @listening = true end - def self.unlisten - raise "Cannot unlisten -- not currently listening" unless @@listening - @@listening = false + def unlisten + raise "Cannot unlisten -- not currently listening" unless listening? + @listening = false end end |
