aastdlib 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +6 -0
- data/aastdlib.gemspec +37 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/doc/Aastdlib.html +110 -0
- data/doc/Array.html +164 -0
- data/doc/Dir.html +96 -0
- data/doc/Gemfile.html +95 -0
- data/doc/Hash.html +197 -0
- data/doc/Integer.html +162 -0
- data/doc/LICENSE_txt.html +112 -0
- data/doc/Object.html +501 -0
- data/doc/README_md.html +155 -0
- data/doc/Rakefile.html +96 -0
- data/doc/String.html +1240 -0
- data/doc/Symbol.html +197 -0
- data/doc/aastdlib_gemspec.html +127 -0
- data/doc/bin/setup.html +96 -0
- data/doc/created.rid +19 -0
- data/doc/css/fonts.css +167 -0
- data/doc/css/rdoc.css +590 -0
- data/doc/fonts/Lato-Light.ttf +0 -0
- data/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/doc/fonts/Lato-Regular.ttf +0 -0
- data/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/doc/images/add.png +0 -0
- data/doc/images/arrow_up.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +114 -0
- data/doc/js/darkfish.js +161 -0
- data/doc/js/jquery.js +4 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +109 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +229 -0
- data/doc/js/searcher.js.gz +0 -0
- data/doc/table_of_contents.html +282 -0
- data/lib/aastdlib.rb +12 -0
- data/lib/aastdlib/array.rb +20 -0
- data/lib/aastdlib/file.rb +23 -0
- data/lib/aastdlib/hash.rb +22 -0
- data/lib/aastdlib/integer.rb +16 -0
- data/lib/aastdlib/object.rb +200 -0
- data/lib/aastdlib/string.rb +377 -0
- data/lib/aastdlib/symbol.rb +19 -0
- data/lib/aastdlib/version.rb +3 -0
- data/pkg/aastdlib-0.0.0.gem +0 -0
- data/pkg/aastdlib-0.0.1.gem +0 -0
- data/pkg/aastdlib-0.0.2.gem +0 -0
- metadata +179 -0
data/doc/README_md.html
ADDED
@@ -0,0 +1,155 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>README - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<script type="text/javascript">
|
10
|
+
var rdoc_rel_prefix = "./";
|
11
|
+
var index_rel_prefix = "./";
|
12
|
+
</script>
|
13
|
+
|
14
|
+
<script src="./js/jquery.js"></script>
|
15
|
+
<script src="./js/darkfish.js"></script>
|
16
|
+
|
17
|
+
<link href="./css/fonts.css" rel="stylesheet">
|
18
|
+
<link href="./css/rdoc.css" rel="stylesheet">
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
<body id="top" role="document" class="file">
|
23
|
+
<nav role="navigation">
|
24
|
+
<div id="project-navigation">
|
25
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
26
|
+
<h2>
|
27
|
+
<a href="./index.html" rel="home">Home</a>
|
28
|
+
</h2>
|
29
|
+
|
30
|
+
<div id="table-of-contents-navigation">
|
31
|
+
<a href="./table_of_contents.html#pages">Pages</a>
|
32
|
+
<a href="./table_of_contents.html#classes">Classes</a>
|
33
|
+
<a href="./table_of_contents.html#methods">Methods</a>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
38
|
+
<form action="#" method="get" accept-charset="utf-8">
|
39
|
+
<div id="search-field-wrapper">
|
40
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
41
|
+
aria-autocomplete="list" aria-controls="search-results"
|
42
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
43
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<ul id="search-results" aria-label="Search Results"
|
47
|
+
aria-busy="false" aria-expanded="false"
|
48
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
49
|
+
</form>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
|
55
|
+
<div class="nav-section">
|
56
|
+
<h3>Table of Contents</h3>
|
57
|
+
|
58
|
+
<ul class="link-list" role="directory">
|
59
|
+
<li><a href="#label-Aastdlib">Aastdlib</a>
|
60
|
+
<li><a href="#label-Installation">Installation</a>
|
61
|
+
<li><a href="#label-Usage">Usage</a>
|
62
|
+
<li><a href="#label-Development">Development</a>
|
63
|
+
<li><a href="#label-Contributing">Contributing</a>
|
64
|
+
<li><a href="#label-License">License</a>
|
65
|
+
</ul>
|
66
|
+
</div>
|
67
|
+
|
68
|
+
|
69
|
+
<div id="project-metadata">
|
70
|
+
<div id="fileindex-section" class="nav-section">
|
71
|
+
<h3>Pages</h3>
|
72
|
+
|
73
|
+
<ul class="link-list">
|
74
|
+
|
75
|
+
<li><a href="./Gemfile.html">Gemfile</a>
|
76
|
+
|
77
|
+
<li><a href="./LICENSE_txt.html">LICENSE</a>
|
78
|
+
|
79
|
+
<li><a href="./README_md.html">README</a>
|
80
|
+
|
81
|
+
<li><a href="./Rakefile.html">Rakefile</a>
|
82
|
+
|
83
|
+
<li><a href="./aastdlib_gemspec.html">aastdlib.gemspec</a>
|
84
|
+
|
85
|
+
<li><a href="./bin/setup.html">setup</a>
|
86
|
+
|
87
|
+
</ul>
|
88
|
+
</div>
|
89
|
+
|
90
|
+
</div>
|
91
|
+
</nav>
|
92
|
+
|
93
|
+
<main role="main" aria-label="Page README.md">
|
94
|
+
|
95
|
+
<h1 id="label-Aastdlib"><a href="Aastdlib.html">Aastdlib</a><span><a href="#label-Aastdlib">¶</a> <a href="#top">↑</a></span></h1>
|
96
|
+
|
97
|
+
<p>Welcome to your new gem! In this directory, you'll find the files you
|
98
|
+
need to be able to package up your Ruby library into a gem. Put your Ruby
|
99
|
+
code in the file <code>lib/aastdlib</code>. To experiment with that code,
|
100
|
+
run <code>bin/console</code> for an interactive prompt.</p>
|
101
|
+
|
102
|
+
<p>TODO: Delete this and the text above, and describe your gem</p>
|
103
|
+
|
104
|
+
<h2 id="label-Installation">Installation<span><a href="#label-Installation">¶</a> <a href="#top">↑</a></span></h2>
|
105
|
+
|
106
|
+
<p>Add this line to your application's Gemfile:</p>
|
107
|
+
|
108
|
+
<pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-string">'aastdlib'</span>
|
109
|
+
</pre>
|
110
|
+
|
111
|
+
<p>And then execute:</p>
|
112
|
+
|
113
|
+
<pre>$ bundle</pre>
|
114
|
+
|
115
|
+
<p>Or install it yourself as:</p>
|
116
|
+
|
117
|
+
<pre>$ gem install aastdlib</pre>
|
118
|
+
|
119
|
+
<h2 id="label-Usage">Usage<span><a href="#label-Usage">¶</a> <a href="#top">↑</a></span></h2>
|
120
|
+
|
121
|
+
<p>TODO: Write usage instructions here</p>
|
122
|
+
|
123
|
+
<h2 id="label-Development">Development<span><a href="#label-Development">¶</a> <a href="#top">↑</a></span></h2>
|
124
|
+
|
125
|
+
<p>After checking out the repo, run <code>bin/setup</code> to install
|
126
|
+
dependencies. Then, run <code>rake spec</code> to run the tests. You can
|
127
|
+
also run <code>bin/console</code> for an interactive prompt that will allow
|
128
|
+
you to experiment.</p>
|
129
|
+
|
130
|
+
<p>To install this gem onto your local machine, run <code>bundle exec rake
|
131
|
+
install</code>. To release a new version, update the version number in
|
132
|
+
<code>version.rb</code>, and then run <code>bundle exec rake
|
133
|
+
release</code>, which will create a git tag for the version, push git
|
134
|
+
commits and tags, and push the <code>.gem</code> file to <a
|
135
|
+
href="https://rubygems.org">rubygems.org</a>.</p>
|
136
|
+
|
137
|
+
<h2 id="label-Contributing">Contributing<span><a href="#label-Contributing">¶</a> <a href="#top">↑</a></span></h2>
|
138
|
+
|
139
|
+
<p>Bug reports and pull requests are welcome on GitHub at <a
|
140
|
+
href="https://github.com/[USERNAME]/aastdlib">github.com/[USERNAME]/aastdlib</a>.</p>
|
141
|
+
|
142
|
+
<h2 id="label-License">License<span><a href="#label-License">¶</a> <a href="#top">↑</a></span></h2>
|
143
|
+
|
144
|
+
<p>The gem is available as open source under the terms of the <a
|
145
|
+
href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
|
146
|
+
</main>
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
<footer id="validator-badges" role="contentinfo">
|
151
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
152
|
+
<p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
|
153
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
154
|
+
</footer>
|
155
|
+
|
data/doc/Rakefile.html
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>Rakefile - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<script type="text/javascript">
|
10
|
+
var rdoc_rel_prefix = "./";
|
11
|
+
var index_rel_prefix = "./";
|
12
|
+
</script>
|
13
|
+
|
14
|
+
<script src="./js/jquery.js"></script>
|
15
|
+
<script src="./js/darkfish.js"></script>
|
16
|
+
|
17
|
+
<link href="./css/fonts.css" rel="stylesheet">
|
18
|
+
<link href="./css/rdoc.css" rel="stylesheet">
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
<body id="top" role="document" class="file">
|
23
|
+
<nav role="navigation">
|
24
|
+
<div id="project-navigation">
|
25
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
26
|
+
<h2>
|
27
|
+
<a href="./index.html" rel="home">Home</a>
|
28
|
+
</h2>
|
29
|
+
|
30
|
+
<div id="table-of-contents-navigation">
|
31
|
+
<a href="./table_of_contents.html#pages">Pages</a>
|
32
|
+
<a href="./table_of_contents.html#classes">Classes</a>
|
33
|
+
<a href="./table_of_contents.html#methods">Methods</a>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
38
|
+
<form action="#" method="get" accept-charset="utf-8">
|
39
|
+
<div id="search-field-wrapper">
|
40
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
41
|
+
aria-autocomplete="list" aria-controls="search-results"
|
42
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
43
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<ul id="search-results" aria-label="Search Results"
|
47
|
+
aria-busy="false" aria-expanded="false"
|
48
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
49
|
+
</form>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
<div id="project-metadata">
|
57
|
+
<div id="fileindex-section" class="nav-section">
|
58
|
+
<h3>Pages</h3>
|
59
|
+
|
60
|
+
<ul class="link-list">
|
61
|
+
|
62
|
+
<li><a href="./Gemfile.html">Gemfile</a>
|
63
|
+
|
64
|
+
<li><a href="./LICENSE_txt.html">LICENSE</a>
|
65
|
+
|
66
|
+
<li><a href="./README_md.html">README</a>
|
67
|
+
|
68
|
+
<li><a href="./Rakefile.html">Rakefile</a>
|
69
|
+
|
70
|
+
<li><a href="./aastdlib_gemspec.html">aastdlib.gemspec</a>
|
71
|
+
|
72
|
+
<li><a href="./bin/setup.html">setup</a>
|
73
|
+
|
74
|
+
</ul>
|
75
|
+
</div>
|
76
|
+
|
77
|
+
</div>
|
78
|
+
</nav>
|
79
|
+
|
80
|
+
<main role="main" aria-label="Page Rakefile">
|
81
|
+
|
82
|
+
<p>require “bundler/gem_tasks” require “rspec/core/rake_task”</p>
|
83
|
+
|
84
|
+
<p>RSpec::Core::RakeTask.new(:spec)</p>
|
85
|
+
|
86
|
+
<p>task :default => :spec</p>
|
87
|
+
</main>
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
<footer id="validator-badges" role="contentinfo">
|
92
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
93
|
+
<p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
|
94
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
95
|
+
</footer>
|
96
|
+
|
data/doc/String.html
ADDED
@@ -0,0 +1,1240 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>class String - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<script type="text/javascript">
|
10
|
+
var rdoc_rel_prefix = "./";
|
11
|
+
var index_rel_prefix = "./";
|
12
|
+
</script>
|
13
|
+
|
14
|
+
<script src="./js/jquery.js"></script>
|
15
|
+
<script src="./js/darkfish.js"></script>
|
16
|
+
|
17
|
+
<link href="./css/fonts.css" rel="stylesheet">
|
18
|
+
<link href="./css/rdoc.css" rel="stylesheet">
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
<body id="top" role="document" class="class">
|
23
|
+
<nav role="navigation">
|
24
|
+
<div id="project-navigation">
|
25
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
26
|
+
<h2>
|
27
|
+
<a href="./index.html" rel="home">Home</a>
|
28
|
+
</h2>
|
29
|
+
|
30
|
+
<div id="table-of-contents-navigation">
|
31
|
+
<a href="./table_of_contents.html#pages">Pages</a>
|
32
|
+
<a href="./table_of_contents.html#classes">Classes</a>
|
33
|
+
<a href="./table_of_contents.html#methods">Methods</a>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
38
|
+
<form action="#" method="get" accept-charset="utf-8">
|
39
|
+
<div id="search-field-wrapper">
|
40
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
41
|
+
aria-autocomplete="list" aria-controls="search-results"
|
42
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
43
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<ul id="search-results" aria-label="Search Results"
|
47
|
+
aria-busy="false" aria-expanded="false"
|
48
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
49
|
+
</form>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
<div id="class-metadata">
|
57
|
+
|
58
|
+
<div id="parent-class-section" class="nav-section">
|
59
|
+
<h3>Parent</h3>
|
60
|
+
|
61
|
+
|
62
|
+
<p class="link"><a href="Object.html">Object</a>
|
63
|
+
|
64
|
+
</div>
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
<!-- Method Quickref -->
|
69
|
+
<div id="method-list-section" class="nav-section">
|
70
|
+
<h3>Methods</h3>
|
71
|
+
|
72
|
+
<ul class="link-list" role="directory">
|
73
|
+
|
74
|
+
<li ><a href="#method-c-generate_all_hex_values">::generate_all_hex_values</a>
|
75
|
+
|
76
|
+
<li ><a href="#method-i-bin_to_array">#bin_to_array</a>
|
77
|
+
|
78
|
+
<li ><a href="#method-i-borderize">#borderize</a>
|
79
|
+
|
80
|
+
<li ><a href="#method-i-decode64">#decode64</a>
|
81
|
+
|
82
|
+
<li ><a href="#method-i-obfuscate_case">#obfuscate_case</a>
|
83
|
+
|
84
|
+
<li ><a href="#method-i-obfuscate_string_insert">#obfuscate_string_insert</a>
|
85
|
+
|
86
|
+
<li ><a href="#method-i-prefix">#prefix</a>
|
87
|
+
|
88
|
+
<li ><a href="#method-i-prettyfi">#prettyfi</a>
|
89
|
+
|
90
|
+
<li ><a href="#method-i-prettyfi_shellcode">#prettyfi_shellcode</a>
|
91
|
+
|
92
|
+
<li ><a href="#method-i-rando_insert">#rando_insert</a>
|
93
|
+
|
94
|
+
<li ><a href="#method-i-simple_prefix">#simple_prefix</a>
|
95
|
+
|
96
|
+
<li ><a href="#method-i-snake_name">#snake_name</a>
|
97
|
+
|
98
|
+
<li ><a href="#method-i-suffix">#suffix</a>
|
99
|
+
|
100
|
+
<li ><a href="#method-i-to_base64">#to_base64</a>
|
101
|
+
|
102
|
+
<li ><a href="#method-i-to_binary">#to_binary</a>
|
103
|
+
|
104
|
+
<li ><a href="#method-i-to_csv_value">#to_csv_value</a>
|
105
|
+
|
106
|
+
<li ><a href="#method-i-to_hex_string">#to_hex_string</a>
|
107
|
+
|
108
|
+
<li ><a href="#method-i-to_instance_variable_name">#to_instance_variable_name</a>
|
109
|
+
|
110
|
+
<li ><a href="#method-i-to_ivar_name">#to_ivar_name</a>
|
111
|
+
|
112
|
+
<li ><a href="#method-i-to_underscore">#to_underscore</a>
|
113
|
+
|
114
|
+
<li ><a href="#method-i-to_url_encoded">#to_url_encoded</a>
|
115
|
+
|
116
|
+
<li ><a href="#method-i-to_utf16">#to_utf16</a>
|
117
|
+
|
118
|
+
<li ><a href="#method-i-to_utf8">#to_utf8</a>
|
119
|
+
|
120
|
+
<li ><a href="#method-i-utf_pad">#utf_pad</a>
|
121
|
+
|
122
|
+
<li ><a href="#method-i-wrap">#wrap</a>
|
123
|
+
|
124
|
+
</ul>
|
125
|
+
</div>
|
126
|
+
|
127
|
+
</div>
|
128
|
+
</nav>
|
129
|
+
|
130
|
+
<main role="main" aria-labelledby="class-String">
|
131
|
+
<h1 id="class-String" class="class">
|
132
|
+
class String
|
133
|
+
</h1>
|
134
|
+
|
135
|
+
<section class="description">
|
136
|
+
|
137
|
+
<p>Extension of the <a href="String.html">String</a> class.</p>
|
138
|
+
|
139
|
+
</section>
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
<section class="constants-list">
|
151
|
+
<header>
|
152
|
+
<h3>Constants</h3>
|
153
|
+
</header>
|
154
|
+
<dl>
|
155
|
+
|
156
|
+
<dt id="HEX_VALUES">HEX_VALUES
|
157
|
+
|
158
|
+
<dd>
|
159
|
+
|
160
|
+
|
161
|
+
</dl>
|
162
|
+
</section>
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
169
|
+
<header>
|
170
|
+
<h3>Public Class Methods</h3>
|
171
|
+
</header>
|
172
|
+
|
173
|
+
|
174
|
+
<div id="method-c-generate_all_hex_values" class="method-detail ">
|
175
|
+
|
176
|
+
<div class="method-heading">
|
177
|
+
<span class="method-name">generate_all_hex_values</span><span
|
178
|
+
class="method-args">(upcase=true)</span>
|
179
|
+
|
180
|
+
<span class="method-click-advice">click to toggle source</span>
|
181
|
+
|
182
|
+
</div>
|
183
|
+
|
184
|
+
|
185
|
+
<div class="method-description">
|
186
|
+
|
187
|
+
<p>generate all hex values and return them in a string</p>
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
<div class="method-source-code" id="generate_all_hex_values-source">
|
193
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 26</span>
|
194
|
+
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">generate_all_hex_values</span>(<span class="ruby-identifier">upcase</span>=<span class="ruby-keyword">true</span>)
|
195
|
+
|
196
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-string">""</span>
|
197
|
+
|
198
|
+
<span class="ruby-value">256</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
|
199
|
+
|
200
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-value">16</span>)
|
201
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">upcase</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">upcase</span>
|
202
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-string">'0'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">n</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-value">2</span>
|
203
|
+
<span class="ruby-identifier">s</span> <span class="ruby-operator">+=</span> <span class="ruby-string">'\x'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">n</span>
|
204
|
+
|
205
|
+
<span class="ruby-keyword">end</span>
|
206
|
+
|
207
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">s</span>
|
208
|
+
|
209
|
+
<span class="ruby-keyword">end</span></pre>
|
210
|
+
</div>
|
211
|
+
|
212
|
+
</div>
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
</div>
|
218
|
+
|
219
|
+
|
220
|
+
</section>
|
221
|
+
|
222
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
223
|
+
<header>
|
224
|
+
<h3>Public Instance Methods</h3>
|
225
|
+
</header>
|
226
|
+
|
227
|
+
|
228
|
+
<div id="method-i-bin_to_array" class="method-detail ">
|
229
|
+
|
230
|
+
<div class="method-heading">
|
231
|
+
<span class="method-name">bin_to_array</span><span
|
232
|
+
class="method-args">(upcase: true, radix: 16)</span>
|
233
|
+
|
234
|
+
<span class="method-click-advice">click to toggle source</span>
|
235
|
+
|
236
|
+
</div>
|
237
|
+
|
238
|
+
|
239
|
+
<div class="method-description">
|
240
|
+
|
241
|
+
<p>Return the string as an array of base 16 values. Base can be altered by
|
242
|
+
updating the <em>radix</em> argument.</p>
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
<div class="method-source-code" id="bin_to_array-source">
|
248
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 228</span>
|
249
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bin_to_array</span>(<span class="ruby-identifier">upcase</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">radix</span><span class="ruby-operator">:</span> <span class="ruby-value">16</span>)
|
250
|
+
|
251
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">bytes</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
|
252
|
+
|
253
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">upcase</span>
|
254
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">radix</span>).<span class="ruby-identifier">upcase</span>
|
255
|
+
<span class="ruby-keyword">else</span>
|
256
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">radix</span>)
|
257
|
+
<span class="ruby-keyword">end</span>
|
258
|
+
|
259
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-value">2</span>
|
260
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-string">'0'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">b</span>
|
261
|
+
<span class="ruby-keyword">else</span>
|
262
|
+
<span class="ruby-identifier">b</span>
|
263
|
+
<span class="ruby-keyword">end</span>
|
264
|
+
|
265
|
+
<span class="ruby-keyword">end</span>
|
266
|
+
|
267
|
+
<span class="ruby-keyword">end</span></pre>
|
268
|
+
</div>
|
269
|
+
|
270
|
+
</div>
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
</div>
|
276
|
+
|
277
|
+
|
278
|
+
<div id="method-i-borderize" class="method-detail ">
|
279
|
+
|
280
|
+
<div class="method-heading">
|
281
|
+
<span class="method-name">borderize</span><span
|
282
|
+
class="method-args">(char='-')</span>
|
283
|
+
|
284
|
+
<span class="method-click-advice">click to toggle source</span>
|
285
|
+
|
286
|
+
</div>
|
287
|
+
|
288
|
+
|
289
|
+
<div class="method-description">
|
290
|
+
|
291
|
+
<p>return the string with a border at the top and bottom of the string border
|
292
|
+
character can be altered</p>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
<div class="method-source-code" id="borderize-source">
|
298
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 58</span>
|
299
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">borderize</span>(<span class="ruby-identifier">char</span>=<span class="ruby-string">'-'</span>)
|
300
|
+
|
301
|
+
<span class="ruby-identifier">border</span> = <span class="ruby-identifier">char</span> <span class="ruby-operator">*</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">length</span>
|
302
|
+
<span class="ruby-keyword">return</span> <span class="ruby-node">"#{border}\n#{self}\n#{border}"</span>
|
303
|
+
|
304
|
+
<span class="ruby-keyword">end</span></pre>
|
305
|
+
</div>
|
306
|
+
|
307
|
+
</div>
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
|
312
|
+
</div>
|
313
|
+
|
314
|
+
|
315
|
+
<div id="method-i-decode64" class="method-detail ">
|
316
|
+
|
317
|
+
<div class="method-heading">
|
318
|
+
<span class="method-name">decode64</span><span
|
319
|
+
class="method-args">(strict=false)</span>
|
320
|
+
|
321
|
+
<span class="method-click-advice">click to toggle source</span>
|
322
|
+
|
323
|
+
</div>
|
324
|
+
|
325
|
+
|
326
|
+
<div class="method-description">
|
327
|
+
|
328
|
+
<p>Base64 decde and return a duplicate string.</p>
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
<div class="method-source-code" id="decode64-source">
|
334
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 319</span>
|
335
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">decode64</span>(<span class="ruby-identifier">strict</span>=<span class="ruby-keyword">false</span>)
|
336
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">strict</span>
|
337
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">Base64</span><span class="ruby-operator">::</span><span class="ruby-identifier">strict_decode64</span>(<span class="ruby-keyword">self</span>)
|
338
|
+
<span class="ruby-keyword">else</span>
|
339
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">Base64</span><span class="ruby-operator">::</span><span class="ruby-identifier">decode64</span>(<span class="ruby-keyword">self</span>)
|
340
|
+
<span class="ruby-keyword">end</span>
|
341
|
+
<span class="ruby-keyword">end</span></pre>
|
342
|
+
</div>
|
343
|
+
|
344
|
+
</div>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
</div>
|
350
|
+
|
351
|
+
|
352
|
+
<div id="method-i-obfuscate_case" class="method-detail ">
|
353
|
+
|
354
|
+
<div class="method-heading">
|
355
|
+
<span class="method-name">obfuscate_case</span><span
|
356
|
+
class="method-args">()</span>
|
357
|
+
|
358
|
+
<span class="method-click-advice">click to toggle source</span>
|
359
|
+
|
360
|
+
</div>
|
361
|
+
|
362
|
+
|
363
|
+
<div class="method-description">
|
364
|
+
|
365
|
+
<p>Return a duplicate of the string with the case altered randomly.</p>
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
<div class="method-source-code" id="obfuscate_case-source">
|
371
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 342</span>
|
372
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">obfuscate_case</span>()
|
373
|
+
|
374
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">''</span>).<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
375
|
+
|
376
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">rand</span>(<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>) <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
377
|
+
|
378
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">upcase</span>
|
379
|
+
|
380
|
+
<span class="ruby-keyword">else</span>
|
381
|
+
|
382
|
+
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">downcase</span>
|
383
|
+
|
384
|
+
<span class="ruby-keyword">end</span>
|
385
|
+
|
386
|
+
<span class="ruby-keyword">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">''</span>)
|
387
|
+
|
388
|
+
<span class="ruby-keyword">end</span></pre>
|
389
|
+
</div>
|
390
|
+
|
391
|
+
</div>
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
</div>
|
397
|
+
|
398
|
+
|
399
|
+
<div id="method-i-obfuscate_string_insert" class="method-detail ">
|
400
|
+
|
401
|
+
<div class="method-heading">
|
402
|
+
<span class="method-name">obfuscate_string_insert</span><span
|
403
|
+
class="method-args">(string)</span>
|
404
|
+
|
405
|
+
<span class="method-click-advice">click to toggle source</span>
|
406
|
+
|
407
|
+
</div>
|
408
|
+
|
409
|
+
|
410
|
+
<div class="method-description">
|
411
|
+
|
412
|
+
<p>Inser <em>string</em> at a random place in the current string.</p>
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
<div class="method-source-code" id="obfuscate_string_insert-source">
|
418
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 361</span>
|
419
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">obfuscate_string_insert</span>(<span class="ruby-identifier">string</span>)
|
420
|
+
|
421
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">rand</span>(<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)), <span class="ruby-identifier">string</span>)
|
422
|
+
|
423
|
+
<span class="ruby-keyword">end</span></pre>
|
424
|
+
</div>
|
425
|
+
|
426
|
+
</div>
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
</div>
|
432
|
+
|
433
|
+
|
434
|
+
<div id="method-i-prefix" class="method-detail ">
|
435
|
+
|
436
|
+
<div class="method-heading">
|
437
|
+
<span class="method-name">prefix</span><span
|
438
|
+
class="method-args">(symbol: '+', wrapper: ["[","]"], space_char: " ", rep: 1)</span>
|
439
|
+
|
440
|
+
<span class="method-click-advice">click to toggle source</span>
|
441
|
+
|
442
|
+
</div>
|
443
|
+
|
444
|
+
|
445
|
+
<div class="method-description">
|
446
|
+
|
447
|
+
<p>Prefix the string with a symbol wrapped in two characters.</p>
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
<div class="method-source-code" id="prefix-source">
|
453
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 142</span>
|
454
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">prefix</span>(<span class="ruby-identifier">symbol</span><span class="ruby-operator">:</span> <span class="ruby-string">'+'</span>, <span class="ruby-identifier">wrapper</span><span class="ruby-operator">:</span> [<span class="ruby-string">"["</span>,<span class="ruby-string">"]"</span>], <span class="ruby-identifier">space_char</span><span class="ruby-operator">:</span> <span class="ruby-string">" "</span>, <span class="ruby-identifier">rep</span><span class="ruby-operator">:</span> <span class="ruby-value">1</span>)
|
455
|
+
|
456
|
+
<span class="ruby-keyword">return</span> (<span class="ruby-identifier">wrapper</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">symbol</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">wrapper</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">+</span> (<span class="ruby-identifier">space_char</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">rep</span>) <span class="ruby-operator">+</span> <span class="ruby-keyword">self</span>
|
457
|
+
|
458
|
+
<span class="ruby-keyword">end</span></pre>
|
459
|
+
</div>
|
460
|
+
|
461
|
+
</div>
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
</div>
|
467
|
+
|
468
|
+
|
469
|
+
<div id="method-i-prettyfi" class="method-detail ">
|
470
|
+
|
471
|
+
<div class="method-heading">
|
472
|
+
<span class="method-name">prettyfi</span><span
|
473
|
+
class="method-args">(max_len=60)</span>
|
474
|
+
|
475
|
+
<span class="method-click-advice">click to toggle source</span>
|
476
|
+
|
477
|
+
</div>
|
478
|
+
|
479
|
+
|
480
|
+
<div class="method-description">
|
481
|
+
|
482
|
+
<p>trim the string to a particular length and echo it to stdout as a script
|
483
|
+
ready string</p>
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
<div class="method-source-code" id="prettyfi-source">
|
489
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 67</span>
|
490
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">prettyfi</span>(<span class="ruby-identifier">max_len</span>=<span class="ruby-value">60</span>)
|
491
|
+
|
492
|
+
<span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">max_len</span>
|
493
|
+
|
494
|
+
<span class="ruby-identifier">out</span> = <span class="ruby-keyword">self</span>
|
495
|
+
|
496
|
+
<span class="ruby-keyword">else</span>
|
497
|
+
|
498
|
+
<span class="ruby-comment"># holds output fragments</span>
|
499
|
+
<span class="ruby-identifier">buff</span> = []
|
500
|
+
|
501
|
+
<span class="ruby-identifier">start</span>, <span class="ruby-identifier">_end</span> = <span class="ruby-value">0</span>, (<span class="ruby-identifier">max_len</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)
|
502
|
+
|
503
|
+
<span class="ruby-identifier">ind</span>,<span class="ruby-identifier">counter</span> = <span class="ruby-value">-1</span>, <span class="ruby-value">0</span>
|
504
|
+
|
505
|
+
<span class="ruby-identifier">chunk</span> = <span class="ruby-string">""</span>
|
506
|
+
<span class="ruby-keyword">while</span> <span class="ruby-identifier">c</span> = <span class="ruby-keyword">self</span>[<span class="ruby-identifier">ind</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>]
|
507
|
+
|
508
|
+
<span class="ruby-identifier">counter</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
509
|
+
<span class="ruby-identifier">chunk</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>
|
510
|
+
|
511
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">counter</span> <span class="ruby-operator">==</span> (<span class="ruby-identifier">max_len</span>) <span class="ruby-keyword">or</span> <span class="ruby-identifier">ind</span> <span class="ruby-operator">==</span> (<span class="ruby-keyword">self</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)
|
512
|
+
|
513
|
+
<span class="ruby-identifier">buff</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'"'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">chunk</span> <span class="ruby-operator">+</span> <span class="ruby-string">'"'</span>
|
514
|
+
<span class="ruby-identifier">chunk</span> = <span class="ruby-string">""</span>
|
515
|
+
<span class="ruby-identifier">counter</span> = <span class="ruby-value">0</span>
|
516
|
+
|
517
|
+
<span class="ruby-keyword">end</span>
|
518
|
+
|
519
|
+
<span class="ruby-keyword">end</span>
|
520
|
+
|
521
|
+
<span class="ruby-identifier">out</span> = <span class="ruby-identifier">buff</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">" +\n"</span>)
|
522
|
+
|
523
|
+
<span class="ruby-keyword">end</span>
|
524
|
+
|
525
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">out</span>
|
526
|
+
|
527
|
+
<span class="ruby-keyword">end</span></pre>
|
528
|
+
</div>
|
529
|
+
|
530
|
+
</div>
|
531
|
+
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
</div>
|
536
|
+
|
537
|
+
|
538
|
+
<div id="method-i-prettyfi_shellcode" class="method-detail ">
|
539
|
+
|
540
|
+
<div class="method-heading">
|
541
|
+
<span class="method-name">prettyfi_shellcode</span><span
|
542
|
+
class="method-args">(prefix: '\x', limit: 16)</span>
|
543
|
+
|
544
|
+
<span class="method-click-advice">click to toggle source</span>
|
545
|
+
|
546
|
+
</div>
|
547
|
+
|
548
|
+
|
549
|
+
<div class="method-description">
|
550
|
+
|
551
|
+
<p>same thing as prettyfi but converts contents of the string to x format</p>
|
552
|
+
|
553
|
+
|
554
|
+
|
555
|
+
|
556
|
+
<div class="method-source-code" id="prettyfi_shellcode-source">
|
557
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 108</span>
|
558
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">prettyfi_shellcode</span>(<span class="ruby-identifier">prefix</span><span class="ruby-operator">:</span> <span class="ruby-string">'\x'</span>, <span class="ruby-identifier">limit</span><span class="ruby-operator">:</span> <span class="ruby-value">16</span>)
|
559
|
+
|
560
|
+
<span class="ruby-identifier">ary</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">bin_to_array</span>
|
561
|
+
|
562
|
+
<span class="ruby-identifier">output</span> = <span class="ruby-string">""</span>
|
563
|
+
|
564
|
+
<span class="ruby-comment"># Maximum index position of split array</span>
|
565
|
+
<span class="ruby-identifier">max</span> = (<span class="ruby-identifier">ary</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
|
566
|
+
|
567
|
+
<span class="ruby-comment"># Bottom of slice range</span>
|
568
|
+
<span class="ruby-identifier">floor</span> = <span class="ruby-value">0</span>
|
569
|
+
|
570
|
+
<span class="ruby-comment"># Top of slice range</span>
|
571
|
+
<span class="ruby-identifier">ceiling</span> = (<span class="ruby-identifier">limit</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)
|
572
|
+
|
573
|
+
<span class="ruby-keyword">while</span> <span class="ruby-keyword">true</span>
|
574
|
+
|
575
|
+
<span class="ruby-identifier">slice</span> = <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-identifier">floor</span><span class="ruby-operator">..</span><span class="ruby-identifier">ceiling</span>).<span class="ruby-identifier">join</span>(<span class="ruby-identifier">prefix</span>)
|
576
|
+
|
577
|
+
<span class="ruby-identifier">output</span> <span class="ruby-operator">+=</span> <span class="ruby-string">'"'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">slice</span> <span class="ruby-operator">+</span> <span class="ruby-string">'"'</span>
|
578
|
+
|
579
|
+
<span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ceiling</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">max</span>
|
580
|
+
|
581
|
+
<span class="ruby-identifier">floor</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">limit</span>
|
582
|
+
<span class="ruby-identifier">ceiling</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">limit</span>
|
583
|
+
<span class="ruby-identifier">output</span> <span class="ruby-operator">+=</span> <span class="ruby-string">"+\n"</span>
|
584
|
+
|
585
|
+
<span class="ruby-keyword">end</span>
|
586
|
+
|
587
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">output</span>
|
588
|
+
|
589
|
+
<span class="ruby-keyword">end</span></pre>
|
590
|
+
</div>
|
591
|
+
|
592
|
+
</div>
|
593
|
+
|
594
|
+
|
595
|
+
|
596
|
+
|
597
|
+
</div>
|
598
|
+
|
599
|
+
|
600
|
+
<div id="method-i-rando_insert" class="method-detail ">
|
601
|
+
|
602
|
+
<div class="method-heading">
|
603
|
+
<span class="method-name">rando_insert</span><span
|
604
|
+
class="method-args">(str)</span>
|
605
|
+
|
606
|
+
<span class="method-click-advice">click to toggle source</span>
|
607
|
+
|
608
|
+
</div>
|
609
|
+
|
610
|
+
|
611
|
+
<div class="method-description">
|
612
|
+
|
613
|
+
<p>Insert a string at a random index within this string</p>
|
614
|
+
|
615
|
+
|
616
|
+
|
617
|
+
|
618
|
+
<div class="method-source-code" id="rando_insert-source">
|
619
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 44</span>
|
620
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">rando_insert</span>(<span class="ruby-identifier">str</span>)
|
621
|
+
|
622
|
+
<span class="ruby-keyword">unless</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>
|
623
|
+
|
624
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-string">"String length is too short! length must be 2 or greater (len >= 2)"</span>
|
625
|
+
|
626
|
+
<span class="ruby-keyword">end</span>
|
627
|
+
|
628
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">rand</span>(<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)), <span class="ruby-identifier">str</span>)
|
629
|
+
|
630
|
+
<span class="ruby-keyword">end</span></pre>
|
631
|
+
</div>
|
632
|
+
|
633
|
+
</div>
|
634
|
+
|
635
|
+
|
636
|
+
|
637
|
+
|
638
|
+
</div>
|
639
|
+
|
640
|
+
|
641
|
+
<div id="method-i-simple_prefix" class="method-detail ">
|
642
|
+
|
643
|
+
<div class="method-heading">
|
644
|
+
<span class="method-name">simple_prefix</span><span
|
645
|
+
class="method-args">(char)</span>
|
646
|
+
|
647
|
+
<span class="method-click-advice">click to toggle source</span>
|
648
|
+
|
649
|
+
</div>
|
650
|
+
|
651
|
+
|
652
|
+
<div class="method-description">
|
653
|
+
|
654
|
+
<p>Returna a duplicate of the string with a character prefix.</p>
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
<div class="method-source-code" id="simple_prefix-source">
|
660
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 149</span>
|
661
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">simple_prefix</span>(<span class="ruby-identifier">char</span>)
|
662
|
+
|
663
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">char</span><span class="ruby-operator">+</span><span class="ruby-keyword">self</span>
|
664
|
+
|
665
|
+
<span class="ruby-keyword">end</span></pre>
|
666
|
+
</div>
|
667
|
+
|
668
|
+
</div>
|
669
|
+
|
670
|
+
|
671
|
+
|
672
|
+
|
673
|
+
</div>
|
674
|
+
|
675
|
+
|
676
|
+
<div id="method-i-snake_name" class="method-detail ">
|
677
|
+
|
678
|
+
<div class="method-heading">
|
679
|
+
<span class="method-name">snake_name</span><span
|
680
|
+
class="method-args">()</span>
|
681
|
+
|
682
|
+
<span class="method-click-advice">click to toggle source</span>
|
683
|
+
|
684
|
+
</div>
|
685
|
+
|
686
|
+
|
687
|
+
<div class="method-description">
|
688
|
+
|
689
|
+
<p>Convenience method for <a
|
690
|
+
href="String.html#method-i-to_underscore">#to_underscore</a>()</p>
|
691
|
+
|
692
|
+
|
693
|
+
|
694
|
+
|
695
|
+
<div class="method-source-code" id="snake_name-source">
|
696
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 191</span>
|
697
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">snake_name</span>()
|
698
|
+
|
699
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">to_underscore</span>
|
700
|
+
|
701
|
+
<span class="ruby-keyword">end</span></pre>
|
702
|
+
</div>
|
703
|
+
|
704
|
+
</div>
|
705
|
+
|
706
|
+
|
707
|
+
|
708
|
+
|
709
|
+
</div>
|
710
|
+
|
711
|
+
|
712
|
+
<div id="method-i-suffix" class="method-detail ">
|
713
|
+
|
714
|
+
<div class="method-heading">
|
715
|
+
<span class="method-name">suffix</span><span
|
716
|
+
class="method-args">(char)</span>
|
717
|
+
|
718
|
+
<span class="method-click-advice">click to toggle source</span>
|
719
|
+
|
720
|
+
</div>
|
721
|
+
|
722
|
+
|
723
|
+
<div class="method-description">
|
724
|
+
|
725
|
+
<p>Return a duplicate of the string suffixed with a single character.</p>
|
726
|
+
|
727
|
+
|
728
|
+
|
729
|
+
|
730
|
+
<div class="method-source-code" id="suffix-source">
|
731
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 163</span>
|
732
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">suffix</span>(<span class="ruby-identifier">char</span>)
|
733
|
+
|
734
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span><span class="ruby-operator">+</span><span class="ruby-identifier">char</span>
|
735
|
+
|
736
|
+
<span class="ruby-keyword">end</span></pre>
|
737
|
+
</div>
|
738
|
+
|
739
|
+
</div>
|
740
|
+
|
741
|
+
|
742
|
+
|
743
|
+
|
744
|
+
</div>
|
745
|
+
|
746
|
+
|
747
|
+
<div id="method-i-to_base64" class="method-detail ">
|
748
|
+
|
749
|
+
<div class="method-heading">
|
750
|
+
<span class="method-name">to_base64</span><span
|
751
|
+
class="method-args">(strict=false)</span>
|
752
|
+
|
753
|
+
<span class="method-click-advice">click to toggle source</span>
|
754
|
+
|
755
|
+
</div>
|
756
|
+
|
757
|
+
|
758
|
+
<div class="method-description">
|
759
|
+
|
760
|
+
<p>Base64 encode and return a duplicate string.</p>
|
761
|
+
|
762
|
+
|
763
|
+
|
764
|
+
|
765
|
+
<div class="method-source-code" id="to_base64-source">
|
766
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 310</span>
|
767
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_base64</span>(<span class="ruby-identifier">strict</span>=<span class="ruby-keyword">false</span>)
|
768
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">strict</span>
|
769
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">Base64</span><span class="ruby-operator">::</span><span class="ruby-identifier">strict_encode64</span>(<span class="ruby-keyword">self</span>)
|
770
|
+
<span class="ruby-keyword">else</span>
|
771
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">Base64</span><span class="ruby-operator">::</span><span class="ruby-identifier">encode64</span>(<span class="ruby-keyword">self</span>)
|
772
|
+
<span class="ruby-keyword">end</span>
|
773
|
+
<span class="ruby-keyword">end</span></pre>
|
774
|
+
</div>
|
775
|
+
|
776
|
+
</div>
|
777
|
+
|
778
|
+
|
779
|
+
|
780
|
+
|
781
|
+
</div>
|
782
|
+
|
783
|
+
|
784
|
+
<div id="method-i-to_binary" class="method-detail ">
|
785
|
+
|
786
|
+
<div class="method-heading">
|
787
|
+
<span class="method-name">to_binary</span><span
|
788
|
+
class="method-args">(prefix='0b')</span>
|
789
|
+
|
790
|
+
<span class="method-click-advice">click to toggle source</span>
|
791
|
+
|
792
|
+
</div>
|
793
|
+
|
794
|
+
|
795
|
+
<div class="method-description">
|
796
|
+
|
797
|
+
<p>Encode and return a duplicate of the string in <em>0b0010110</em> format.</p>
|
798
|
+
|
799
|
+
|
800
|
+
|
801
|
+
|
802
|
+
<div class="method-source-code" id="to_binary-source">
|
803
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 328</span>
|
804
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_binary</span>(<span class="ruby-identifier">prefix</span>=<span class="ruby-string">'0b'</span>)
|
805
|
+
|
806
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">prefix</span><span class="ruby-operator">+</span><span class="ruby-keyword">self</span>.<span class="ruby-identifier">bytes</span>
|
807
|
+
.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
|
808
|
+
|
809
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>)
|
810
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-string">'0'</span> <span class="ruby-operator">*</span> (<span class="ruby-value">8</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">length</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">b</span>
|
811
|
+
|
812
|
+
<span class="ruby-keyword">end</span>
|
813
|
+
.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">prefix</span>)
|
814
|
+
|
815
|
+
<span class="ruby-keyword">end</span></pre>
|
816
|
+
</div>
|
817
|
+
|
818
|
+
</div>
|
819
|
+
|
820
|
+
|
821
|
+
|
822
|
+
|
823
|
+
</div>
|
824
|
+
|
825
|
+
|
826
|
+
<div id="method-i-to_csv_value" class="method-detail ">
|
827
|
+
|
828
|
+
<div class="method-heading">
|
829
|
+
<span class="method-name">to_csv_value</span><span
|
830
|
+
class="method-args">(comma_delimit=true)</span>
|
831
|
+
|
832
|
+
<span class="method-click-advice">click to toggle source</span>
|
833
|
+
|
834
|
+
</div>
|
835
|
+
|
836
|
+
|
837
|
+
<div class="method-description">
|
838
|
+
|
839
|
+
<p>Convert the string to a CSV value. Setting comma delimit to false will
|
840
|
+
return the string wrapped in double quotes.</p>
|
841
|
+
|
842
|
+
|
843
|
+
|
844
|
+
|
845
|
+
<div class="method-source-code" id="to_csv_value-source">
|
846
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 171</span>
|
847
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_csv_value</span>(<span class="ruby-identifier">comma_delimit</span>=<span class="ruby-keyword">true</span>)
|
848
|
+
|
849
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">comma_delimit</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">wrap</span>(<span class="ruby-string">'"'</span>).<span class="ruby-identifier">suffix</span>(<span class="ruby-string">','</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">wrap</span>(<span class="ruby-string">'"'</span>)
|
850
|
+
|
851
|
+
<span class="ruby-keyword">end</span></pre>
|
852
|
+
</div>
|
853
|
+
|
854
|
+
</div>
|
855
|
+
|
856
|
+
|
857
|
+
|
858
|
+
|
859
|
+
</div>
|
860
|
+
|
861
|
+
|
862
|
+
<div id="method-i-to_hex_string" class="method-detail ">
|
863
|
+
|
864
|
+
<div class="method-heading">
|
865
|
+
<span class="method-name">to_hex_string</span><span
|
866
|
+
class="method-args">(literal: true, prefix: '\x')</span>
|
867
|
+
|
868
|
+
<span class="method-click-advice">click to toggle source</span>
|
869
|
+
|
870
|
+
</div>
|
871
|
+
|
872
|
+
|
873
|
+
<div class="method-description">
|
874
|
+
|
875
|
+
<p>Returns a duplicate of the string unpacked in x literal form. Useful when
|
876
|
+
dynamically generating shellcode.</p>
|
877
|
+
|
878
|
+
|
879
|
+
|
880
|
+
|
881
|
+
<div class="method-source-code" id="to_hex_string-source">
|
882
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 250</span>
|
883
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_hex_string</span>(<span class="ruby-identifier">literal</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">prefix</span><span class="ruby-operator">:</span> <span class="ruby-string">'\x'</span>)
|
884
|
+
|
885
|
+
<span class="ruby-identifier">out</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">bin_to_array</span>()
|
886
|
+
|
887
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">literal</span>
|
888
|
+
<span class="ruby-identifier">out</span> = <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">prefix</span>)
|
889
|
+
<span class="ruby-keyword">else</span>
|
890
|
+
<span class="ruby-identifier">out</span> = <span class="ruby-identifier">out</span>.<span class="ruby-identifier">map!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">e</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">"H2"</span>) }.<span class="ruby-identifier">join</span>(<span class="ruby-string">''</span>)
|
891
|
+
<span class="ruby-keyword">end</span>
|
892
|
+
|
893
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">out</span>
|
894
|
+
|
895
|
+
<span class="ruby-keyword">end</span></pre>
|
896
|
+
</div>
|
897
|
+
|
898
|
+
</div>
|
899
|
+
|
900
|
+
|
901
|
+
|
902
|
+
|
903
|
+
</div>
|
904
|
+
|
905
|
+
|
906
|
+
<div id="method-i-to_instance_variable_name" class="method-detail ">
|
907
|
+
|
908
|
+
<div class="method-heading">
|
909
|
+
<span class="method-name">to_instance_variable_name</span><span
|
910
|
+
class="method-args">(snake_case=true, symbolize=true)</span>
|
911
|
+
|
912
|
+
<span class="method-click-advice">click to toggle source</span>
|
913
|
+
|
914
|
+
</div>
|
915
|
+
|
916
|
+
|
917
|
+
<div class="method-description">
|
918
|
+
|
919
|
+
<p>Return a duplicate of the string prefixed with @ converted to a symbol.</p>
|
920
|
+
|
921
|
+
|
922
|
+
|
923
|
+
|
924
|
+
<div class="method-source-code" id="to_instance_variable_name-source">
|
925
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 198</span>
|
926
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_instance_variable_name</span>(<span class="ruby-identifier">snake_case</span>=<span class="ruby-keyword">true</span>, <span class="ruby-identifier">symbolize</span>=<span class="ruby-keyword">true</span>)
|
927
|
+
|
928
|
+
<span class="ruby-identifier">name</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">to_s</span>
|
929
|
+
<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_underscore</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">snake_case</span>
|
930
|
+
<span class="ruby-identifier">name</span> = (<span class="ruby-string">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">name</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp">/^@/</span>
|
931
|
+
<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">symbolize</span>
|
932
|
+
|
933
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">name</span>
|
934
|
+
|
935
|
+
<span class="ruby-keyword">end</span></pre>
|
936
|
+
</div>
|
937
|
+
|
938
|
+
</div>
|
939
|
+
|
940
|
+
|
941
|
+
|
942
|
+
|
943
|
+
</div>
|
944
|
+
|
945
|
+
|
946
|
+
<div id="method-i-to_ivar_name" class="method-detail ">
|
947
|
+
|
948
|
+
<div class="method-heading">
|
949
|
+
<span class="method-name">to_ivar_name</span><span
|
950
|
+
class="method-args">(snake_case=true, symbolize=true)</span>
|
951
|
+
|
952
|
+
<span class="method-click-advice">click to toggle source</span>
|
953
|
+
|
954
|
+
</div>
|
955
|
+
|
956
|
+
|
957
|
+
<div class="method-description">
|
958
|
+
|
959
|
+
<p>Convenience method for <a
|
960
|
+
href="String.html#method-i-to_instance_variable_name">#to_instance_variable_name</a>()</p>
|
961
|
+
|
962
|
+
|
963
|
+
|
964
|
+
|
965
|
+
<div class="method-source-code" id="to_ivar_name-source">
|
966
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 210</span>
|
967
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_ivar_name</span>(<span class="ruby-identifier">snake_case</span>=<span class="ruby-keyword">true</span>, <span class="ruby-identifier">symbolize</span>=<span class="ruby-keyword">true</span>)
|
968
|
+
|
969
|
+
<span class="ruby-identifier">to_instance_variable_name</span>(<span class="ruby-identifier">snake_case</span>, <span class="ruby-identifier">symbolize</span>)
|
970
|
+
|
971
|
+
<span class="ruby-keyword">end</span></pre>
|
972
|
+
</div>
|
973
|
+
|
974
|
+
</div>
|
975
|
+
|
976
|
+
|
977
|
+
|
978
|
+
|
979
|
+
</div>
|
980
|
+
|
981
|
+
|
982
|
+
<div id="method-i-to_underscore" class="method-detail ">
|
983
|
+
|
984
|
+
<div class="method-heading">
|
985
|
+
<span class="method-name">to_underscore</span><span
|
986
|
+
class="method-args">()</span>
|
987
|
+
|
988
|
+
<span class="method-click-advice">click to toggle source</span>
|
989
|
+
|
990
|
+
</div>
|
991
|
+
|
992
|
+
|
993
|
+
<div class="method-description">
|
994
|
+
|
995
|
+
<dl class="rdoc-list note-list"><dt>Return the string will all
|
996
|
+
<dd>
|
997
|
+
<p>and capital letters converted to</p>
|
998
|
+
</dd></dl>
|
999
|
+
|
1000
|
+
<p>underscores.</p>
|
1001
|
+
|
1002
|
+
|
1003
|
+
|
1004
|
+
|
1005
|
+
<div class="method-source-code" id="to_underscore-source">
|
1006
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 179</span>
|
1007
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_underscore</span>()
|
1008
|
+
|
1009
|
+
<span class="ruby-comment"># sauce: https://stackoverflow.com/questions/1509915/converting-camel-case-to-underscore-case-in-ruby</span>
|
1010
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/::/</span>, <span class="ruby-string">'/'</span>)
|
1011
|
+
.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/([A-Z]+)([A-Z][a-z])/</span>,<span class="ruby-string">'\1_\2'</span>)
|
1012
|
+
.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/([a-z\d])([A-Z])/</span>,<span class="ruby-string">'\1_\2'</span>)
|
1013
|
+
.<span class="ruby-identifier">tr</span>(<span class="ruby-string">"-"</span>, <span class="ruby-string">"_"</span>)
|
1014
|
+
.<span class="ruby-identifier">downcase</span>
|
1015
|
+
|
1016
|
+
<span class="ruby-keyword">end</span></pre>
|
1017
|
+
</div>
|
1018
|
+
|
1019
|
+
</div>
|
1020
|
+
|
1021
|
+
|
1022
|
+
|
1023
|
+
|
1024
|
+
</div>
|
1025
|
+
|
1026
|
+
|
1027
|
+
<div id="method-i-to_url_encoded" class="method-detail ">
|
1028
|
+
|
1029
|
+
<div class="method-heading">
|
1030
|
+
<span class="method-name">to_url_encoded</span><span
|
1031
|
+
class="method-args">()</span>
|
1032
|
+
|
1033
|
+
<span class="method-click-advice">click to toggle source</span>
|
1034
|
+
|
1035
|
+
</div>
|
1036
|
+
|
1037
|
+
|
1038
|
+
<div class="method-description">
|
1039
|
+
|
1040
|
+
<p>Poor mans URL encoding: each character is unpacked to it's hex form and
|
1041
|
+
then suffixed with %.</p>
|
1042
|
+
|
1043
|
+
|
1044
|
+
|
1045
|
+
|
1046
|
+
<div class="method-source-code" id="to_url_encoded-source">
|
1047
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 305</span>
|
1048
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_url_encoded</span>()
|
1049
|
+
<span class="ruby-keyword">return</span> <span class="ruby-string">'%'</span> <span class="ruby-operator">+</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">bin_to_array</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">'%'</span>)
|
1050
|
+
<span class="ruby-keyword">end</span></pre>
|
1051
|
+
</div>
|
1052
|
+
|
1053
|
+
</div>
|
1054
|
+
|
1055
|
+
|
1056
|
+
|
1057
|
+
|
1058
|
+
</div>
|
1059
|
+
|
1060
|
+
|
1061
|
+
<div id="method-i-to_utf16" class="method-detail ">
|
1062
|
+
|
1063
|
+
<div class="method-heading">
|
1064
|
+
<span class="method-name">to_utf16</span><span
|
1065
|
+
class="method-args">(endianness='le')</span>
|
1066
|
+
|
1067
|
+
<span class="method-click-advice">click to toggle source</span>
|
1068
|
+
|
1069
|
+
</div>
|
1070
|
+
|
1071
|
+
|
1072
|
+
<div class="method-description">
|
1073
|
+
|
1074
|
+
<p>Return a duplicate string in literal from where each char is converted to
|
1075
|
+
utf16 literal format. Endianness can be altered via the <em>endianness</em>
|
1076
|
+
argument.</p>
|
1077
|
+
|
1078
|
+
|
1079
|
+
|
1080
|
+
|
1081
|
+
<div class="method-source-code" id="to_utf16-source">
|
1082
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 275</span>
|
1083
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_utf16</span>(<span class="ruby-identifier">endianness</span>=<span class="ruby-string">'le'</span>)
|
1084
|
+
|
1085
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">endianness</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp">/^(le|be)$/i</span>
|
1086
|
+
|
1087
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-string">"Error: valid arguments to endianness parameter: le or be"</span>
|
1088
|
+
|
1089
|
+
<span class="ruby-keyword">end</span>
|
1090
|
+
|
1091
|
+
<span class="ruby-identifier">pad</span> = <span class="ruby-string">'00'</span>
|
1092
|
+
<span class="ruby-identifier">prefix</span> = <span class="ruby-string">'\u'</span>
|
1093
|
+
|
1094
|
+
<span class="ruby-comment"># get a copy of the string in hex form</span>
|
1095
|
+
<span class="ruby-comment"># and pad each byte</span>
|
1096
|
+
<span class="ruby-identifier">buff</span> = <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">bin_to_array</span>
|
1097
|
+
.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
|
1098
|
+
|
1099
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">endianness</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^le$/i</span>
|
1100
|
+
(<span class="ruby-identifier">b</span> = <span class="ruby-identifier">b</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">pad</span>)
|
1101
|
+
<span class="ruby-keyword">else</span>
|
1102
|
+
(<span class="ruby-identifier">b</span> = <span class="ruby-identifier">pad</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">b</span>)
|
1103
|
+
<span class="ruby-keyword">end</span>
|
1104
|
+
|
1105
|
+
<span class="ruby-keyword">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">prefix</span>)
|
1106
|
+
|
1107
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">buff</span>
|
1108
|
+
|
1109
|
+
<span class="ruby-keyword">end</span></pre>
|
1110
|
+
</div>
|
1111
|
+
|
1112
|
+
</div>
|
1113
|
+
|
1114
|
+
|
1115
|
+
|
1116
|
+
|
1117
|
+
</div>
|
1118
|
+
|
1119
|
+
|
1120
|
+
<div id="method-i-to_utf8" class="method-detail ">
|
1121
|
+
|
1122
|
+
<div class="method-heading">
|
1123
|
+
<span class="method-name">to_utf8</span><span
|
1124
|
+
class="method-args">(prefix='\u')</span>
|
1125
|
+
|
1126
|
+
<span class="method-click-advice">click to toggle source</span>
|
1127
|
+
|
1128
|
+
</div>
|
1129
|
+
|
1130
|
+
|
1131
|
+
<div class="method-description">
|
1132
|
+
|
1133
|
+
<p>Return a duplicate string in literal form with each character suffixed with
|
1134
|
+
u</p>
|
1135
|
+
|
1136
|
+
|
1137
|
+
|
1138
|
+
|
1139
|
+
<div class="method-source-code" id="to_utf8-source">
|
1140
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 266</span>
|
1141
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_utf8</span>(<span class="ruby-identifier">prefix</span>=<span class="ruby-string">'\u'</span>)
|
1142
|
+
|
1143
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">bin_to_array</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">prefix</span>)
|
1144
|
+
|
1145
|
+
<span class="ruby-keyword">end</span></pre>
|
1146
|
+
</div>
|
1147
|
+
|
1148
|
+
</div>
|
1149
|
+
|
1150
|
+
|
1151
|
+
|
1152
|
+
|
1153
|
+
</div>
|
1154
|
+
|
1155
|
+
|
1156
|
+
<div id="method-i-utf_pad" class="method-detail ">
|
1157
|
+
|
1158
|
+
<div class="method-heading">
|
1159
|
+
<span class="method-name">utf_pad</span><span
|
1160
|
+
class="method-args">()</span>
|
1161
|
+
|
1162
|
+
<span class="method-click-advice">click to toggle source</span>
|
1163
|
+
|
1164
|
+
</div>
|
1165
|
+
|
1166
|
+
|
1167
|
+
<div class="method-description">
|
1168
|
+
|
1169
|
+
<p>Pads each binary component in the string with x00. A duplicate of the
|
1170
|
+
string is modified and returned.</p>
|
1171
|
+
|
1172
|
+
|
1173
|
+
|
1174
|
+
|
1175
|
+
<div class="method-source-code" id="utf_pad-source">
|
1176
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 218</span>
|
1177
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">utf_pad</span>()
|
1178
|
+
|
1179
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'H2'</span><span class="ruby-operator">*</span><span class="ruby-keyword">self</span>.<span class="ruby-identifier">bytesize</span>)
|
1180
|
+
.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span> = <span class="ruby-string">"\x00"</span> <span class="ruby-operator">+</span> [<span class="ruby-identifier">l</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'H2'</span>)}
|
1181
|
+
.<span class="ruby-identifier">join</span>(<span class="ruby-string">''</span>)
|
1182
|
+
|
1183
|
+
<span class="ruby-keyword">end</span></pre>
|
1184
|
+
</div>
|
1185
|
+
|
1186
|
+
</div>
|
1187
|
+
|
1188
|
+
|
1189
|
+
|
1190
|
+
|
1191
|
+
</div>
|
1192
|
+
|
1193
|
+
|
1194
|
+
<div id="method-i-wrap" class="method-detail ">
|
1195
|
+
|
1196
|
+
<div class="method-heading">
|
1197
|
+
<span class="method-name">wrap</span><span
|
1198
|
+
class="method-args">(char)</span>
|
1199
|
+
|
1200
|
+
<span class="method-click-advice">click to toggle source</span>
|
1201
|
+
|
1202
|
+
</div>
|
1203
|
+
|
1204
|
+
|
1205
|
+
<div class="method-description">
|
1206
|
+
|
1207
|
+
<p>Return a duplicate of the string with a character on each side.</p>
|
1208
|
+
|
1209
|
+
|
1210
|
+
|
1211
|
+
|
1212
|
+
<div class="method-source-code" id="wrap-source">
|
1213
|
+
<pre><span class="ruby-comment"># File lib/aastdlib/string.rb, line 156</span>
|
1214
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wrap</span>(<span class="ruby-identifier">char</span>)
|
1215
|
+
|
1216
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">char</span><span class="ruby-operator">+</span><span class="ruby-keyword">self</span><span class="ruby-operator">+</span><span class="ruby-identifier">char</span>
|
1217
|
+
|
1218
|
+
<span class="ruby-keyword">end</span></pre>
|
1219
|
+
</div>
|
1220
|
+
|
1221
|
+
</div>
|
1222
|
+
|
1223
|
+
|
1224
|
+
|
1225
|
+
|
1226
|
+
</div>
|
1227
|
+
|
1228
|
+
|
1229
|
+
</section>
|
1230
|
+
|
1231
|
+
</section>
|
1232
|
+
</main>
|
1233
|
+
|
1234
|
+
|
1235
|
+
<footer id="validator-badges" role="contentinfo">
|
1236
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
1237
|
+
<p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
|
1238
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
1239
|
+
</footer>
|
1240
|
+
|