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