lib/iisconfig/iis_object.rb in iisconfig-0.4.1 vs lib/iisconfig/iis_object.rb in iisconfig-0.5.0
- old
+ new
@@ -1,35 +1,48 @@
-require 'runner'
-
-module IISConfig
-
- class IISObject
-
- def exist?(type, name)
- args = []
- args << 'LIST'
- args << type.to_s.upcase
- args << '/xml'
- result = Runner.execute_command args
-
- exists = false
- doc = REXML::Document.new(result)
-
- doc.elements.each("appcmd/#{type.to_s.upcase}[@#{type.to_s.upcase}.NAME='#{name}']") do
- exists = true
- break
- end
-
- exists
- end
-
- protected
-
- def add_instance(collection, type, block)
- instance = type.new
- collection << instance
- block.call instance if block
- end
-
- end
-
-end
\ No newline at end of file
+require 'runner'
+
+module IISConfig
+
+ class IISObject
+
+ def exist?(type, name)
+ args = []
+ args << 'LIST'
+ args << type.to_s.upcase
+ args << '/xml'
+ result = Runner.execute_command args
+
+ exists = false
+ doc = REXML::Document.new(result)
+
+ doc.elements.each("appcmd/#{type.to_s.upcase}[@#{type.to_s.upcase}.NAME='#{name}']") do
+ exists = true
+ break
+ end
+
+ exists
+ end
+
+ def start_provider_exist?(name)
+ result = Runner.execute_command %W{ LIST CONFIG /section:serviceAutoStartProviders }
+ exists = false
+ doc = REXML::Document.new(result)
+
+ doc.each_element("//add[@name='#{name}']") do |e|
+ exists = true
+ break
+ end
+
+ exists
+ end
+
+ protected
+
+ def add_instance(collection, type, block)
+ instance = type.new
+ collection << instance
+ block.call instance if block
+ end
+
+ end
+
+end