Parent

Class/Module Index [+]

Quicksearch

AppConfig

This class provides central management of configuration data to an application. It stores the version number, the name of the application and the suite it belongs to. It also holds copyright and license information. These infos have to be set in the main module of the application right after launch. Then, all other modules can retrieve them from the global instance as needed.

Public Class Methods

appName() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 70
def AppConfig.appName
  @@appName
end
appName=(name) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 66
def AppConfig.appName=(name)
  @@appName = name
end
authors() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 78
def AppConfig.authors
  @@authors
end
authors=(authors) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 74
def AppConfig.authors=(authors)
  @@authors = authors
end
contact() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 94
def AppConfig.contact
  @@contact
end
contact=(contact) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 90
def AppConfig.contact=(contact)
  @@contact = contact
end
dataDirs(baseDir = 'data') click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 106
def AppConfig.dataDirs(baseDir = 'data')
  dirs = dataSearchDirs(baseDir)
  # Remove non-existing directories from the list again
  dirs.delete_if do |dir|
    !File.exists?(dir.untaint)
  end
  dirs
end
dataFile(fileName) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 150
def AppConfig.dataFile(fileName)
  dirs = dataDirs
  dirs.each { |d| return d + fileName if File.exist?(d + fileName) }

  nil
end
dataFiles(fileName) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 142
def AppConfig.dataFiles(fileName)
  files = []
  dirs = dataDirs
  dirs.each { |d| files << d + fileName if File.exist?(d + fileName) }

  files
end
dataSearchDirs(baseDir = 'data') click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 115
def AppConfig.dataSearchDirs(baseDir = 'data')
  rubyLibDir = RbConfig::CONFIG['rubylibdir']
  rubyBaseDir, versionDir = rubyLibDir.scan(/(.*\/)(.*)/)[0]

  dirs = []
  if ENV['TASKJUGGLER_DATA_PATH']
    ENV['TASKJUGGLER_DATA_PATH'].split(':').each do |path|
      dirs << path + "/#{baseDir}/"
    end
  end

  # Find the data dir relative to the source of this file. This should
  # always work.
  dirs << File.join(File.dirname(__FILE__), '..', '..', baseDir)

  # This hopefully works for all setups. Otherwise we have to add more
  # alternative pathes.
  # This one is for RPM based distros like Novell
  dirs << rubyBaseDir + "gems/" + versionDir + '/gems/'          + @@packageName + '-' + @@version + "/#{baseDir}/"
  # This one is for Debian based distros
  dirs << rubyLibDir + '/gems/'          + @@packageName + '-' + @@version + "/#{baseDir}/"

  dirs
end
license() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 102
def AppConfig.license
  @@license
end
license=(license) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 98
def AppConfig.license=(license)
  @@license = license
end
new() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 22
def initialize
  @@version = '0.0.0'
  @@packageName = 'unnamed'
  @@softwareName = 'unnamed'
  @@packageInfo = 'no info'
  @@appName = 'unnamed'
  @@authors = []
  @@copyright = []
  @@contact = 'not specified'
  @@license = 'no license'
end
packageInfo() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 62
def AppConfig.packageInfo
  @@packageInfo
end
packageInfo=(info) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 58
def AppConfig.packageInfo=(info)
  @@packageInfo = info
end
packageName() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 46
def AppConfig.packageName
  @@packageName
end
packageName=(name) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 42
def AppConfig.packageName=(name)
  @@packageName = name
end
softwareName() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 54
def AppConfig.softwareName
  @@softwareName
end
softwareName=(name) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 50
def AppConfig.softwareName=(name)
  @@softwareName = name
end
version() click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 38
def AppConfig.version
  @@version
end
version=(version) click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 34
def AppConfig.version=(version)
  @@version = version
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.