Class: Xolo::Admin::Title

Inherits:
Core::BaseClasses::Title
  • Object
show all
Defined in:
lib/xolo/admin/title.rb

Overview

A title used by xadm.

These are instantiated with data from the server (for existing Titles) or from the xadm CLI opts or walkthru process.

This class also defines how xadm communicates title data to and from the server.

Constant Summary collapse

SERVER_ROUTE =

This is the server path for dealing with titles POST to add a new one GET to get a list of titles GET .../ to get the data for a single title PUT .../<title> to update a title with new data DELETE .../<title> to delete a title and its version</p> </div> </div> <div class="tags"> </div> </dt> <dd><pre class="code"><span class='string val'>'/titles'</span> </pre></dd> <dt id="UPLOAD_ICON_ROUTE-constant" class="">UPLOAD_ICON_ROUTE = </dt> <dd><pre class="code"><span class='string val'>'ssvc-icon'</span> </pre></dd> <dt id="TARGET_TITLE_PLACEHOLDER-constant" class="">TARGET_TITLE_PLACEHOLDER = </dt> <dd><pre class="code"><span class='string val'>'TARGET_TITLE_PH'</span> </pre></dd> </dl> <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#cnx-instance_method" title="#cnx (instance method)">#<strong>cnx</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Attributes.</p></div></span> </li> </ul> <h2> Class Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#all_title_objects-class_method" title="all_title_objects (class method)">.<strong>all_title_objects</strong>(cnx) ⇒ Array<Xolo::Admin::Title> </a> </span> <span class="summary_desc"><div class='inline'><p>The currently known titles on the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#all_titles-class_method" title="all_titles (class method)">.<strong>all_titles</strong>(cnx) ⇒ Array<String> </a> </span> <span class="summary_desc"><div class='inline'><p>The currently known titles names on the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#cli_opts-class_method" title="cli_opts (class method)">.<strong>cli_opts</strong> ⇒ Hash{Symbol: Hash} </a> </span> <span class="summary_desc"><div class='inline'><p>The ATTRIBUTES that are available as CLI & walkthru options.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#delete-class_method" title="delete (class method)">.<strong>delete</strong>(title, cnx) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Delete a title from the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#exist%3F-class_method" title="exist? (class method)">.<strong>exist?</strong>(title, cnx) ⇒ Boolean </a> </span> <span class="summary_desc"><div class='inline'><p>Does a title exist on the server?.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#fetch-class_method" title="fetch (class method)">.<strong>fetch</strong>(title, cnx) ⇒ Xolo::Admin::Title </a> </span> <span class="summary_desc"><div class='inline'><p>Fetch a title from the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#latest_version-class_method" title="latest_version (class method)">.<strong>latest_version</strong>(title, cnx) ⇒ void </a> </span> <span class="summary_desc"><div class='inline'><p>the latest version of a title in Xolo.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#release_to_all_allowed%3F-class_method" title="release_to_all_allowed? (class method)">.<strong>release_to_all_allowed?</strong>(cnx) ⇒ Boolean </a> </span> <span class="summary_desc"><div class='inline'><p>Is the current admin allowed to set a title's release groups to 'all'?.</p></div></span> </li> </ul> <h2> Instance Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#add-instance_method" title="#add (instance method)">#<strong>add</strong>(cnx = self.cnx) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Add this title to the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#changelog-instance_method" title="#changelog (instance method)">#<strong>changelog</strong>(cnx = self.cnx) ⇒ Array<Hash> </a> </span> <span class="summary_desc"><div class='inline'><p>The change log is a list of hashes, each with keys: :time, :admin, :ipaddr, :version (may be nil), :action.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong>(cnx = self.cnx) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Delete this title from the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#freeze-instance_method" title="#freeze (instance method)">#<strong>freeze</strong>(targets, users = false, cnx = self.cnx) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Freeze the one or more computers for this title.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#frozen-instance_method" title="#frozen (instance method)">#<strong>frozen</strong>(cnx = self.cnx) ⇒ Hash{String => String} </a> </span> <span class="summary_desc"><div class='inline'><p>Fetch the frozen computers for this title.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#gui_urls-instance_method" title="#gui_urls (instance method)">#<strong>gui_urls</strong>(cnx = self.cnx) ⇒ Hash{String => String} </a> </span> <span class="summary_desc"><div class='inline'><p>Fetch a hash of URLs for the GUI pages for this title.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(data_hash) ⇒ Title </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'><p>Read in the contents of any version script given.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#patch_report_data-instance_method" title="#patch_report_data (instance method)">#<strong>patch_report_data</strong>(cnx = self.cnx) ⇒ Array<Hash> </a> </span> <span class="summary_desc"><div class='inline'><p>Get the patch report data for this title It's the JPAPI report data with each hash having a frozen: key added.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#release-instance_method" title="#release (instance method)">#<strong>release</strong>(cnx = self.cnx, version:) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Release a version of this title.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#repair-instance_method" title="#repair (instance method)">#<strong>repair</strong>(cnx = self.cnx, versions: false) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Repair this title, and optionally all its versions.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#thaw-instance_method" title="#thaw (instance method)">#<strong>thaw</strong>(targets, users = false, cnx = self.cnx) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Thaw the one or more computers for this title.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#update-instance_method" title="#update (instance method)">#<strong>update</strong>(cnx = self.cnx) ⇒ Hash </a> </span> <span class="summary_desc"><div class='inline'><p>Update this title to the server.</p></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title#upload_self_service_icon-instance_method" title="#upload_self_service_icon (instance method)">#<strong>upload_self_service_icon</strong>(upload_cnx) ⇒ Faraday::Response </a> </span> <span class="summary_desc"><div class='inline'><p>Upload an icon for self service.</p></div></span> </li> </ul> <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> <h3 class="signature first" id="initialize-instance_method"> #<strong>initialize</strong>(data_hash) ⇒ <tt><span class='object_link'><a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title" title="Xolo::Admin::Title (class)">Title</a></span></tt> </h3><script> document.getElementById("initialize-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:initialize">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Read in the contents of any version script given</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 134 135 136 137 138 139 140 141 142</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 134</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_data_hash identifier id'>data_hash</span><span class='rparen token'>)</span> <span class='rubyid_super super kw'>super</span> <span class='comment val'># @self_service_icon = nil if @self_service_icon == Xolo::ITEM_UPLOADED</span> <span class='rubyid_return return kw'>return</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_version_script identifier id'>version_script</span> <span class='rubyid_return return kw'>return</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version_script identifier id'>version_script</span> <span class='eq op'>==</span> <span class='rubyid_Xolo constant id'>Xolo</span><span class='colon2 op'>::</span><span class='rubyid_ITEM_UPLOADED constant id'>ITEM_UPLOADED</span> <span class='rubyid_@version_script ivar id'>@version_script</span> <span class='assign token'>=</span> <span class='rubyid_version_script identifier id'>version_script</span><span class='dot token'>.</span><span class='rubyid_read identifier id'>read</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version_script identifier id'>version_script</span><span class='dot token'>.</span><span class='rubyid_respond_to? fid id'>respond_to?</span><span class='lparen token'>(</span><span class='symbol val'>:read</span><span class='rparen token'>)</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> </div> <div id="instance_attr_details" class="attr_details"> <h2>Instance Attribute Details</h2> <span id="cnx=-instance_method"></span> <div class="method_details first"> <h3 class="signature first" id="cnx-instance_method"> #<strong>cnx</strong> ⇒ <tt>Object</tt> </h3><script> document.getElementById("cnx-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:cnx">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Attributes</p> <p>the server connection used to fetch this version</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 127 128 129</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 127</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_cnx identifier id'>cnx</span> <span class='rubyid_@cnx ivar id'>@cnx</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> </div> <div id="class_method_details" class="method_details_list"> <h2>Class Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="all_title_objects-class_method"> .<strong>all_title_objects</strong>(cnx) ⇒ <tt>Array<<span class='object_link'><a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title" title="Xolo::Admin::Title (class)">Xolo::Admin::Title</a></span>></tt> </h3><script> document.getElementById("all_title_objects-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Eall_title_objects">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Returns The currently known titles on the server.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Array<<span class='object_link'><a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title" title="Xolo::Admin::Title (class)">Xolo::Admin::Title</a></span>></tt>)</span> — <div class='inline'><p>The currently known titles on the server</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 66 67 68 69</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 66</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_all_title_objects identifier id'>all_title_objects</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='rubyid_SERVER_ROUTE constant id'>SERVER_ROUTE</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span><span class='dot token'>.</span><span class='rubyid_map identifier id'>map</span> <span class='lbrace token'>{</span> <span class='bitor op'>|</span><span class='rubyid_td identifier id'>td</span><span class='bitor op'>|</span> <span class='rubyid_Xolo constant id'>Xolo</span><span class='colon2 op'>::</span><span class='rubyid_Admin constant id'>Admin</span><span class='colon2 op'>::</span><span class='rubyid_Title constant id'>Title</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span> <span class='rubyid_td identifier id'>td</span> <span class='rbrace token'>}</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="all_titles-class_method"> .<strong>all_titles</strong>(cnx) ⇒ <tt>Array<String></tt> </h3><script> document.getElementById("all_titles-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Eall_titles">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Returns The currently known titles names on the server.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Array<String></tt>)</span> — <div class='inline'><p>The currently known titles names on the server</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 59 60 61 62</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 59</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_all_titles identifier id'>all_titles</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='rubyid_SERVER_ROUTE constant id'>SERVER_ROUTE</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span><span class='dot token'>.</span><span class='rubyid_map identifier id'>map</span> <span class='lbrace token'>{</span> <span class='bitor op'>|</span><span class='rubyid_t identifier id'>t</span><span class='bitor op'>|</span> <span class='rubyid_t identifier id'>t</span><span class='lbrack token'>[</span><span class='symbol val'>:title</span><span class='rbrack token'>]</span> <span class='rbrace token'>}</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="cli_opts-class_method"> .<strong>cli_opts</strong> ⇒ <tt>Hash{Symbol: Hash}</tt> </h3><script> document.getElementById("cli_opts-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Ecli_opts">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Returns The ATTRIBUTES that are available as CLI & walkthru options.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash{Symbol: Hash}</tt>)</span> — <div class='inline'><p>The ATTRIBUTES that are available as CLI & walkthru options</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 47 48 49</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 47</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cli_opts identifier id'>cli_opts</span> <span class='rubyid_@cli_opts ivar id'>@cli_opts</span> <span class='opasgn op'>||=</span> <span class='rubyid_ATTRIBUTES constant id'>ATTRIBUTES</span><span class='dot token'>.</span><span class='rubyid_select identifier id'>select</span> <span class='lbrace token'>{</span> <span class='bitor op'>|</span><span class='rubyid__k identifier id'>_k</span><span class='comma token'>,</span> <span class='rubyid_v identifier id'>v</span><span class='bitor op'>|</span> <span class='rubyid_v identifier id'>v</span><span class='lbrack token'>[</span><span class='symbol val'>:cli</span><span class='rbrack token'>]</span> <span class='rbrace token'>}</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="delete-class_method"> .<strong>delete</strong>(title, cnx) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("delete-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Edelete">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Delete a title from the server</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>title</span> <span class='type'>(<tt>String</tt>)</span> — <div class='inline'><p>the title to delete</p></div> </li> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response data</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 99 100 101 102</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 99</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_delete identifier id'>delete</span><span class='lparen token'>(</span><span class='rubyid_title identifier id'>title</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_delete identifier id'>delete</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}"</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="exist?-class_method"> .<strong>exist?</strong>(title, cnx) ⇒ <tt>Boolean</tt> </h3><script> document.getElementById("exist?-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Eexist%3F">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Does a title exist on the server?</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>title</span> <span class='type'>(<tt>String</tt>)</span> — <div class='inline'><p>the title</p></div> </li> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 76 77 78</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 76</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_exist? fid id'>exist?</span><span class='lparen token'>(</span><span class='rubyid_title identifier id'>title</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_all_titles identifier id'>all_titles</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_include? fid id'>include?</span> <span class='rubyid_title identifier id'>title</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="fetch-class_method"> .<strong>fetch</strong>(title, cnx) ⇒ <tt><span class='object_link'><a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title" title="Xolo::Admin::Title (class)">Xolo::Admin::Title</a></span></tt> </h3><script> document.getElementById("fetch-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Efetch">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Fetch a title from the server</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>title</span> <span class='type'>(<tt>String</tt>)</span> — <div class='inline'><p>the title to fetch</p></div> </li> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Title" title="Xolo::Admin::Title (class)">Xolo::Admin::Title</a></span></tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 85 86 87 88 89 90 91 92</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 85</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_fetch identifier id'>fetch</span><span class='lparen token'>(</span><span class='rubyid_title identifier id'>title</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}"</span> <span class='rubyid_title_obj identifier id'>title_obj</span> <span class='assign token'>=</span> <span class='rubyid_new identifier id'>new</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_title_obj identifier id'>title_obj</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span> <span class='rubyid_title_obj identifier id'>title_obj</span> <span class='rubyid_rescue rescue kw'>rescue</span> <span class='rubyid_Faraday constant id'>Faraday</span><span class='colon2 op'>::</span><span class='rubyid_ResourceNotFound constant id'>ResourceNotFound</span> <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_Xolo constant id'>Xolo</span><span class='colon2 op'>::</span><span class='rubyid_NoSuchItemError constant id'>NoSuchItemError</span><span class='comma token'>,</span> <span class='dstring node'>"No such title '#{title}'"</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="latest_version-class_method"> .<strong>latest_version</strong>(title, cnx) ⇒ <tt>void</tt> </h3><script> document.getElementById("latest_version-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Elatest_version">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p class="note returns_void">This method returns an undefined value.</p><p>the latest version of a title in Xolo</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>title</span> <span class='type'>(<tt>String</tt>)</span> — <div class='inline'><p>the title we care about</p></div> </li> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 109 110 111 112</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 109</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_latest_version identifier id'>latest_version</span><span class='lparen token'>(</span><span class='rubyid_title identifier id'>title</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}"</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span><span class='lbrack token'>[</span><span class='symbol val'>:version_order</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_first identifier id'>first</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="release_to_all_allowed?-class_method"> .<strong>release_to_all_allowed?</strong>(cnx) ⇒ <tt>Boolean</tt> </h3><script> document.getElementById("release_to_all_allowed?-class_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle%2Erelease_to_all_allowed%3F">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Is the current admin allowed to set a title's release groups to 'all'?</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 118 119 120 121</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 118</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_release_to_all_allowed? fid id'>release_to_all_allowed?</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>'/auth/release_to_all_allowed'</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="add-instance_method"> #<strong>add</strong>(cnx = self.cnx) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("add-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:add">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Add this title to the server</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response body from the server</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 152 153 154 155</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 152</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_add identifier id'>add</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_post identifier id'>post</span> <span class='rubyid_SERVER_ROUTE constant id'>SERVER_ROUTE</span><span class='comma token'>,</span> <span class='rubyid_to_h identifier id'>to_h</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="changelog-instance_method"> #<strong>changelog</strong>(cnx = self.cnx) ⇒ <tt>Array<Hash></tt> </h3><script> document.getElementById("changelog-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:changelog">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>The change log is a list of hashes, each with keys: :time, :admin, :ipaddr, :version (may be nil), :action</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Array<Hash></tt>)</span> — <div class='inline'><p>The change log for this title</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 243 244 245 246</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 243</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_changelog identifier id'>changelog</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/changelog"</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="delete-instance_method"> #<strong>delete</strong>(cnx = self.cnx) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("delete-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:delete">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Delete this title from the server</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response data</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 193 194 195</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 193</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_delete identifier id'>delete</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_class identifier id'>class</span><span class='dot token'>.</span><span class='rubyid_delete identifier id'>delete</span> <span class='rubyid_title identifier id'>title</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="freeze-instance_method"> #<strong>freeze</strong>(targets, users = false, cnx = self.cnx) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("freeze-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:freeze">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Freeze the one or more computers for this title</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>computers</span> <span class='type'>(<tt>Array<String></tt>)</span> — <div class='inline'><p>the computers to freeze</p></div> </li> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response data</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 202 203 204 205 206</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 202</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_freeze identifier id'>freeze</span><span class='lparen token'>(</span><span class='rubyid_targets identifier id'>targets</span><span class='comma token'>,</span> <span class='rubyid_users identifier id'>users</span> <span class='assign token'>=</span> <span class='rubyid_false false kw'>false</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_data identifier id'>data</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span> <span class='label val'>targets:</span> <span class='rubyid_targets identifier id'>targets</span><span class='comma token'>,</span> <span class='label val'>users:</span> <span class='rubyid_users identifier id'>users</span> <span class='rbrace token'>}</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_put identifier id'>put</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/freeze"</span><span class='comma token'>,</span> <span class='rubyid_data identifier id'>data</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="frozen-instance_method"> #<strong>frozen</strong>(cnx = self.cnx) ⇒ <tt>Hash{String => String}</tt> </h3><script> document.getElementById("frozen-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:frozen">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Fetch the frozen computers for this title</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash{String => String}</tt>)</span> — <div class='inline'><p>computer name => user name</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 223 224 225 226</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 223</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_frozen identifier id'>frozen</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/frozen"</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="gui_urls-instance_method"> #<strong>gui_urls</strong>(cnx = self.cnx) ⇒ <tt>Hash{String => String}</tt> </h3><script> document.getElementById("gui_urls-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:gui_urls">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Fetch a hash of URLs for the GUI pages for this title</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash{String => String}</tt>)</span> — <div class='inline'><p>page_name => url</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 232 233 234 235</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 232</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_gui_urls identifier id'>gui_urls</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/urls"</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="patch_report_data-instance_method"> #<strong>patch_report_data</strong>(cnx = self.cnx) ⇒ <tt>Array<Hash></tt> </h3><script> document.getElementById("patch_report_data-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:patch_report_data">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Get the patch report data for this title It's the JPAPI report data with each hash having a frozen: key added</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Array<Hash></tt>)</span> — <div class='inline'><p>Data for each computer with any version of this title installed</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 282 283 284 285</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 282</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_patch_report_data identifier id'>patch_report_data</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/patch_report"</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="release-instance_method"> #<strong>release</strong>(cnx = self.cnx, version:) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("release-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:release">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Release a version of this title.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> <li> <span class='name'>version</span> <span class='type'>(<tt>String</tt>)</span> — <div class='inline'><p>the version to release</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response body from the server</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 171 172 173 174 175 176 177</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 171</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_release identifier id'>release</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='comma token'>,</span> <span class='label val'>version:</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_patch identifier id'>patch</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/release/#{URI::Parser.new.escape version}"</span><span class='comma token'>,</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span> <span class='comment val'>### the CGI escape one doesn't seem to work with, e.g. "7.1.5 (84650)"</span> <span class='comment val'># resp = cnx.patch "#{SERVER_ROUTE}/#{title}/release/#{CGI.escape version}", {}</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="repair-instance_method"> #<strong>repair</strong>(cnx = self.cnx, versions: false) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("repair-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:repair">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Repair this title, and optionally all its versions</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> <li> <span class='name'>versions</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>if true, repair all versions of this title</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response body from the server</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 184 185 186 187</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 184</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_repair identifier id'>repair</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='comma token'>,</span> <span class='label val'>versions:</span> <span class='rubyid_false false kw'>false</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_post identifier id'>post</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/repair"</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='label val'>repair_versions:</span> <span class='rubyid_versions identifier id'>versions</span> <span class='rbrace token'>}</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="thaw-instance_method"> #<strong>thaw</strong>(targets, users = false, cnx = self.cnx) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("thaw-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:thaw">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Thaw the one or more computers for this title</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>computers</span> <span class='type'>(<tt>Array<String></tt>)</span> — <div class='inline'><p>the computers to freeze</p></div> </li> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response data</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 213 214 215 216 217</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 213</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_thaw identifier id'>thaw</span><span class='lparen token'>(</span><span class='rubyid_targets identifier id'>targets</span><span class='comma token'>,</span> <span class='rubyid_users identifier id'>users</span> <span class='assign token'>=</span> <span class='rubyid_false false kw'>false</span><span class='comma token'>,</span> <span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_data identifier id'>data</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span> <span class='label val'>targets:</span> <span class='rubyid_targets identifier id'>targets</span><span class='comma token'>,</span> <span class='label val'>users:</span> <span class='rubyid_users identifier id'>users</span> <span class='rbrace token'>}</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_put identifier id'>put</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/thaw"</span><span class='comma token'>,</span> <span class='rubyid_data identifier id'>data</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="update-instance_method"> #<strong>update</strong>(cnx = self.cnx) ⇒ <tt>Hash</tt> </h3><script> document.getElementById("update-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:update">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Update this title to the server</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>cnx</span> <span class='type'>(<tt>Faraday::Connection</tt>)</span> <em class="default">(defaults to: <tt>self.cnx</tt>)</em> — <div class='inline'><p>The connection to use, must be logged in already</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Hash</tt>)</span> — <div class='inline'><p>the response body from the server</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 161 162 163 164</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 161</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_update identifier id'>update</span><span class='lparen token'>(</span><span class='rubyid_cnx identifier id'>cnx</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_cnx identifier id'>cnx</span><span class='rparen token'>)</span> <span class='rubyid_resp identifier id'>resp</span> <span class='assign token'>=</span> <span class='rubyid_cnx identifier id'>cnx</span><span class='dot token'>.</span><span class='rubyid_put identifier id'>put</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}"</span><span class='comma token'>,</span> <span class='rubyid_to_h identifier id'>to_h</span> <span class='rubyid_resp identifier id'>resp</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="upload_self_service_icon-instance_method"> #<strong>upload_self_service_icon</strong>(upload_cnx) ⇒ <tt>Faraday::Response</tt> </h3><script> document.getElementById("upload_self_service_icon-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/xolo-admin/2.2.4/Xolo%2FAdmin%2FTitle:upload_self_service_icon">permalink</a>' ); </script> <div class="docstring"> <div class="discussion"> <p>Upload an icon for self service. At this point, the self_service_icon attribute should contain the local file path.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>upload_cnx</span> <span class='type'>(<tt><span class='object_link'><a href="/gems/xolo-admin/2.2.4/Xolo/Admin/Connection" title="Xolo::Admin::Connection (module)">Xolo::Admin::Connection</a></span></tt>)</span> — <div class='inline'><p>The server connection</p></div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Faraday::Response</tt>)</span> — <div class='inline'><p>The server response</p></div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/xolo/admin/title.rb', line 256</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_upload_self_service_icon identifier id'>upload_self_service_icon</span><span class='lparen token'>(</span><span class='rubyid_upload_cnx identifier id'>upload_cnx</span><span class='rparen token'>)</span> <span class='rubyid_return return kw'>return</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_self_service_icon identifier id'>self_service_icon</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span> <span class='rubyid_Pathname constant id'>Pathname</span> <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_self_service_icon identifier id'>self_service_icon</span><span class='dot token'>.</span><span class='rubyid_readable? fid id'>readable?</span> <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_Xolo constant id'>Xolo</span><span class='colon2 op'>::</span><span class='rubyid_NoSuchItemError constant id'>NoSuchItemError</span><span class='comma token'>,</span> <span class='dstring node'>"Can't upload self service icon '#{self_service_icon}': file doesn't exist or is not readable"</span> <span class='rubyid_end end kw'>end</span> <span class='rubyid_mimetype identifier id'>mimetype</span> <span class='assign token'>=</span> <span class='dxstring node'>`/usr/bin/file --brief --mime-type #{Shellwords.escape self_service_icon.expand_path.to_s}`</span><span class='dot token'>.</span><span class='rubyid_chomp identifier id'>chomp</span> <span class='rubyid_upfile identifier id'>upfile</span> <span class='assign token'>=</span> <span class='rubyid_Faraday constant id'>Faraday</span><span class='colon2 op'>::</span><span class='rubyid_Multipart constant id'>Multipart</span><span class='colon2 op'>::</span><span class='rubyid_FilePart constant id'>FilePart</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_self_service_icon identifier id'>self_service_icon</span><span class='dot token'>.</span><span class='rubyid_expand_path identifier id'>expand_path</span><span class='dot token'>.</span><span class='rubyid_to_s identifier id'>to_s</span><span class='comma token'>,</span> <span class='rubyid_mimetype identifier id'>mimetype</span><span class='rparen token'>)</span> <span class='rubyid_content identifier id'>content</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span> <span class='label val'>file:</span> <span class='rubyid_upfile identifier id'>upfile</span> <span class='rbrace token'>}</span> <span class='rubyid_route identifier id'>route</span> <span class='assign token'>=</span> <span class='dstring node'>"#{SERVER_ROUTE}/#{title}/#{UPLOAD_ICON_ROUTE}"</span> <span class='rubyid_upload_cnx identifier id'>upload_cnx</span><span class='dot token'>.</span><span class='rubyid_post identifier id'>post</span><span class='lparen token'>(</span><span class='rubyid_route identifier id'>route</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='bitor op'>|</span><span class='rubyid_req identifier id'>req</span><span class='bitor op'>|</span> <span class='rubyid_req identifier id'>req</span><span class='dot token'>.</span><span class='rubyid_body identifier id'>body</span> <span class='assign token'>=</span> <span class='rubyid_content identifier id'>content</span> <span class='rbrace token'>}</span> <span class='rubyid_rescue rescue kw'>rescue</span> <span class='rubyid_Xolo constant id'>Xolo</span><span class='colon2 op'>::</span><span class='rubyid_NoSuchItemError constant id'>NoSuchItemError</span> <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_rescue rescue kw'>rescue</span> <span class='rubyid_StandardError constant id'>StandardError</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='rubyid_e identifier id'>e</span> <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_Xolo constant id'>Xolo</span><span class='colon2 op'>::</span><span class='rubyid_ConnectionError constant id'>ConnectionError</span><span class='comma token'>,</span> <span class='dstring node'>"#{e.class}: #{e.message}"</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Mon Sep 21 07:14:04 2026 by <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.9.45 (ruby-4.0.7). </div> </div> </body> </html>