### Home Classes Methods

### In Files

- lib/ramaze/bin/helper.rb

### Methods

- #is_running?
- #is_windows?
- #rackup_path

### Class/Module Index

Quicksearch

- Ramaze
- Ramaze::App
- Ramaze::AppGraph
- Ramaze::Bin
- Ramaze::Bin::Console
- Ramaze::Bin::Create
- Ramaze::Bin::Helper
- Ramaze::Bin::Restart
- Ramaze::Bin::Runner
- Ramaze::Bin::Start
- Ramaze::Bin::Status
- Ramaze::Bin::Stop
- Ramaze::Cache
- Ramaze::Cache::LRU
- Ramaze::Cache::LocalMemCache
- Ramaze::Cache::MemCache
- Ramaze::Cache::Redis
- Ramaze::Cache::Sequel
- Ramaze::Controller
- Ramaze::CoreExtensions
- Ramaze::CoreExtensions::Array
- Ramaze::CoreExtensions::Binding
- Ramaze::CoreExtensions::Kernel
- Ramaze::CoreExtensions::Numeric
- Ramaze::CoreExtensions::Object
- Ramaze::CoreExtensions::Proc
- Ramaze::CoreExtensions::String
- Ramaze::Current
- Ramaze::DefaultController
- Ramaze::Dictionary
- Ramaze::Fiber
- Ramaze::Files
- Ramaze::GemSetup
- Ramaze::Gestalt
- Ramaze::Helper
- Ramaze::Helper::Auth
- Ramaze::Helper::Bench
- Ramaze::Helper::BlueForm
- Ramaze::Helper::BlueForm::Form
- Ramaze::Helper::CSRF
- Ramaze::Helper::Cache
- Ramaze::Helper::Cache::SingletonMethods
- Ramaze::Helper::Disqus
- Ramaze::Helper::Email
- Ramaze::Helper::Erector
- Ramaze::Helper::Flash
- Ramaze::Helper::Formatting
- Ramaze::Helper::Gestalt
- Ramaze::Helper::Gravatar
- Ramaze::Helper::Identity
- Ramaze::Helper::Layout
- Ramaze::Helper::Layout::SingletonMethods
- Ramaze::Helper::Link
- Ramaze::Helper::Localize
- Ramaze::Helper::Localize::Dictionary
- Ramaze::Helper::Localize::Parser
- Ramaze::Helper::Markaby
- Ramaze::Helper::Maruku
- Ramaze::Helper::Paginate
- Ramaze::Helper::Paginate::Paginator
- Ramaze::Helper::Paginate::Paginator::ArrayPager
- Ramaze::Helper::Paginate::Paginator::DataMapperPager
- Ramaze::Helper::Remarkably
- Ramaze::Helper::RequestAccessor
- Ramaze::Helper::SendFile
- Ramaze::Helper::SimpleCaptcha
- Ramaze::Helper::Stack
- Ramaze::Helper::Thread
- Ramaze::Helper::Ultraviolet
- Ramaze::Helper::Upload
- Ramaze::Helper::Upload::ClassMethods
- Ramaze::Helper::Upload::UploadedFile
- Ramaze::Helper::UserHelper
- Ramaze::Helper::UserHelper::Wrapper
- Ramaze::Helper::XHTML
- Ramaze::LRUHash
- Ramaze::Logger
- Ramaze::Logger::Analogger
- Ramaze::Logger::Growl
- Ramaze::Logger::Informer
- Ramaze::Logger::Knotify
- Ramaze::Logger::LogHub
- Ramaze::Logger::Logger
- Ramaze::Logger::RotatingInformer
- Ramaze::Logger::Syslog
- Ramaze::Logger::Xosd
- Ramaze::Logging
- Ramaze::MiddlewareCompiler
- Ramaze::Plugin
- Ramaze::Reloader
- Ramaze::Reloader::Hooks
- Ramaze::Reloader::WatchInotify
- Ramaze::Reloader::WatchStat
- Ramaze::Request
- Ramaze::Response
- Ramaze::SpecLogger
- Ramaze::Struct
- Ramaze::View
- Ramaze::View::Erector
- Ramaze::View::Erubis
- Ramaze::View::Ezamar
- Ramaze::View::Gestalt
- Ramaze::View::Haml
- Ramaze::View::Liquid
- Ramaze::View::Liquid::Tag
- Ramaze::View::Lokar
- Ramaze::View::Mustache
- Ramaze::View::Mustache::RamazeContext
- Ramaze::View::Nagoro
- Ramaze::View::Remarkably
- Ramaze::View::Sass
- Ramaze::View::Slippers
- Ramaze::View::Tagz
- Ramaze::View::Tagz::Methods
- Ramaze::View::Tenjin
- Nagoro
- Nagoro::Pipe
- Nagoro::Pipe::RenderPartial
- Bacon
- Bacon::PrettyOutput
- Erector
- Erector::Widget
- Rack
- Rack::RouteExceptions
- Tenjin
- Tenjin::Template
- BlankSlate
- Controller
- Fiber
- FiberError
- MainController
- Object
- OrderedSet
- Thread

