Files
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

881 lines
23 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Class: Metasploit::Framework::Command::Base
&mdash; Documentation by YARD 0.9.37
</title>
<link rel="stylesheet" href="../../../css/style.css" type="text/css" />
<link rel="stylesheet" href="../../../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "Metasploit::Framework::Command::Base";
relpath = '../../../';
</script>
<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../../../class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../../../_index.html">Index (B)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Command.html" title="Metasploit::Framework::Command (module)">Command</a></span></span>
&raquo;
<span class="title">Base</span>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../../../class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Class: Metasploit::Framework::Command::Base
</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd>
<span class="inheritName">Object</span>
<ul class="fullTree">
<li>Object</li>
<li class="next">Metasploit::Framework::Command::Base</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/metasploit/framework/command/base.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>Based on pattern used for lib/rails/commands in the railties gem.</p>
</div>
</div>
<div class="tags">
</div><div id="subclasses">
<h2>Direct Known Subclasses</h2>
<p class="children"><span class='object_link'><a href="Console.html" title="Metasploit::Framework::Command::Console (class)">Console</a></span></p>
</div>
<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="#application-instance_method" title="#application (instance method)">#<strong>application</strong> &#x21d2; Object </a>
</span>
<span class="note title readonly">readonly</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute application.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#parsed_options-instance_method" title="#parsed_options (instance method)">#<strong>parsed_options</strong> &#x21d2; Object </a>
</span>
<span class="note title readonly">readonly</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute parsed_options.</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="#parsed_options-class_method" title="parsed_options (class method)">.<strong>parsed_options</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#parsed_options_class-class_method" title="parsed_options_class (class method)">.<strong>parsed_options_class</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#parsed_options_class_name-class_method" title="parsed_options_class_name (class method)">.<strong>parsed_options_class_name</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#require_environment!-class_method" title="require_environment! (class method)">.<strong>require_environment!</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Parses ARGV` for command line arguments to configure the `Rails.application`.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#start-class_method" title="start (class method)">.<strong>start</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></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="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(attributes = {}) &#x21d2; Base </a>
</span>
<span class="note title constructor">constructor</span>
<span class="summary_desc"><div class='inline'>
<p>A new instance of Base.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#start-instance_method" title="#start (instance method)">#<strong>start</strong> &#x21d2; void </a>
</span>
<span class="abstract note title">abstract</span>
<span class="summary_desc"><div class='inline'>
<p>Starts this command.</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>(attributes = {}) &#x21d2; <tt><span class='object_link'><a href="" title="Metasploit::Framework::Command::Base (class)">Base</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns a new instance of Base.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>attributes</span>
<span class='type'>(<tt>Hash{Symbol =&gt; ActiveSupport::OrderedOptions,Rails::Application}</tt>)</span>
<em class="default">(defaults to: <tt>{}</tt>)</em>
</li>
</ul>
<p class="tag_title">Options Hash (<tt>attributes</tt>):</p>
<ul class="option">
<li>
<span class="name">:application</span>
<span class="type">(<tt>Rails::Application</tt>)</span>
<span class="default">
</span>
</li>
<li>
<span class="name">:parsed_options</span>
<span class="type">(<tt>ActiveSupport::OrderedOptions</tt>)</span>
<span class="default">
</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>KeyError</tt>)</span>
&mdash;
<div class='inline'>
<p>if :application is not given</p>
</div>
</li>
<li>
<span class='type'>(<tt>KeyError</tt>)</span>
&mdash;
<div class='inline'>
<p>if :parsed_options is not given</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
94
95
96
97</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 94</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='ivar'>@application</span> <span class='op'>=</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:application</span><span class='rparen'>)</span>
<span class='ivar'>@parsed_options</span> <span class='op'>=</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:parsed_options</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id=""></span>
<div class="method_details first">
<h3 class="signature first" id="application-instance_method">
#<strong>application</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute application.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
25
26
27</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 25</span>
<span class='kw'>def</span> <span class='id identifier rubyid_application'>application</span>
<span class='ivar'>@application</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id=""></span>
<div class="method_details ">
<h3 class="signature " id="parsed_options-instance_method">
#<strong>parsed_options</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute parsed_options.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
31
32
33</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 31</span>
<span class='kw'>def</span> <span class='id identifier rubyid_parsed_options'>parsed_options</span>
<span class='ivar'>@parsed_options</span>
<span class='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="parsed_options-class_method">
.<strong>parsed_options</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
68
69
70</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 68</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parsed_options'>parsed_options</span>
<span class='id identifier rubyid_parsed_options_class'>parsed_options_class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="parsed_options_class-class_method">
.<strong>parsed_options_class</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
72
73
74</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 72</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parsed_options_class'>parsed_options_class</span>
<span class='ivar'>@parsed_options_class</span> <span class='op'>||=</span> <span class='id identifier rubyid_parsed_options_class_name'>parsed_options_class_name</span><span class='period'>.</span><span class='id identifier rubyid_constantize'>constantize</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="parsed_options_class_name-class_method">
.<strong>parsed_options_class_name</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
76
77
78</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 76</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parsed_options_class_name'>parsed_options_class_name</span>
<span class='ivar'>@parsed_options_class_name</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_module_parent'>module_parent</span><span class='period'>.</span><span class='id identifier rubyid_module_parent'>module_parent</span><span class='embexpr_end'>}</span><span class='tstring_content'>::ParsedOptions::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_demodulize'>demodulize</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="require_environment!-class_method">
.<strong>require_environment!</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<div class="note notetag">
<strong>Note:</strong>
<div class='inline'>
<p><span class='object_link'><a href="#require_environment!-class_method" title="Metasploit::Framework::Command::Base.require_environment! (method)">require_environment!</a></span> should be called to load config/application.rb` to so that the RAILS_ENV can be set from the command line options in `ARGV` prior to `Rails.env` being set.</p>
</div>
</div>
<div class="note notetag">
<strong>Note:</strong>
<div class='inline'>
<p>After returning, Rails.application` will be defined and configured.</p>
</div>
</div>
<p>Parses ARGV` for command line arguments to configure the `Rails.application`.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 46</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_require_environment!'>require_environment!</span>
<span class='id identifier rubyid_parsed_options'>parsed_options</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parsed_options'>parsed_options</span>
<span class='comment'># RAILS_ENV must be set before requiring &#39;config/application.rb&#39;
</span> <span class='id identifier rubyid_parsed_options'>parsed_options</span><span class='period'>.</span><span class='id identifier rubyid_environment!'>environment!</span>
<span class='const'>ARGV</span><span class='period'>.</span><span class='id identifier rubyid_replace'>replace</span><span class='lparen'>(</span><span class='id identifier rubyid_parsed_options'>parsed_options</span><span class='period'>.</span><span class='id identifier rubyid_positional'>positional</span><span class='rparen'>)</span>
<span class='comment'># allow other Rails::Applications to use this command
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rails</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
<span class='comment'># @see https://github.com/rails/rails/blob/v3.2.17/railties/lib/rails/commands.rb#L39-L40
</span> <span class='id identifier rubyid_require'>require</span> <span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>config</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>application</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='comment'># have to configure before requiring environment because
</span> <span class='comment'># config/environment.rb calls initialize! and the initializers will use
</span> <span class='comment'># the configuration from the parsed options.
</span> <span class='id identifier rubyid_parsed_options'>parsed_options</span><span class='period'>.</span><span class='id identifier rubyid_configure'>configure</span><span class='lparen'>(</span><span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='rparen'>)</span>
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_require_environment!'>require_environment!</span>
<span class='id identifier rubyid_parsed_options'>parsed_options</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="start-class_method">
.<strong>start</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
80
81
82
83</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 80</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span>
<span class='id identifier rubyid_parsed_options'>parsed_options</span> <span class='op'>=</span> <span class='id identifier rubyid_require_environment!'>require_environment!</span>
<span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>application:</span> <span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='comma'>,</span> <span class='label'>parsed_options:</span> <span class='id identifier rubyid_parsed_options'>parsed_options</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span>
<span class='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="start-instance_method">
#<strong>start</strong> &#x21d2; <tt>void</tt>
</h3><div class="docstring">
<div class="discussion">
<div class="note abstract">
<strong>This method is abstract.</strong>
<div class='inline'>
<p>Use <span class='object_link'><a href="#application-instance_method" title="Metasploit::Framework::Command::Base#application (method)">#application</a></span> to start this command.</p>
</div>
</div>
<p class="note returns_void">This method returns an undefined value.</p>
<p>Starts this command.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
105
106
107</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/command/base.rb', line 105</span>
<span class='kw'>def</span> <span class='id identifier rubyid_start'>start</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:03:57 2026 by
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.37 (ruby-3.1.5).
</div>
</div>
</body>
</html>