Sha256: 3ed0f80187e207ccd10c040516a6ad28e7808c673f9f82d0330372cfba5e2b5e

Contents?: true

Size: 1005 Bytes

Versions: 4

Compression:

Stored size: 1005 Bytes

Contents

require 'iis_object'
require 'virtual_directory'

module IISConfig

  class Application < IISObject

    def name(name)
      @name = name
      @virtual_directories = []
      @app_pool = nil
    end

    def path(path)
      @path = path
    end

    def physical_path(path)
      @physical_path = path
    end

    def app_pool(name)
      @app_pool = name
    end

    def virtual_directory(&block)
      add_instance(@virtual_directories, IISConfig::VirtualDirectory, block)
    end

    def build_commands(site, app_pool)
      commands = []

      commands << %W{ADD APP /site.name:#{site} /path:#{@path} /physicalPath:#{@physical_path.gsub(/\//, '\\')}}

      app_pool = @app_pool unless @app_pool.nil?
      commands << %W{SET SITE /site.name:#{site}/#{@name} /[path='#{@path}'].applicationPool:#{app_pool}}

      @virtual_directories.each do |s|
        commands += s.build_commands "#{site}/#{@name}"
      end

      commands
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
iisconfig-0.4.0 lib/iisconfig/application.rb
iisconfig-0.3.0 lib/iisconfig/application.rb
iisconfig-0.2.3 lib/iisconfig/application.rb
iisconfig-0.2.2 lib/iisconfig/application.rb