Class: Inetmgr::IisConfiguration

Inherits:
Configuration show all
Defined in:
lib/inetmgr/iis_configuration.rb

Overview

Represents the local IIS configuration settings (meta base).

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Configuration

#apply_changes

Constructor Details

#initialize(server = nil) ⇒ IisConfiguration

Returns a new instance of IisConfiguration.



9
10
11
# File 'lib/inetmgr/iis_configuration.rb', line 9

def initialize(server = nil)
	super "MACHINE/WEBROOT/APPHOST", server
end

Class Method Details

.configure {|cfg| ... } ⇒ Object

Yields:

  • (cfg)


13
14
15
16
17
# File 'lib/inetmgr/iis_configuration.rb', line 13

def self.configure
	cfg = IisConfiguration.new
	yield cfg
	cfg.apply_changes
end

Instance Method Details

#generate_id(collection) ⇒ Object



19
20
21
22
23
# File 'lib/inetmgr/iis_configuration.rb', line 19

def generate_id(collection)
  count = collection.Count
  arr = (0...count).map {|index| collection.Item(index).Properties.Item('Id').Value }
  (arr.max) ? (arr.max + 1) : 1
end

#get_application_poolsObject

Gets all configure application pools.



32
33
34
35
# File 'lib/inetmgr/iis_configuration.rb', line 32

def get_application_pools
		s = get_admin_section "system.applicationHost/applicationPools"
		IisObjectCollection.new s.Collection, :add, ApplicationPool
end

#get_auto_start_providersObject

Gets all configured service auto start providers.



38
39
40
41
# File 'lib/inetmgr/iis_configuration.rb', line 38

def get_auto_start_providers
	s = get_admin_section "system.applicationHost/serviceAutoStartProviders"
	IisObjectCollection.new s.Collection, :add, AutoStartProvider
end

#get_sitesObject

Gets all configured web sites.



26
27
28
29
# File 'lib/inetmgr/iis_configuration.rb', line 26

def get_sites
  s = get_admin_section "system.applicationHost/sites"
  IisObjectCollection.new s.Collection, :site, Site, lambda { |site| site.id = generate_id(s.Collection) }
end