Module: Xolo::Server
- Extended by:
- CommandLine, ObjectLocks
- Defined in:
- lib/xolo/server.rb,
lib/xolo/server/app.rb,
lib/xolo/server/log.rb,
lib/xolo/server/title.rb,
lib/xolo/server/routes.rb,
lib/xolo/server/version.rb,
lib/xolo/server/constants.rb,
lib/xolo/server/helpers/log.rb,
lib/xolo/server/routes/auth.rb,
lib/xolo/server/command_line.rb,
lib/xolo/server/helpers/auth.rb,
lib/xolo/server/object_locks.rb,
lib/xolo/server/routes/maint.rb,
lib/xolo/server/configuration.rb,
lib/xolo/server/routes/titles.rb,
lib/xolo/server/helpers/titles.rb,
lib/xolo/server/routes/uploads.rb,
lib/xolo/server/routes/jamf_pro.rb,
lib/xolo/server/routes/versions.rb,
lib/xolo/server/helpers/jamf_pro.rb,
lib/xolo/server/helpers/versions.rb,
lib/xolo/server/mixins/changelog.rb,
lib/xolo/server/helpers/client_data.rb,
lib/xolo/server/helpers/maintenance.rb,
lib/xolo/server/helpers/pkg_signing.rb,
lib/xolo/server/routes/title_editor.rb,
lib/xolo/server/helpers/notification.rb,
lib/xolo/server/helpers/title_editor.rb,
lib/xolo/server/helpers/file_transfers.rb,
lib/xolo/server/mixins/title_ted_access.rb,
lib/xolo/server/mixins/title_jamf_access.rb,
lib/xolo/server/mixins/version_ted_access.rb,
lib/xolo/server/helpers/progress_streaming.rb,
lib/xolo/server/mixins/version_jamf_access.rb
Overview
Server Module
Defined Under Namespace
Modules: CommandLine, Constants, Helpers, Log, Mixins, ObjectLocks, Routes Classes: App, Configuration, Title, Version
Constant Summary collapse
- JAMF_XOLO_CATEGORY =
everything xolo-related in Jamf is in this category (this is never used as a SSvc category - that should be set per title)
'xolo'
Constants included from CommandLine
CommandLine::CLI_OPTIONS, CommandLine::CONFIG_CMD, CommandLine::SUBCOMMANDS
Constants included from ObjectLocks
ObjectLocks::OBJECT_LOCK_LIMIT
Constants included from Log
Log::BZIP2, Log::BZIPPED_EXTNAME, Log::DATETIME_FORMAT, Log::DFT_LOG_COMPRESS_AFTER_DAYS, Log::DFT_LOG_DAYS_TO_KEEP, Log::LAST_ROTATION_FILE, Log::LEVELS, Log::LOG_DIR, Log::LOG_FILE, Log::LOG_FILE_NAME, Log::LOG_FORMATTER, Log::TEMP_LOG_FILE
Constants included from Constants
Constants::APP_ENV_DEV, Constants::APP_ENV_PROD, Constants::APP_ENV_TEST, Constants::BACKUPS_DIR, Constants::DATA_DIR, Constants::EXECUTABLE_FILENAME, Constants::JAMF_OBJECT_NAME_PFX, Constants::MAX_JAMF_WAIT_FOR_PKG_DELETION, Constants::MAX_JAMF_WAIT_FOR_TITLE_EDITOR, Constants::PROGRESS_COMPLETE, Constants::SESSION_EXPIRE_AFTER
Class Method Summary collapse
- .app_env ⇒ Object
- .app_env=(e) ⇒ Object
- .config ⇒ Object
- .debug=(bool) ⇒ Object
- .debug? ⇒ Boolean
-
.logger ⇒ Object
Wrapper for Xolo::Server::Log.logger, also available as Xolo::Server.logger from anywhere.
-
.set_log_level(level, admin:) ⇒ Object
set the log level of the server logger.
- .shutting_down=(bool) ⇒ Object
- .shutting_down? ⇒ Boolean
- .start_time ⇒ Object
- .start_time=(t) ⇒ Object
-
.thread_info ⇒ Object
threads for reporting.
Methods included from CommandLine
cli_opts, config_opts, extended, included, parse_cli, parse_config_opts, parse_global_opts, usage
Methods included from ObjectLocks
extended, included, object_locks, remove_expired_object_locks, rw_lock
Methods included from Log
compress_log, included, log_rotation_timer_task, rotate_live_log, rotate_logs, rotate_logs_now?, rotation_mutex
Methods included from Constants
Class Method Details
.app_env ⇒ Object
116 117 118 |
# File 'lib/xolo/server.rb', line 116 def self.app_env @app_env end |
.app_env=(e) ⇒ Object
121 122 123 124 |
# File 'lib/xolo/server.rb', line 121 def self.app_env=(e) ENV['APP_ENV'] = e.to_s @app_env = e end |
.config ⇒ Object
137 138 139 |
# File 'lib/xolo/server.rb', line 137 def self.config Xolo::Server::Configuration.instance end |
.debug=(bool) ⇒ Object
127 128 129 |
# File 'lib/xolo/server.rb', line 127 def self.debug=(bool) @debug = bool ? true : false end |
.debug? ⇒ Boolean
132 133 134 |
# File 'lib/xolo/server.rb', line 132 def self.debug? @debug end |
.logger ⇒ Object
Wrapper for Xolo::Server::Log.logger, also available as Xolo::Server.logger from anywhere. Within Sinatra routes and views, its available via the #logger instance method.
268 269 270 |
# File 'lib/xolo/server/log.rb', line 268 def self.logger Log.logger end |
.set_log_level(level, admin:) ⇒ Object
set the log level of the server logger
274 275 276 277 278 279 280 281 282 |
# File 'lib/xolo/server/log.rb', line 274 def self.set_log_level(level, admin:) # make sure the level is valid raise ArgumentError, "Unknown log level '#{level}'" unless Log::LEVELS.include? level.to_s.upcase # unknonwn always gets logged logger.unknown "Setting log level to #{level} by #{admin}" logger.level = level end |
.shutting_down=(bool) ⇒ Object
147 148 149 |
# File 'lib/xolo/server.rb', line 147 def self.shutting_down=(bool) @shutting_down = bool ? true : false end |
.shutting_down? ⇒ Boolean
142 143 144 |
# File 'lib/xolo/server.rb', line 142 def self.shutting_down? @shutting_down end |
.start_time ⇒ Object
106 107 108 |
# File 'lib/xolo/server.rb', line 106 def self.start_time @start_time end |
.start_time=(t) ⇒ Object
111 112 113 |
# File 'lib/xolo/server.rb', line 111 def self.start_time=(t) @start_time = t end |
.thread_info ⇒ Object
threads for reporting
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/xolo/server.rb', line 153 def self.thread_info info = {} Thread.list.each do |thr| name = if thr.name thr.name elsif Thread.main == thr 'Main' elsif thr.to_s.include? 'eventmachine' "eventmachine-#{thr.object_id}" else thr.to_s end info[name] = thr.status end info end |