class 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 72 def AppConfig.appName @@appName end
appName=(name)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 68 def AppConfig.appName=(name) @@appName = name end
contact()
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 96 def AppConfig.contact @@contact end
contact=(contact)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 92 def AppConfig.contact=(contact) @@contact = contact end
copyright()
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 88 def AppConfig.copyright @@copyright end
copyright=(copyright)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 84 def AppConfig.copyright=(copyright) @@copyright = copyright end
dataDirs(baseDir = 'data')
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 108 def AppConfig.dataDirs(baseDir = 'data') dirs = dataSearchDirs(baseDir) # Remove non-existing directories from the list again dirs.delete_if do |dir| !File.exist?(dir) end dirs end
dataFile(fileName)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 152 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 144 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 117 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 104 def AppConfig.license @@license end
license=(license)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 100 def AppConfig.license=(license) @@license = license end
new()
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 24 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 64 def AppConfig.packageInfo @@packageInfo end
packageInfo=(info)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 60 def AppConfig.packageInfo=(info) @@packageInfo = info end
packageName()
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 48 def AppConfig.packageName @@packageName end
packageName=(name)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 44 def AppConfig.packageName=(name) @@packageName = name end
softwareName()
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 56 def AppConfig.softwareName @@softwareName end
softwareName=(name)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 52 def AppConfig.softwareName=(name) @@softwareName = name end
version()
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 40 def AppConfig.version @@version end
version=(version)
click to toggle source
# File lib/taskjuggler/AppConfig.rb, line 36 def AppConfig.version=(version) @@version = version end