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

685 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>
Module: Metasploit::Framework::Require
&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::Require";
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 (R)</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">Require</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>Module: Metasploit::Framework::Require
</h1>
<div class="box_info">
<dl>
<dt>Included in:</dt>
<dd><span class='object_link'><a href="../../Msf/Auxiliary/Report.html" title="Msf::Auxiliary::Report (module)">Msf::Auxiliary::Report</a></span>, <span class='object_link'><a href="../../Msf/DBManager.html" title="Msf::DBManager (class)">Msf::DBManager</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/metasploit/framework/require.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>Extension to Kernel#require` behavior.</p>
</div>
</div>
<div class="tags">
</div>
<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="#optionally-class_method" title="optionally (class method)">.<strong>optionally</strong>(name, without_warning) { ... } &#x21d2; void </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Tries to require name`.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#optionally_active_record_railtie-class_method" title="optionally_active_record_railtie (class method)">.<strong>optionally_active_record_railtie</strong> &#x21d2; void </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Tries to require active_record/railtie’‘ to define the activerecord Rails initializers and rake tasks.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#optionally_include_metasploit_credential_creation-class_method" title="optionally_include_metasploit_credential_creation (class method)">.<strong>optionally_include_metasploit_credential_creation</strong>(including_module) &#x21d2; void </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Tries to require metasploit/credential’‘ and include `Metasploit::Credential::Creation` in the `including_module`.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#optionally_require_metasploit_db_gem_engines-class_method" title="optionally_require_metasploit_db_gem_engines (class method)">.<strong>optionally_require_metasploit_db_gem_engines</strong> &#x21d2; void </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Tries to require gems necessary for using a database with the framework.</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="#optionally_include_metasploit_credential_creation-instance_method" title="#optionally_include_metasploit_credential_creation (instance method)">#<strong>optionally_include_metasploit_credential_creation</strong> &#x21d2; void </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Tries to require metasploit/credential/creation’‘ and include it in this `Class` or `Module`.</p>
</div></span>
</li>
</ul>
<div id="class_method_details" class="method_details_list">
<h2>Class Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="optionally-class_method">
.<strong>optionally</strong>(name, without_warning) { ... } &#x21d2; <tt>void</tt>
</h3><div class="docstring">
<div class="discussion">
<p class="note returns_void">This method returns an undefined value.</p>
<p>Tries to require name`. If a `LoadError` occurs, then `without_warning` is printed to standard error using `Kernel#warn`, along with instructions for reinstalling the bundle. If a `LoadError` does not occur, then `with_block` is called.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>name</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>the name of the library to Kernel#require`.</p>
</div>
</li>
<li>
<span class='name'>without_warning</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>warning to print if name` cannot be required.</p>
</div>
</li>
</ul>
<p class="tag_title">Yields:</p>
<ul class="yield">
<li>
<span class='type'></span>
<div class='inline'>
<p>block to run when name` requires successfully</p>
</div>
</li>
</ul>
<p class="tag_title">Yield Returns:</p>
<ul class="yieldreturn">
<li>
<span class='type'>(<tt>void</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/require.rb', line 20</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_optionally'>optionally</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_without_warning'>without_warning</span><span class='rparen'>)</span>
<span class='kw'>begin</span>
<span class='id identifier rubyid_require'>require</span> <span class='id identifier rubyid_name'>name</span>
<span class='kw'>rescue</span> <span class='const'>LoadError</span>
<span class='id identifier rubyid_warn'>warn</span> <span class='id identifier rubyid_without_warning'>without_warning</span>
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Bundle installed &#39;--without </span><span class='embexpr_beg'>#{</span><span class='const'>Bundler</span><span class='period'>.</span><span class='id identifier rubyid_settings'>settings</span><span class='period'>.</span><span class='id identifier rubyid_without'>without</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'> </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;</span><span class='tstring_end'>&quot;</span></span>
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>To clear the without option do `bundle install --without &#39;&#39;` </span><span class='tstring_end'>&quot;</span></span> \
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(the --without flag with an empty string) or </span><span class='tstring_end'>&quot;</span></span> \
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>`rm -rf .bundle` to remove the .bundle/config manually and </span><span class='tstring_end'>&quot;</span></span> \
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>then `bundle install`</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>else</span>
<span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
<span class='kw'>yield</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="optionally_active_record_railtie-class_method">
.<strong>optionally_active_record_railtie</strong> &#x21d2; <tt>void</tt>
</h3><div class="docstring">
<div class="discussion">
<p class="note returns_void">This method returns an undefined value.</p>
<p>Tries to require active_record/railtie’‘ to define the activerecord Rails initializers and rake tasks.</p>
</div>
</div>
<div class="tags">
<div class="examples">
<h4 class="tag_title">Examples:</h4>
<h5 class="example_title"><div class='inline'>
<p>Optionally requiring active_record/railtie</p>
</div></h5>
<pre class="example code"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit/framework/require</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>class</span> <span class='const'>MyClass</span>
<span class='kw'>def</span> <span class='id identifier rubyid_setup'>setup</span>
<span class='kw'>if</span> <span class='id identifier rubyid_database_enabled'>database_enabled</span>
<span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Metasploit::Framework::Require (module)">Require</a></span></span><span class='period'>.</span><span class='id identifier rubyid_optionally_active_record_railtie'>optionally_active_record_railtie</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span></code></pre>
</div>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
51
52
53
54
55
56
57
58
59
60</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/require.rb', line 51</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_optionally_active_record_railtie'>optionally_active_record_railtie</span>
<span class='kw'>if</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_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_paths'>paths</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>config/database</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
<span class='id identifier rubyid_optionally'>optionally</span><span class='lparen'>(</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>active_record/railtie</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'>activerecord not in the bundle, so database support will be disabled.</span><span class='tstring_end'>&#39;</span></span>
<span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Could not find database.yml, so database support will be disabled.</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="optionally_include_metasploit_credential_creation-class_method">
.<strong>optionally_include_metasploit_credential_creation</strong>(including_module) &#x21d2; <tt>void</tt>
</h3><div class="docstring">
<div class="discussion">
<p class="note returns_void">This method returns an undefined value.</p>
<p>Tries to require metasploit/credential’‘ and include `Metasploit::Credential::Creation` in the `including_module`.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>including_module</span>
<span class='type'>(<tt>Module</tt>)</span>
&mdash;
<div class='inline'>
<p>Class` or `Module` that wants to `include Metasploit::Credential::Creation`.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
67
68
69
70
71
72
73
74</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/require.rb', line 67</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_optionally_include_metasploit_credential_creation'>optionally_include_metasploit_credential_creation</span><span class='lparen'>(</span><span class='id identifier rubyid_including_module'>including_module</span><span class='rparen'>)</span>
<span class='id identifier rubyid_optionally'>optionally</span><span class='lparen'>(</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit/credential</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>metasploit-credential not in the bundle, so Metasploit::Credential creation will fail for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_including_module'>including_module</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
<span class='rparen'>)</span> <span class='kw'>do</span>
<span class='id identifier rubyid_including_module'>including_module</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:include</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'>Credential</span><span class='op'>::</span><span class='const'>Creation</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="optionally_require_metasploit_db_gem_engines-class_method">
.<strong>optionally_require_metasploit_db_gem_engines</strong> &#x21d2; <tt>void</tt>
</h3><div class="docstring">
<div class="discussion">
<p class="note returns_void">This method returns an undefined value.</p>
<p>Tries to require gems necessary for using a database with the framework.</p>
</div>
</div>
<div class="tags">
<div class="examples">
<h4 class="tag_title">Examples:</h4>
<pre class="example code"><code><span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Metasploit::Framework::Require (module)">Require</a></span></span><span class='period'>.</span><span class='id identifier rubyid_optionally_require_metasploit_db_gems'>optionally_require_metasploit_db_gems</span></code></pre>
</div>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/require.rb', line 82</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_optionally_require_metasploit_db_gem_engines'>optionally_require_metasploit_db_gem_engines</span>
<span class='id identifier rubyid_optionally'>optionally</span><span class='lparen'>(</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit/credential</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'>metasploit-credential not in the bundle</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='rparen'>)</span> <span class='kw'>do</span>
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit/credential/engine</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>end</span>
<span class='id identifier rubyid_optionally'>optionally</span><span class='lparen'>(</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit_data_models</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'>metasploit_data_models not in the bundle</span><span class='tstring_end'>&#39;</span></span>
<span class='rparen'>)</span> <span class='kw'>do</span>
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit_data_models/engine</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>end</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="optionally_include_metasploit_credential_creation-instance_method">
#<strong>optionally_include_metasploit_credential_creation</strong> &#x21d2; <tt>void</tt>
</h3><div class="docstring">
<div class="discussion">
<p class="note returns_void">This method returns an undefined value.</p>
<p>Tries to require metasploit/credential/creation’‘ and include it in this `Class` or `Module`.</p>
</div>
</div>
<div class="tags">
<div class="examples">
<h4 class="tag_title">Examples:</h4>
<h5 class="example_title"><div class='inline'>
<p>Using in a Module`</p>
</div></h5>
<pre class="example code"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>metasploit/framework/require</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>module</span> <span class='const'>MyModule</span>
<span class='id identifier rubyid_extend'>extend</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Metasploit::Framework::Require (module)">Require</a></span></span>
<span class='id identifier rubyid_optionally_include_metasploit_credential_creation'>optionally_include_metasploit_credential_creation</span>
<span class='kw'>end</span></code></pre>
</div>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
114
115
116</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/require.rb', line 114</span>
<span class='kw'>def</span> <span class='id identifier rubyid_optionally_include_metasploit_credential_creation'>optionally_include_metasploit_credential_creation</span>
<span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Metasploit::Framework::Require (module)">Require</a></span></span><span class='period'>.</span><span class='id identifier rubyid_optionally_include_metasploit_credential_creation'><span class='object_link'><a href="#optionally_include_metasploit_credential_creation-class_method" title="Metasploit::Framework::Require.optionally_include_metasploit_credential_creation (method)">optionally_include_metasploit_credential_creation</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:02:52 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>