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.
# File lib/taskjuggler/AppConfig.rb, line 70 def AppConfig.appName @@appName end
# File lib/taskjuggler/AppConfig.rb, line 66 def AppConfig.appName=(name) @@appName = name end
# File lib/taskjuggler/AppConfig.rb, line 94 def AppConfig.contact @@contact end
# File lib/taskjuggler/AppConfig.rb, line 90 def AppConfig.contact=(contact) @@contact = contact end
# File lib/taskjuggler/AppConfig.rb, line 86 def AppConfig.copyright @@copyright end
# File lib/taskjuggler/AppConfig.rb, line 82 def AppConfig.copyright=(copyright) @@copyright = copyright end
# 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
# 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
# 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
# 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
# File lib/taskjuggler/AppConfig.rb, line 102 def AppConfig.license @@license end
# File lib/taskjuggler/AppConfig.rb, line 98 def AppConfig.license=(license) @@license = license end
# 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
# File lib/taskjuggler/AppConfig.rb, line 62 def AppConfig.packageInfo @@packageInfo end
# File lib/taskjuggler/AppConfig.rb, line 58 def AppConfig.packageInfo=(info) @@packageInfo = info end
# File lib/taskjuggler/AppConfig.rb, line 46 def AppConfig.packageName @@packageName end
# File lib/taskjuggler/AppConfig.rb, line 42 def AppConfig.packageName=(name) @@packageName = name end
# File lib/taskjuggler/AppConfig.rb, line 54 def AppConfig.softwareName @@softwareName end
# File lib/taskjuggler/AppConfig.rb, line 50 def AppConfig.softwareName=(name) @@softwareName = name end
Generated with the Darkfish Rdoc Generator 2.