Module: Configure::Views

### Home Classes Methods

### In Files

- lib/mongrel_config/win32_app.rb
- lib/mongrel_config/app.rb

### Methods

- #_pid
- #_running?
- #_running_procs
- #info
- #install_form
- #install_result
- #kill
- #layout
- #list
- #logs
- #service_logs
- #show
- #start
- #start_done
- #stop

### Class/Module Index

Quicksearch

- Configure
- Configure::Controllers
- Configure::Controllers::ClearLogs
- Configure::Controllers::Delete
- Configure::Controllers::Index
- Configure::Controllers::Info
- Configure::Controllers::Install
- Configure::Controllers::Kill
- Configure::Controllers::Logs
- Configure::Controllers::Start
- Configure::Controllers::Stop
- Configure::Views
- ConfigTool
- W32Support

No matching classes.

# Configure::Views

### Public Instance Methods

_pid() click to toggle source

    # File lib/mongrel_config/app.rb, line 155
    def _pid
      open($PID_FILE) {|f| f.read } if _running?
    end

_running?() click to toggle source

    # File lib/mongrel_config/app.rb, line 151
    def _running?
      File.exist? $PID_FILE
    end

_running_procs() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 237
    def _running_procs
      running = []
      W32Support.list.each {|s| running << s.service_name if s.current_state =~ /running/}
      running
    end

info() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 175
    def info
      div :id=>"viewport" do
        @services.each do |s|

          h2 { "#{s.service_name} service information" }
          table do
            tr { th {"Attribute"}; th {"Value"} }

            s.each_pair do |memb,obj|
              name = memb.to_s.tr("_"," ").capitalize
              tr {
                td { b { "#{name}: " } }
                td { obj.inspect }
              }
            end
          end
        end
      end
    end

install_form() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 206
    def install_form
      div do
        h2 { "Install New Mongrel Service" }
        p { "Items with an * are mandatory.  Leave an item blank to not specify it." }
        form :action=>"/install", :method=>"POST" do
          b { "* Service Name: "}; input :name => "service_name"; br
          b { "* Root: "}; input :name => "root"; br
          b { "* Environment: "}; input :name => "environment", :value => "development"; br
          b { "*Address: "}; input :name => "address", :value => "0.0.0.0"; br
          b { "*Port: "}; input :name => "port", :value => "4000", :size => 6; br
          b { "Display Name: "}; input :name => "display_name"; br
          b { "MIME Map File: "};  input :name => "mime"; br
          b { "Number Processor Threads: "}; input :name => "num_procs", :size => 3; br
          b { "Request Timeout: "}; input :name => "timeout", :size => 3; br
          b { "Assigned CPU: " }; input :name => "cpu", :size => 2; br

          p { input :type=>"submit", :value => "INSTALL" }
        end
      end
    end

install_result() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 228
    def install_result
      div :id=>"viewport" do
        h2 { "Install Results"}
        pre do
          self << @result
        end
      end
    end

kill() click to toggle source

    # File lib/mongrel_config/app.rb, line 103
    def kill
      div do
        p { @results }

        case @signal
          when "HUP":
            p { "A reload (HUP) does not stop the process, but may not be complete." }
          when "TERM":
            p { "Stopped with TERM signal.  The process should exit shortly, but only after processing pending requests." }
          when "USR2":
            p { "Complete restart (USR2) may take a little while.  Check status in a few seconds or read logs." }
          when "KILL":
            p { "Process was violently stopped (KILL) so pending requests will be lost." }
          end
      end
    end

layout() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 130
    def layout
      links = [
        ["/config", "Status"],
        ["/config/install", "Install"],
        ["/config/logs", "Logs"]
        ]
      body_content = yield
      currently_running = _running_procs

      open(GemPlugin::Manager.instance.resource("mongrel_config", "/index_win32.html")) do |f|
        template = ERB.new(f.read)
        self << template.result(binding)
      end
    end

list() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 146
    def list
      div :id=>"viewport" do
        table do
          tr { th { "Service"}; th { "Status"}; th { "Control" }; th { "Delete" } }
          @services.each do |s|
            status = W32Support.status(s.service_name)
            tr {
              td { a(s.service_name, :href => "/info/#{s.service_name}") }
              td { status.capitalize }
              td {
                if status =~ /stopped/
                  a("start",:href => "/start/#{s.service_name}")
                elsif status =~ /running/
                  a("stop",:href => "/stop/#{s.service_name}")
                else
                  b { "in progress" }
                end
              }
              td {
                a("delete!",:href => "/delete/#{s.service_name}",
                  :onclick=>"return confirm('Delete #{s.service_name}?') == '1'")
              }
            }
          end
        end
      end
    end

logs() click to toggle source

    # File lib/mongrel_config/app.rb, line 133
    def logs
      div do
        h2 { "Logs" }
        table do
          tr do
            th { "File"}; th { "Bytes" }; th { "Last Modified" }
          end
          @log_files.each do |file|
            tr do
              td { a file, :href => "../#{file}" }
              td { File.size file }
              td { File.mtime file }
            end
          end
        end
      end
    end

service_logs() click to toggle source

    # File lib/mongrel_config/win32_app.rb, line 195
    def service_logs
      h2 { "Latest Service Activity Logs" }
      a("[clear logs]", :href => "/clear_logs")

      div :id=>"viewport" do
        pre :style=>"font-size: 10pt;" do
          self << $service_logs
        end
      end
    end

show() click to toggle source

    # File lib/mongrel_config/app.rb, line 75
    def show
      div do
        h2 { "Status" }
        if _running?
          p { "Currently running with PID #{_pid}." }
        else
          p { "Mongrel is not running." }
        end
      end
    end

start() click to toggle source

    # File lib/mongrel_config/app.rb, line 86
    def start
      div do
        form :action => "/start", :method => "POST" do
          p { span { "Port:" }; input :name => "port", :value => "4000" }
          p { span { "Environment:" }; input :name => "env", :value => "development" }
          p { span { "Address:" }; input :name => "address", :value => "0.0.0.0" }
          input :type => "submit", :value => "START"
        end
      end
    end

start_done() click to toggle source

    # File lib/mongrel_config/app.rb, line 97
    def start_done
      div do
        p { @results }
      end
    end

stop() click to toggle source

    # File lib/mongrel_config/app.rb, line 120
    def stop
      if _running?
        ul do
          li { a "Stop (TERM)", :href => "/kill/term" }
          li { a "Reload (HUP)", :href => "/kill/hup" }
          li { a "Restart (USR2)", :href => "/kill/usr2" }
          li { a "Kill (KILL)", :href => "/kill/kill" }
        end
      else
        p { "Mongrel does not appear to be running (no PID file at #$PID_FILE)." }
      end
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.