No matching classes.

# Ramaze::Bin::Helper

Module containing various helper methods useful for most commands.

@author Yorick Peterse @author TJ Vanderpoel @since 21-07-2011

### Public Instance Methods

is_running?(pid) click to toggle source

Checks if the specified PID points to a process that's already running.

@author TJ Vanderpoel @since 21-07-2011 @param [String] pid The path to the PID. @return [TrueClass|FalseClass]

    # File lib/ramaze/bin/helper.rb, line 20
    def is_running?(pid)
      return false if !File.exist?(pid)

      pid = File.read(pid).to_i

      if is_windows?
        wmi             = WIN32OLE.connect("winmgmts://")
        processes, ours = wmi.ExecQuery(
          "select * from win32_process where ProcessId = #{pid}"
        ), []

        processes.each { |process| ours << process.Name }

        return ours.first.nil?
      else
        begin
          prio = Process.getpriority(Process::PRIO_PROCESS, pid)
          return true
        rescue Errno::ESRCH
          return false
        end
      end
    end

is_windows?() click to toggle source

Checks if the system the user is using is Windows.

@author TJ Vanderpoel @since 21-07-2011 @return [TrueClass|FalseClass]

    # File lib/ramaze/bin/helper.rb, line 51
    def is_windows?
      return @is_win if @is_win

      begin; require "win32ole"; rescue LoadError; end

      @is_win ||= Object.const_defined?("WIN32OLE")
    end

rackup_path() click to toggle source

Tries to extract the path to the Rackup executable.

@author TJ Vanderpoel @since 21-07-2001 @return [String]

    # File lib/ramaze/bin/helper.rb, line 66
    def rackup_path
      return @rackup_path if @rackup_path

      # Check with 'which' on platforms which support it
      unless is_windows?
        @rackup_path = %{which rackup}.to_s.chomp

        if @rackup_path.size > 0 and File.file?(@rackup_path)
          return @rackup_path
        end
      end

      # check for rackup in RUBYLIB
      libs = ENV["RUBYLIB"].to_s.split(is_windows? ? ";" : ":")

      if rack_lib = libs.detect { |r| r.match %<(\\|/)rack\11>> }
        require "pathname"
        @rackup_path = Pathname.new(rack_lib).parent.join("bin").join(
          "rackup"
        ).expand_path

        return @rackup_path if File.file?(@rackup_path)
      end

      begin
        require "rubygems"
        require "rack"
        require "pathname"

        @rackup_path = Pathname.new(Gem.bindir).join("rackup").to_s

        return @rackup_path if File.file?(@rackup_path)
      rescue LoadError
        nil
      end

      @rackup_path = nil
      abort "Cannot find the path to the Rackup executable"
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.