<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> Class: String — Documentation by YARD 0.9.26 </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 = "String"; 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 (S)</a> » <span class="title">String</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: String </h1> <div class="box_info"> <dl> <dt>Inherits:</dt> <dd> <span class="inheritName">Object</span> <ul class="fullTree"> <li>Object</li> <li class="next">String</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> </dl> <dl> <dt>Includes:</dt> <dd><span class='object_link'><a href="Doing/Color.html" title="Doing::Color (module)">Doing::Color</a></span></dd> </dl> <dl> <dt>Defined in:</dt> <dd>lib/doing/string.rb<span class="defines">,<br /> lib/doing/string_chronify.rb,<br /> lib/doing/template_string.rb</span> </dd> </dl> </div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>Chronify methods for strings</p> </div> </div> <div class="tags"> </div><div id="subclasses"> <h2>Direct Known Subclasses</h2> <p class="children"><span class='object_link'><a href="Doing/TemplateString.html" title="Doing::TemplateString (class)">Doing::TemplateString</a></span></p> </div> <h2>Constant Summary</h2> <h3 class="inherited">Constants included from <span class='object_link'><a href="Doing/Color.html" title="Doing::Color (module)">Doing::Color</a></span></h3> <p class="inherited"><span class='object_link'><a href="Doing/Color.html#ATTRIBUTES-constant" title="Doing::Color::ATTRIBUTES (constant)">Doing::Color::ATTRIBUTES</a></span>, <span class='object_link'><a href="Doing/Color.html#ATTRIBUTE_NAMES-constant" title="Doing::Color::ATTRIBUTE_NAMES (constant)">Doing::Color::ATTRIBUTE_NAMES</a></span>, <span class='object_link'><a href="Doing/Color.html#COLORED_REGEXP-constant" title="Doing::Color::COLORED_REGEXP (constant)">Doing::Color::COLORED_REGEXP</a></span></p> <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="#add_at-instance_method" title="#add_at (instance method)">#<strong>add_at</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#add_tags-instance_method" title="#add_tags (instance method)">#<strong>add_tags</strong>(tags, remove: false) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#add_tags!-instance_method" title="#add_tags! (instance method)">#<strong>add_tags!</strong>(tags, remove: false) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#cap_first-instance_method" title="#cap_first (instance method)">#<strong>cap_first</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Capitalize on the first character on string.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#chronify-instance_method" title="#chronify (instance method)">#<strong>chronify</strong>(**options) ⇒ DateTime </a> </span> <span class="summary_desc"><div class='inline'><p>Converts input string into a Time object when input takes on the following formats: - interval format e.g.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#chronify_qty-instance_method" title="#chronify_qty (instance method)">#<strong>chronify_qty</strong> ⇒ Integer </a> </span> <span class="summary_desc"><div class='inline'><p>Converts simple strings into seconds that can be added to a Time object.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#clean_unlinked_urls-instance_method" title="#clean_unlinked_urls (instance method)">#<strong>clean_unlinked_urls</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Clean up unlinked <urls>.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#compress-instance_method" title="#compress (instance method)">#<strong>compress</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Compress multiple spaces to single space.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#compress!-instance_method" title="#compress! (instance method)">#<strong>compress!</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#dedup_tags-instance_method" title="#dedup_tags (instance method)">#<strong>dedup_tags</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#dedup_tags!-instance_method" title="#dedup_tags! (instance method)">#<strong>dedup_tags!</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Remove duplicate tags, leaving only first occurrence.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#highlight_tags-instance_method" title="#highlight_tags (instance method)">#<strong>highlight_tags</strong>(color = 'yellow', last_color: nil) ⇒ String </a> </span> <span class="summary_desc"><div class='inline'><p>Colorize @tags with ANSI escapes.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#highlight_tags!-instance_method" title="#highlight_tags! (instance method)">#<strong>highlight_tags!</strong>(color = 'yellow', last_color: nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#ignore%3F-instance_method" title="#ignore? (instance method)">#<strong>ignore?</strong> ⇒ Boolean </a> </span> <span class="summary_desc"><div class='inline'><p>Test if line should be ignored.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#is_rx%3F-instance_method" title="#is_rx? (instance method)">#<strong>is_rx?</strong> ⇒ Boolean </a> </span> <span class="summary_desc"><div class='inline'><p>Determines if receiver is surrounded by slashes or starts with single quote.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#last_color-instance_method" title="#last_color (instance method)">#<strong>last_color</strong> ⇒ String </a> </span> <span class="summary_desc"><div class='inline'><p>Returns the last escape sequence from a string.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#link_urls-instance_method" title="#link_urls (instance method)">#<strong>link_urls</strong>(**opt) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#link_urls!-instance_method" title="#link_urls! (instance method)">#<strong>link_urls!</strong>(**opt) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Turn raw urls into HTML links.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_age-instance_method" title="#normalize_age (instance method)">#<strong>normalize_age</strong>(default = :newest) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_age!-instance_method" title="#normalize_age! (instance method)">#<strong>normalize_age!</strong>(default = :newest) ⇒ Symbol </a> </span> <span class="summary_desc"><div class='inline'><p>Convert an age string to a qualified type.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_bool-instance_method" title="#normalize_bool (instance method)">#<strong>normalize_bool</strong>(default = :and) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_bool!-instance_method" title="#normalize_bool! (instance method)">#<strong>normalize_bool!</strong>(default = :and) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Convert a boolean string to a symbol.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_case-instance_method" title="#normalize_case (instance method)">#<strong>normalize_case</strong>(default = :smart) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_case!-instance_method" title="#normalize_case! (instance method)">#<strong>normalize_case!</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Convert a case sensitivity string to a symbol.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_matching-instance_method" title="#normalize_matching (instance method)">#<strong>normalize_matching</strong>(default = :pattern) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_matching!-instance_method" title="#normalize_matching! (instance method)">#<strong>normalize_matching!</strong>(default = :pattern) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Convert a matching configuration string to a symbol.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_order-instance_method" title="#normalize_order (instance method)">#<strong>normalize_order</strong>(default = 'asc') ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_order!-instance_method" title="#normalize_order! (instance method)">#<strong>normalize_order!</strong>(default = 'asc') ⇒ String </a> </span> <span class="summary_desc"><div class='inline'><p>Convert a sort order string to a qualified type.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_trigger-instance_method" title="#normalize_trigger (instance method)">#<strong>normalize_trigger</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#normalize_trigger!-instance_method" title="#normalize_trigger! (instance method)">#<strong>normalize_trigger!</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#pluralize-instance_method" title="#pluralize (instance method)">#<strong>pluralize</strong>(number) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#remove_self_links-instance_method" title="#remove_self_links (instance method)">#<strong>remove_self_links</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Remove <self-linked> formatting.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#replace_qualified_urls-instance_method" title="#replace_qualified_urls (instance method)">#<strong>replace_qualified_urls</strong>(**options) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Replace qualified urls.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#set_type-instance_method" title="#set_type (instance method)">#<strong>set_type</strong>(kind = nil) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#simple_wrap-instance_method" title="#simple_wrap (instance method)">#<strong>simple_wrap</strong>(width) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#tag-instance_method" title="#tag (instance method)">#<strong>tag</strong>(tag, value: nil, remove: false, rename_to: nil, regex: false, single: false, force: false) ⇒ String </a> </span> <span class="summary_desc"><div class='inline'><p>Add, rename, or remove a tag.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#tag!-instance_method" title="#tag! (instance method)">#<strong>tag!</strong>(tag, **options) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Add, rename, or remove a tag in place.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_rx-instance_method" title="#to_rx (instance method)">#<strong>to_rx</strong>(distance: nil, case_type: nil) ⇒ Regexp </a> </span> <span class="summary_desc"><div class='inline'><p>Convert string to fuzzy regex.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_tags-instance_method" title="#to_tags (instance method)">#<strong>to_tags</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#truncate-instance_method" title="#truncate (instance method)">#<strong>truncate</strong>(len, ellipsis: '...') ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Truncate to nearest word.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#truncate!-instance_method" title="#truncate! (instance method)">#<strong>truncate!</strong>(len, ellipsis: '...') ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#truncmiddle-instance_method" title="#truncmiddle (instance method)">#<strong>truncmiddle</strong>(len, ellipsis: '...') ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Truncate string in the middle.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#truncmiddle!-instance_method" title="#truncmiddle! (instance method)">#<strong>truncmiddle!</strong>(len, ellipsis: '...') ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#truthy%3F-instance_method" title="#truthy? (instance method)">#<strong>truthy?</strong> ⇒ Boolean </a> </span> <span class="summary_desc"><div class='inline'><p>Test string for truthiness (0, "f", "false", "n", "no" all return false, case insensitive, otherwise true).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#uncolor-instance_method" title="#uncolor (instance method)">#<strong>uncolor</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Remove color escape codes.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#uncolor!-instance_method" title="#uncolor! (instance method)">#<strong>uncolor!</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#validate_color-instance_method" title="#validate_color (instance method)">#<strong>validate_color</strong> ⇒ String </a> </span> <span class="private note title">private</span> <span class="summary_desc"><div class='inline'><p>Extract the longest valid color from a string.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#wildcard_to_rx-instance_method" title="#wildcard_to_rx (instance method)">#<strong>wildcard_to_rx</strong> ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#wrap-instance_method" title="#wrap (instance method)">#<strong>wrap</strong>(len, pad: 0, indent: ' ', offset: 0, prefix: '', color: '', after: '', reset: '', pad_first: false) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Wrap string at word breaks, respecting tags.</p> </div></span> </li> </ul> <h3 class="inherited">Methods included from <span class='object_link'><a href="Doing/Color.html" title="Doing::Color (module)">Doing::Color</a></span></h3> <p class="inherited"><span class='object_link'><a href="Doing/Color.html#attributes-class_method" title="Doing::Color.attributes (method)">attributes</a></span>, <span class='object_link'><a href="Doing/Color.html#coloring%3F-class_method" title="Doing::Color.coloring? (method)">coloring?</a></span>, <span class='object_link'><a href="Doing/Color.html#support%3F-instance_method" title="Doing::Color#support? (method)">#support?</a></span></p> <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_at-instance_method"> #<strong>add_at</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="add_tags-instance_method"> #<strong>add_tags</strong>(tags, remove: false) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="add_tags!-instance_method"> #<strong>add_tags!</strong>(tags, remove: false) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="cap_first-instance_method"> #<strong>cap_first</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Capitalize on the first character on string</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'></span> <div class='inline'><p>Capitalized string</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="chronify-instance_method"> #<strong>chronify</strong>(**options) ⇒ <tt>DateTime</tt> </h3><div class="docstring"> <div class="discussion"> <p>Converts input string into a Time object when input takes on the following formats: - interval format e.g. '1d2h30m', '45m' etc. - a semantic phrase e.g. 'yesterday 5:30pm' - a strftime e.g. '2016-03-15 15:32:04 PDT'</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>options</span> <span class='type'></span> — <div class='inline'><p>Additional options</p> </div> </li> </ul> <p class="tag_title">Options Hash (<tt>**options</tt>):</p> <ul class="option"> <li> <span class="name">:future</span> <span class="type">(<tt>Boolean</tt>)</span> <span class="default"> </span> — <div class='inline'><p>assume future date (default: false)</p> </div> </li> <li> <span class="name">:guess</span> <span class="type">(<tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>)</span> <span class="default"> </span> — <div class='inline'><p>:begin or :end to assume beginning or end of arbitrary time range</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>DateTime</tt>)</span> — <div class='inline'><p>result</p> </div> </li> </ul> <p class="tag_title">Raises:</p> <ul class="raise"> <li> <span class='type'>(<tt>InvalidTimeExpression</tt>)</span> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="chronify_qty-instance_method"> #<strong>chronify_qty</strong> ⇒ <tt>Integer</tt> </h3><div class="docstring"> <div class="discussion"> <p>Converts simple strings into seconds that can be added to a Time object</p> <p>Input string can be HH:MM or XX[dhm]<a href="1d2h30m,%2045m,%201.5d,%201h20m,%20etc.">[XXhm][XXm]</a></p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Integer</tt>)</span> — <div class='inline'><p>seconds</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="clean_unlinked_urls-instance_method"> #<strong>clean_unlinked_urls</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Clean up unlinked <urls></p> </div> </div> <div class="tags"> </div> </div> <div class="method_details "> <h3 class="signature " id="compress-instance_method"> #<strong>compress</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Compress multiple spaces to single space</p> </div> </div> <div class="tags"> </div> </div> <div class="method_details "> <h3 class="signature " id="compress!-instance_method"> #<strong>compress!</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="dedup_tags-instance_method"> #<strong>dedup_tags</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="dedup_tags!-instance_method"> #<strong>dedup_tags!</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Remove duplicate tags, leaving only first occurrence</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'></span> <div class='inline'><p>Deduplicated string</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="highlight_tags-instance_method"> #<strong>highlight_tags</strong>(color = 'yellow', last_color: nil) ⇒ <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>Colorize @tags with ANSI escapes</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>color</span> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>'yellow'</tt>)</em> — <div class='inline'><p>color (see #Color)</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> — <div class='inline'><p>string with @tags highlighted</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="highlight_tags!-instance_method"> #<strong>highlight_tags!</strong>(color = 'yellow', last_color: nil) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>color</span> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>'yellow'</tt>)</em> — <div class='inline'><p>color (see #Color)</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="ignore?-instance_method"> #<strong>ignore?</strong> ⇒ <tt>Boolean</tt> </h3><div class="docstring"> <div class="discussion"> <p>Test if line should be ignored</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> — <div class='inline'><p>line is empty or comment</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="is_rx?-instance_method"> #<strong>is_rx?</strong> ⇒ <tt>Boolean</tt> </h3><div class="docstring"> <div class="discussion"> <p>Determines if receiver is surrounded by slashes or starts with single quote</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> — <div class='inline'><p>True if regex, False otherwise.</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="last_color-instance_method"> #<strong>last_color</strong> ⇒ <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>Returns the last escape sequence from a string.</p> <p>Actually returns all escape codes, with the assumption that the result of inserting them will generate the same color as was set at the end of the string. Because you can send modifiers like dark and bold separate from color codes, only using the last code may not render the same style.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> — <div class='inline'><p>All escape codes in string</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="link_urls-instance_method"> #<strong>link_urls</strong>(**opt) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="link_urls!-instance_method"> #<strong>link_urls!</strong>(**opt) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Turn raw urls into HTML links</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>opt</span> <span class='type'>(<tt><span class='object_link'><a href="Hash.html" title="Hash (class)">Hash</a></span></tt>)</span> — <div class='inline'><p>Additional Options</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="normalize_age-instance_method"> #<strong>normalize_age</strong>(default = :newest) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="normalize_age!-instance_method"> #<strong>normalize_age!</strong>(default = :newest) ⇒ <tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>Convert an age string to a qualified type</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span></tt>)</span> — <div class='inline'><p>:oldest or :newest</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="normalize_bool-instance_method"> #<strong>normalize_bool</strong>(default = :and) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="normalize_bool!-instance_method"> #<strong>normalize_bool!</strong>(default = :and) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Convert a boolean string to a symbol</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'></span> <div class='inline'><p>Symbol :and, :or, or :not</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="normalize_case-instance_method"> #<strong>normalize_case</strong>(default = :smart) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="normalize_case!-instance_method"> #<strong>normalize_case!</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Convert a case sensitivity string to a symbol</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'></span> <div class='inline'><p>Symbol :smart, :sensitive, :ignore</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="normalize_matching-instance_method"> #<strong>normalize_matching</strong>(default = :pattern) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="normalize_matching!-instance_method"> #<strong>normalize_matching!</strong>(default = :pattern) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Convert a matching configuration string to a symbol</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'></span> <div class='inline'><p>Symbol :fuzzy, :pattern, :exact</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="normalize_order-instance_method"> #<strong>normalize_order</strong>(default = 'asc') ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="normalize_order!-instance_method"> #<strong>normalize_order!</strong>(default = 'asc') ⇒ <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>Convert a sort order string to a qualified type</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> — <div class='inline'><p>'asc' or 'desc'</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="normalize_trigger-instance_method"> #<strong>normalize_trigger</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="normalize_trigger!-instance_method"> #<strong>normalize_trigger!</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="pluralize-instance_method"> #<strong>pluralize</strong>(number) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="remove_self_links-instance_method"> #<strong>remove_self_links</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Remove <self-linked> formatting</p> </div> </div> <div class="tags"> </div> </div> <div class="method_details "> <h3 class="signature " id="replace_qualified_urls-instance_method"> #<strong>replace_qualified_urls</strong>(**options) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Replace qualified urls</p> </div> </div> <div class="tags"> </div> </div> <div class="method_details "> <h3 class="signature " id="set_type-instance_method"> #<strong>set_type</strong>(kind = nil) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="simple_wrap-instance_method"> #<strong>simple_wrap</strong>(width) ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="tag-instance_method"> #<strong>tag</strong>(tag, value: nil, remove: false, rename_to: nil, regex: false, single: false, force: false) ⇒ <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p>Add, rename, or remove a tag</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>tag</span> <span class='type'></span> — <div class='inline'><p>The tag</p> </div> </li> <li> <span class='name'>value</span> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>Value for tag (@tag(value))</p> </div> </li> <li> <span class='name'>remove</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>Remove the tag instead of adding</p> </div> </li> <li> <span class='name'>rename_to</span> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>Replace tag with this tag</p> </div> </li> <li> <span class='name'>regex</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>Tag is regular expression</p> </div> </li> <li> <span class='name'>single</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>Operating on a single item (for logging)</p> </div> </li> <li> <span class='name'>force</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>With rename_to, add tag if it doesn't exist</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> — <div class='inline'><p>The string with modified tags</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="tag!-instance_method"> #<strong>tag!</strong>(tag, **options) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Add, rename, or remove a tag in place</p> </div> </div> <div class="tags"> <p class="tag_title">See Also:</p> <ul class="see"> <li><span class='object_link'><a href="#tag-instance_method" title="String#tag (method)">#tag</a></span></li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="to_rx-instance_method"> #<strong>to_rx</strong>(distance: nil, case_type: nil) ⇒ <tt>Regexp</tt> </h3><div class="docstring"> <div class="discussion"> <p>Convert string to fuzzy regex. Characters in words can be separated by up to <em>distance</em> characters in haystack, spaces indicate unlimited distance.</p> </div> </div> <div class="tags"> <div class="examples"> <p class="tag_title">Examples:</p> <p class="example_title"><div class='inline'><p><code>"this word".to_rx(2) => /t.{0,3}h.{0,3}i.{0,3}s.{0,3}.*?w.{0,3}o.{0,3}r.{0,3}d/</code></p> </div></p> <pre class="example code"><code></code></pre> </div> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>distance</span> <span class='type'>(<tt>Integer</tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>Allowed distance between characters</p> </div> </li> <li> <span class='name'>case_type</span> <span class='type'></span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The case type</p> </div> </li> </ul> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Regexp</tt>)</span> — <div class='inline'><p>Regex pattern</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="to_tags-instance_method"> #<strong>to_tags</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="truncate-instance_method"> #<strong>truncate</strong>(len, ellipsis: '...') ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Truncate to nearest word</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>len</span> <span class='type'></span> — <div class='inline'><p>The length</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="truncate!-instance_method"> #<strong>truncate!</strong>(len, ellipsis: '...') ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="truncmiddle-instance_method"> #<strong>truncmiddle</strong>(len, ellipsis: '...') ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Truncate string in the middle</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>len</span> <span class='type'></span> — <div class='inline'><p>The length</p> </div> </li> <li> <span class='name'>ellipsis</span> <span class='type'></span> <em class="default">(defaults to: <tt>'...'</tt>)</em> — <div class='inline'><p>The ellipsis</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="truncmiddle!-instance_method"> #<strong>truncmiddle!</strong>(len, ellipsis: '...') ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="truthy?-instance_method"> #<strong>truthy?</strong> ⇒ <tt>Boolean</tt> </h3><div class="docstring"> <div class="discussion"> <p>Test string for truthiness (0, "f", "false", "n", "no" all return false, case insensitive, otherwise true)</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> — <div class='inline'><p>String is truthy</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="uncolor-instance_method"> #<strong>uncolor</strong> ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Remove color escape codes</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'></span> <div class='inline'><p>clean string</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="uncolor!-instance_method"> #<strong>uncolor!</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="validate_color-instance_method"> #<strong>validate_color</strong> ⇒ <tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt> </h3><div class="docstring"> <div class="discussion"> <p class="note private"> <strong>This method is part of a private API.</strong> You should avoid using this method if possible, as it may be removed or be changed in the future. </p> <p>Extract the longest valid color from a string.</p> <p>Allows %colors to bleed into other text and still be recognized, e.g. %greensomething still finds %green.</p> </div> </div> <div class="tags"> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> — <div class='inline'><p>a valid color name</p> </div> </li> </ul> </div> </div> <div class="method_details "> <h3 class="signature " id="wildcard_to_rx-instance_method"> #<strong>wildcard_to_rx</strong> ⇒ <tt>Object</tt> </h3> </div> <div class="method_details "> <h3 class="signature " id="wrap-instance_method"> #<strong>wrap</strong>(len, pad: 0, indent: ' ', offset: 0, prefix: '', color: '', after: '', reset: '', pad_first: false) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Wrap string at word breaks, respecting tags</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>len</span> <span class='type'>(<tt>Integer</tt>)</span> — <div class='inline'><p>The length</p> </div> </li> <li> <span class='name'>offset</span> <span class='type'>(<tt>Integer</tt>)</span> <em class="default">(defaults to: <tt>0</tt>)</em> — <div class='inline'><p>(Optional) The width to pad each subsequent line</p> </div> </li> <li> <span class='name'>prefix</span> <span class='type'>(<tt><span class='object_link'><a href="" title="String (class)">String</a></span></tt>)</span> <em class="default">(defaults to: <tt>''</tt>)</em> — <div class='inline'><p>(Optional) A prefix to add to each line</p> </div> </li> </ul> </div> </div> </div> </div> <div id="footer"> Generated on Sat Jan 15 17:27:48 2022 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.9.26 (ruby-3.0.1). </div> </div> </body> </html>