Sha256: 21e778ec00140b1c5a2fbb6429c9edbb82aac304766d4bcd8ba9563be473bb7f
Contents?: true
Size: 906 Bytes
Versions: 2
Compression:
Stored size: 906 Bytes
Contents
module MissionControl::Jobs::Server::Serializable extend ActiveSupport::Concern class_methods do # Loads a server from a locator string with the format +<application>:<server>+. For example: # # bc4:resque_chicago # # When the +<server>+ fragment is omitted it will return the first server for the application. def from_global_id(global_id) app_id, server_id = global_id.split(":") application = MissionControl::Jobs.applications[app_id] or raise MissionControl::Jobs::Errors::ResourceNotFound, "No application with id #{app_id} found" server = server_id ? application.servers[server_id] : application.servers.first server or raise MissionControl::Jobs::Errors::ResourceNotFound, "No server for #{global_id} found" end end def to_global_id suffix = ":#{id}" if application.servers.length > 1 "#{application&.id}#{suffix}" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mission_control-jobs-0.1.1 | lib/mission_control/jobs/server/serializable.rb |
mission_control-jobs-0.1.0 | lib/mission_control/jobs/server/serializable.rb |