lite-ruby 1.0.0

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.
@@ -0,0 +1,322 @@
1
+ # Object
2
+
3
+ `array?`
4
+ ------
5
+ Returns if an object is an array.
6
+
7
+ ```ruby
8
+ [].array? #=> true
9
+ 'test'.array? #=> false
10
+ ```
11
+
12
+ `blank?`
13
+ ------
14
+ Returns if an object is empty or nil.
15
+
16
+ ```ruby
17
+ ''.blank? #=> true
18
+ 'test'.blank? #=> false
19
+ ```
20
+
21
+ `bool?`
22
+ ------
23
+ Returns if an object is a `true` or `false` class.
24
+
25
+ ```ruby
26
+ true.bool? #=> true
27
+ 1.bool? #=> false
28
+ 'false'.bool? #=> false
29
+ ```
30
+
31
+ `boolean?`
32
+ ------
33
+ Returns if an object is an boolean.
34
+
35
+ ```ruby
36
+ true.boolean? #=> true
37
+ 1.boolean? #=> true
38
+ 'false'.boolean? #=> true
39
+ 'foo'.boolean? #=> false
40
+ ```
41
+
42
+ `date?`
43
+ ------
44
+ Returns if an object is a `date`.
45
+
46
+ ```ruby
47
+ Date.today.date? #=> true
48
+ 'foo'.date? #=> false
49
+ ```
50
+
51
+ `false?`
52
+ ------
53
+ Returns if an object is `false`.
54
+
55
+ ```ruby
56
+ false.false? #=> true
57
+ true.false? #=> false
58
+ ```
59
+
60
+ `falsey?`
61
+ ------
62
+ Returns if an object is `false`, `nil`, or `0`.
63
+
64
+ ```ruby
65
+ false.falsey? #=> true
66
+ true.falsey? #=> false
67
+ 0.falsey? #=> true
68
+ ```
69
+
70
+ `float?`
71
+ ------
72
+ Returns if an object is a `float`.
73
+
74
+ ```ruby
75
+ 1.0.float? #=> true
76
+ 1.float? #=> false
77
+ ```
78
+
79
+ `hash?`
80
+ ------
81
+ Returns if an object is a `hash`.
82
+
83
+ ```ruby
84
+ {}.hash? #=> true
85
+ [].hash? #=> false
86
+ ```
87
+
88
+ `integer?`
89
+ ------
90
+ Returns if an object is a `integer`.
91
+
92
+ ```ruby
93
+ 1.integer? #=> true
94
+ 1.0.integer? #=> false
95
+ ```
96
+
97
+ `numeric?`
98
+ ------
99
+ Returns if an object is `numeric`.
100
+
101
+ ```ruby
102
+ 1.numeric? #=> true
103
+ 1.0.numeric? #=> true
104
+ '1.0'.numeric? #=> false
105
+ ```
106
+
107
+ `numeral?`
108
+ ------
109
+ Returns if an object's string value is `numeric`.
110
+
111
+ ```ruby
112
+ '-32.50'.numeral? #=> true
113
+ '$2.55'.numeral? #=> false
114
+ ```
115
+
116
+ `open_struct?`
117
+ ------
118
+ Returns if an object is a `open_struct`.
119
+
120
+ ```ruby
121
+ OpenStruct.new.open_struct? #=> true
122
+ 1.open_struct? #=> false
123
+ ```
124
+
125
+ `palindrome?`
126
+ ------
127
+ Returns if an object is equal when reversed.
128
+
129
+ ```ruby
130
+ 'racecar'.palindrome? #=> true
131
+ 'example'.palindrome? #=> false
132
+ 12321.palindrome? #=> true
133
+ 12345.palindrome? #=> false
134
+ ```
135
+
136
+ `present?`
137
+ ------
138
+ Returns if an object is not empty or `nil`.
139
+
140
+ ```ruby
141
+ 'test'.present? #=> true
142
+ ''.present? #=> false
143
+ ```
144
+
145
+ `range?`
146
+ ------
147
+ Returns if an object is a `range`.
148
+
149
+ ```ruby
150
+ (1..2).range? #=> true
151
+ 1.range? #=> false
152
+ ```
153
+
154
+ `safe_call`
155
+ ------
156
+ Executes the caller to an object and rescues with self.
157
+
158
+ ```ruby
159
+ callr = ->(x) { 3 * x }
160
+
161
+ 3.safe_call #=> 3
162
+ callr.safe_call(3) #=> 9
163
+ callr.safe_call #=> raises ArgumentError: wrong number of arguments
164
+ ```
165
+
166
+ `safe_send`
167
+ ------
168
+ Executes the object method and rescues with self.
169
+
170
+ ```ruby
171
+ 3.safe_send(:fake) #=> 3
172
+ 3.safe_send(:to_s) #=> '3'
173
+ 3.safe_send(:+, 2) #=> 5
174
+ ```
175
+
176
+ `safe_try`
177
+ ------
178
+ Similar to the try method but returns self instead of `nil`.
179
+
180
+ ```ruby
181
+ 'example'.safe_try(:upcase) #=> 'EXAMPLE'
182
+ 'example'.safe_try(:fake_method) #=> 'example'
183
+ ```
184
+
185
+ `salvage`
186
+ ------
187
+ Returns a placeholder if object is blank?.
188
+
189
+ ```ruby
190
+ ' '.salvage #=> '---'
191
+ nil.salvage('bar') #=> 'bar'
192
+ 123.salvage #=> 123
193
+ ```
194
+
195
+ `send_chain`
196
+ ------
197
+ Chains multiple callers to an object.
198
+
199
+ ```ruby
200
+ 3.send_chain(:factorial) #=> 6
201
+ 3.send_chain([:add, 4]) #=> 7
202
+ 3.send_chain(:factorial, [:add, 4]) #=> 10
203
+ ```
204
+
205
+ `send_chain_if`
206
+ ------
207
+ Chains multiple callers to an object if it responds to the result.
208
+
209
+ ```ruby
210
+ 3.send_chain_if(:test) #=> 3
211
+ 3.send_chain_if(:factorial) #=> 6
212
+ 3.send_chain_if([:add, 4]) #=> 7
213
+ 3.send_chain_if(:factorial, [:add, 4], :test) #=> 10
214
+ ```
215
+
216
+ `send_if`
217
+ ------
218
+ Sends a caller to an object if it responds to it.
219
+
220
+ ```ruby
221
+ 3.send_if(:test) #=> 3
222
+ 3.send_if(:factorial) #=> 6
223
+ 3.send_if(:add, 4) #=> 7
224
+ ```
225
+
226
+ `set?`
227
+ ------
228
+ Returns if an object is a `set`.
229
+
230
+ ```ruby
231
+ Set[1, 2].set? #=> true
232
+ 1.set? #=> false
233
+ ```
234
+
235
+ `string?`
236
+ ------
237
+ Returns if an object is a `string`.
238
+
239
+ ```ruby
240
+ 'foo'.string? #=> true
241
+ 1.string? #=> false
242
+ ```
243
+
244
+ `struct?`
245
+ ------
246
+ Returns if an object is a `struct`.
247
+
248
+ ```ruby
249
+ person = Struct.new(:name)
250
+
251
+ person.new('john').struct? #=> true
252
+ 1.set? #=> false
253
+ ```
254
+
255
+ `symbol?`
256
+ ------
257
+ Returns if an object is a `symbol`.
258
+
259
+ ```ruby
260
+ :foo.time? #=> true
261
+ 'foo'.time? #=> false
262
+ ```
263
+
264
+ `time?`
265
+ ------
266
+ Returns if an object is a `time`.
267
+
268
+ ```ruby
269
+ Time.now.time? #=> true
270
+ 'foo'.time? #=> false
271
+ ```
272
+
273
+ `true?`
274
+ ------
275
+ Returns if an object is `true`.
276
+
277
+ ```ruby
278
+ true.true? #=> true
279
+ false.true? #=> false
280
+ ```
281
+
282
+ `truthy?`
283
+ ------
284
+ Returns if an object is `true` or `1`.
285
+
286
+ ```ruby
287
+ true.truthy? #=> true
288
+ false.truthy? #=> false
289
+ 1.truthy? #=> true
290
+ ```
291
+
292
+ `try(!)`
293
+ ------
294
+ Invokes the public method whose name goes as first argument just like public_send does, except that
295
+ if the receiver does not respond to it the call returns nil rather than raising an exception.
296
+
297
+ ```ruby
298
+ 'example'.try(:upcase) #=> 'EXAMPLE'
299
+ 'example'.try(:fake_method) #=> nil
300
+ ```
301
+
302
+ `try_call`
303
+ ------
304
+ Executes the caller to an object and rescues with `nil`.
305
+
306
+ ```ruby
307
+ callr = ->(x) { 3 * x }
308
+
309
+ 3.try_call #=> nil
310
+ callr.try_call(3) #=> 9
311
+ callr.try_call #=> raises ArgumentError: wrong number of arguments
312
+ ```
313
+
314
+ `try_send`
315
+ ------
316
+ Executes the object method and rescues with `nil`.
317
+
318
+ ```ruby
319
+ 3.try_send(:fake) #=> 3
320
+ 3.try_send(:to_s) #=> '3'
321
+ 3.try_send(:+, 2) #=> 5
322
+ ```
@@ -0,0 +1,55 @@
1
+ # Range
2
+
3
+ `combine`
4
+ ------
5
+ Returns two concatenated ranges.
6
+
7
+ ```ruby
8
+ (1..3).combine(7..9) #=> [1, 2, 3, 7, 8, 9]
9
+ ```
10
+
11
+ `include_with_range?`
12
+ ------
13
+ Returns if a range is within another open ended range.
14
+
15
+ ```ruby
16
+ (1..5).include_with_range?(1) # => true
17
+ (1..5).include_with_range?(2..3) # => true
18
+ (1..5).include_with_range?(7) # => false
19
+ (1..5).include_with_range?(2..6) # => false
20
+ ```
21
+
22
+ `overlaps?`
23
+ ------
24
+ Returns if two ranges overlap each other.
25
+
26
+ ```ruby
27
+ (1..5).overlaps?(4..6) # => true
28
+ (1..5).overlaps?(7..9) # => false
29
+ ```
30
+
31
+ `sample`
32
+ ------
33
+ Returns a random element from the range.
34
+
35
+ ```ruby
36
+ (1..5).sample # => 4
37
+ ```
38
+
39
+ `shuffle(!)`
40
+ ------
41
+ Returns a copy of a shuffled range of elements.
42
+
43
+ ```ruby
44
+ (1..5).shuffle # => [2, 5, 1, 4, 3]
45
+ (1..5).shuffle! # => [3, 4, 5, 2, 1]
46
+ ```
47
+
48
+ `within?`
49
+ ------
50
+ Returns if one range is within another.
51
+
52
+ ```ruby
53
+ (1..5).within?(2..4) # => true
54
+ (1..5).within?(4..6) # => false
55
+ ```
@@ -0,0 +1,463 @@
1
+ # String
2
+
3
+ `any?`
4
+ ------
5
+ Returns if a string includes a set of string(s).
6
+
7
+ ```ruby
8
+ 'example string'.any?('foo') #=> false
9
+ 'example string'.any?('foo', 'string') #=> true
10
+ ```
11
+
12
+ `at`
13
+ ------
14
+ Returns the characters at index position, matching string, or regex.
15
+
16
+ ```ruby
17
+ 'example_string'.at(0) #=> 'e'
18
+ 'example_string'.at(-2) #=> 'n'
19
+ 'example_string'.at(1..3) #=> 'xam'
20
+ 'example_string'.at('e_s') #=> 'e_s'
21
+ 'example_string'.at(/ple/) #=> 'ple'
22
+ 'example_string'.at(99) #=> nil
23
+ ```
24
+
25
+ `camelize(!)` aka `camelcase(!)`
26
+ ------
27
+ Transforms a string to camelcase.
28
+
29
+ ```ruby
30
+ 'example_string'.camelize #=> 'ExampleString'
31
+ 'example_String'.camecase #=> 'ExampleString'
32
+ 'example_string'.camelize(:lower) #=> 'exampleString'
33
+ 'example_String'.camecase(:lower) #=> 'exampleString'
34
+ ```
35
+
36
+ `classify(!)`
37
+ ------
38
+ Transforms a string to a class name like Rails does for table names to models.
39
+
40
+ ```ruby
41
+ 'example_string'.classify #=> 'ExampleString'
42
+ 'example_string/test'.classify #=> 'ExampleString::Test'
43
+ 'example_string.test'.classify #=> 'Test'
44
+ ```
45
+
46
+ `constantize`
47
+ ------
48
+ Converts a string in an object.
49
+
50
+ ```ruby
51
+ 'Example::String'.constantize #=> Class Object
52
+ ```
53
+
54
+ `dasherize(!)`
55
+ ------
56
+ Replaces underscores with dashes in the string.
57
+
58
+ ```ruby
59
+ 'example_string'.dasherize #=> 'example-string'
60
+ ```
61
+
62
+ `deconstantize(!)`
63
+ ------
64
+ Removes the rightmost segment from the constant expression in the string.
65
+
66
+ ```ruby
67
+ 'Example::String'.deconstantize # => 'Example'
68
+ '::Example::String'.deconstantize # => '::Example'
69
+ 'String'.deconstantize # => ''
70
+ '::String'.deconstantize # => ''
71
+ ''.deconstantize # => ''
72
+ ```
73
+
74
+ `demodulize(!)`
75
+ ------
76
+ Removes the module part from the expression in the string.
77
+
78
+ ```ruby
79
+ 'Example::String'.demodulize #=> 'String'
80
+ 'String'.demodulize #=> 'String'
81
+ ```
82
+
83
+ `domain`
84
+ ------
85
+ Extracts the domain name from a URL.
86
+
87
+ ```ruby
88
+ 'http://www.example.com/fake-page'.domain #=> 'www.example.com'
89
+ 'example string'.domain #=> 'example string'
90
+ ```
91
+
92
+ `downcase?`
93
+ ------
94
+ Returns true if all characters are lowercase.
95
+
96
+ ```ruby
97
+ 'example'.downcase? #=> true
98
+ 'Example'.downcase? #=> false
99
+ 'EXAMPLE'.downcase? #=> false
100
+ ```
101
+
102
+ `ellipsize`
103
+ ------
104
+ Truncate a string in the middle.
105
+
106
+ Option | Type | Default
107
+ --- | --- | ---
108
+ offset | integer | 4
109
+ separator | string | ' '
110
+
111
+ ```ruby
112
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.ellipsize(30) #=> '0123...WXYZ'
113
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.ellipsize(50) #=> '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
114
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.ellipsize(30, offset: 2) #=> '01...YZ'
115
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.ellipsize(30, separator: '+++') #=> '0123+++WXYZ'
116
+ ```
117
+
118
+ `first`
119
+ ------
120
+ Returns the first character. If a limit is supplied, Returns a substring from the beginning of the
121
+ string until it reaches the limit value. If the given limit is greater than or equal to the string
122
+ length, Returns a copy of self.
123
+
124
+ ```ruby
125
+ 'example'.first #=> 'e'
126
+ 'example'.first(0) #=> ''
127
+ 'example'.first(3) #=> 'exa'
128
+ ```
129
+
130
+ `format`
131
+ ------
132
+ Returns an interpolated string that allows for options.
133
+
134
+ ```ruby
135
+ 'example %s'.format('string') #=> 'example string'
136
+ 'test %{one} %{two}'.format(one: 'example', two: 'string') #=> 'test example string'
137
+ '%d + %d'.format([1, 2]) #=> '1 + 2'
138
+ ```
139
+
140
+ `from`
141
+ ------
142
+ Returns a substring from the given position to the end of the string. If the position is negative, it is counted from the end of the string.
143
+
144
+ ```ruby
145
+ 'example'.from(0) #=> 'example'
146
+ 'example'.from(3) #=> 'mple'
147
+ ```
148
+
149
+ `headerize(!)`
150
+ ------
151
+ Capitalizes each word.
152
+
153
+ ```ruby
154
+ ' example test-sample '.headerize #=> 'Example Test-sample'
155
+ ```
156
+
157
+ `humanize(!)`
158
+ ------
159
+ Transforms a string to a human readable string.
160
+
161
+ Option | Type | Default
162
+ --- | --- | ---
163
+ capitalize | boolean | true
164
+
165
+ ```ruby
166
+ 'ExampleString'.humanize #=> 'Example string'
167
+ '_example_string_id'.humanize #=> 'Example string'
168
+ 'example_string'.humanize(capitalize: false) #=> 'example string'
169
+ ```
170
+
171
+ `indent(!)`
172
+ ------
173
+ Indents the lines in the receiver.
174
+
175
+ ```ruby
176
+ 'example'.indent(2) #=> ' example'
177
+ 'example'.indent(2, '\t') #=> '\t\texample'
178
+ ```
179
+
180
+ `index_all`
181
+ ------
182
+ Returns the index values of matching patterns.
183
+
184
+ ```ruby
185
+ '012324507654301243'.index_all(0) #=> [0,7,13]
186
+ 'the apple is the best fruit in the world'.index_all('the') #=> [0,13,31]
187
+ 'asdfasdfasdf'.index_all(/sd/) #=> [1,5,9]
188
+ ```
189
+
190
+ `labelize(!)`
191
+ ------
192
+ Transforms a string to a human readable string.
193
+
194
+ ```ruby
195
+ 'example string'.labelize #=> 'Example string'
196
+ '_example_string_id'.labelize #=> 'Example string ID'
197
+ 'ExampleString'.labelize #=> 'Example string'
198
+ ```
199
+
200
+ `last`
201
+ ------
202
+ Returns the last character of the string. If a limit is supplied, Returns a substring from the end
203
+ of the string until it reaches the limit value (counting backwards). If the given limit is greater
204
+ than or equal to the string length, Returns a copy of self.
205
+
206
+ ```ruby
207
+ 'example'.last #=> 'e'
208
+ 'example'.last(0) #=> ''
209
+ 'example'.first(3) #=> 'ple'
210
+ ```
211
+
212
+ `mixcase?`
213
+ ------
214
+ Returns true if characters are mixedcase.
215
+
216
+ ```ruby
217
+ 'Example'.mixedcase? #=> true
218
+ 'EXAMPLE'.mixedcase? #=> false
219
+ 'example'.mixedcase? #=> false
220
+ ```
221
+
222
+ `ordinal`
223
+ ------
224
+ Returns the suffix that should be added to a number to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
225
+
226
+ ```ruby
227
+ '1'.ordinal #=> 'th'
228
+ '2'.ordinal #=> 'nd'
229
+ '3'.ordinal #=> 'rd'
230
+ '11'.ordinal #=> 'th'
231
+ ```
232
+
233
+ `ordinalize`
234
+ ------
235
+ Transforms a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
236
+
237
+ ```ruby
238
+ '1'.ordinalize #=> '1th'
239
+ '2'.ordinalize #=> '2nd'
240
+ '3'.ordinalize #=> '3rd'
241
+ '11'.ordinalize #=> '4th'
242
+ ```
243
+
244
+ `parameterize(!)`
245
+ ------
246
+ Makes a string suitable for a dashed url parameter string.
247
+
248
+ ```ruby
249
+ 'example_string'.parameterize #=> 'example-string'
250
+ 'example_string'.parameterize(separator: '?') #=> 'example?string'
251
+ ```
252
+
253
+ `pollute(!)`
254
+ ------
255
+ Pollutes the space between every letter in a string, so it will be exempt from any impending string searches.
256
+
257
+ ```ruby
258
+ 'test'.pollute #=> 't^--^--^e^--^--^s^--^--^t^--^--^'
259
+ 'test'.pollute('-') #=> 't-e-s-t-'
260
+ ```
261
+
262
+ `pop`
263
+ ------
264
+ Returns the last character of a string.
265
+
266
+ ```ruby
267
+ 'test'.pop #=> 't'
268
+ ```
269
+
270
+ `push`
271
+ ------
272
+ Concats string to self.
273
+
274
+ ```ruby
275
+ 'test'.push('er') #=> 'tester'
276
+ ```
277
+
278
+ `remove(!)`
279
+ ------
280
+ Removes every instance of a string.
281
+
282
+ ```ruby
283
+ 'this thing that thing'.remove('thing') #=> 'this that '
284
+ 'this thing that thing'.remove(1..3) #=> 't thing that thing'
285
+ 'this thing that them'.remove('thing', 'them') #=> 'this that '
286
+ 'this thing that them'.remove('thing', 1..3) #=> 't that them'
287
+ ```
288
+
289
+ `remove_tags(!)`
290
+ ------
291
+ Removes HTML tags from a string.
292
+
293
+ ```ruby
294
+ 'example'.remove_tags #=> 'example'
295
+ '<a href='http://example.com'>click</a>'.remove_tags #=> 'click'
296
+ 'this is <b>bold</b> and <em>emphatic</em>'.remove_tags #=> 'this is bold and emphatic'
297
+ ```
298
+
299
+ `sample(!)`
300
+ ------
301
+ Removes a random value and returns that value.
302
+
303
+ ```ruby
304
+ 'this thing that'.sample #=> 'thing'
305
+ 'this thing that'.sample(' thing ') #=> 'that'
306
+ ```
307
+
308
+ `shift(!)`
309
+ ------
310
+ Removes the first instance of a string.
311
+
312
+ ```ruby
313
+ 'this thing that thing'.shift #=> 't'
314
+ 'this thing that thing'.shift('thing') #=> 'this that thing'
315
+ 'this thing that thing'.shift('this', 'that') #=> ' thing thing'
316
+ ```
317
+
318
+ `shuffle(!)`
319
+ ------
320
+ Randomizes the characters in a string.
321
+
322
+ ```ruby
323
+ 'ruby rules'.sample #=> 'e lybrsuur'
324
+ 'ruby rules'.sample! #=> 'rblse syru'
325
+ ```
326
+
327
+ `sift(!)`
328
+ ------
329
+ Returns a string matching any character in a pattern.
330
+
331
+ ```ruby
332
+ 'qa2ws3ed4rf5tg6yh7uj8ik9ol'.sift('0123456789') #=> '23456789'
333
+ 'qa2ws3ed4rf5tg6yh7uj8ik9ol'.sift(0..9) #=> '23456789'
334
+ 'qa2ws3ed4rf5tg6yh7uj8ik9ol'.sift([0,1,2,3,4,5,6,7,8,9]) #=> '23456789'
335
+ ```
336
+
337
+ `slugify(!)`
338
+ ------
339
+ Returns a permalink-style string, with odd characters removed.
340
+
341
+ ```ruby
342
+ 'example'.slugify #=> 'example'
343
+ 'example string'.slugify #=> 'example-string'
344
+ 'Example string @@@ test!'.slugify #=> 'example-string-test'
345
+ ```
346
+
347
+ `sort(!)`
348
+ ------
349
+ Returns a sorted a string.
350
+
351
+ ```ruby
352
+ 'adbec'.sort #=> 'abcde'
353
+ ```
354
+
355
+ `squish(!)`
356
+ ------
357
+ Returns the string, first removing all whitespace on both ends of the string, and then changing
358
+ remaining consecutive whitespace groups into one space each.
359
+
360
+ ```ruby
361
+ 'example string'.squish #=> 'example string'
362
+ 'example \n \t string'.squish #=> 'example string'
363
+ ' example string '.squish #=> 'example string'
364
+ ```
365
+
366
+ `titleize(!)`
367
+ ------
368
+ Capitalizes each word in a string.
369
+
370
+ ```ruby
371
+ 'example string'.titleize #=> 'Example String'
372
+ '_example_string_id'.titleize #=> 'Example String'
373
+ 'ExampleString'.titleize #=> 'Example String'
374
+ ```
375
+
376
+ `to`
377
+ ------
378
+ Returns a substring from the beginning of the string to the given position.
379
+ If the position is negative, it is counted from the end of the string.
380
+
381
+ ```ruby
382
+ 'example'.to(0) #=> 'example'
383
+ 'example'.to(3) #=> 'exam'
384
+ 'example'.to(-2) #=> 'exampl'
385
+ ```
386
+
387
+ `transliterize(!)`
388
+ ------
389
+ Returns a string with swapped special characters.
390
+
391
+ ```ruby
392
+ 'źåöé'.transliterize #=> 'zaoe'
393
+ ```
394
+
395
+ `truncate`
396
+ ------
397
+ Retuns a trimmed string after a given length if string is longer than length.
398
+
399
+ Option | Type | Default
400
+ --- | --- | ---
401
+ omission | string | '...'
402
+ separator | string | ' '
403
+
404
+ ```ruby
405
+ 'example string'.truncate(3) #=> '...'
406
+ 'example string'.truncate(6) #=> 'exa...'
407
+ 'example string'.truncate(12, separator: ' ') #=> 'example...'
408
+ 'example string'.truncate(13, omission: '... (more)') #=> 'exa... (more)'
409
+ 'example string'.truncate(15) #=> 'example string'
410
+ ```
411
+
412
+ `truncate_words`
413
+ ------
414
+ Truncates a given text after a given number of words.
415
+
416
+ Option | Type | Default
417
+ --- | --- | ---
418
+ omission | string | '...'
419
+ separator | string | ' '
420
+
421
+ ```ruby
422
+ 'example string test'.truncate_words(1) #=> 'example...'
423
+ 'Once<br>upon<br>a<br>time<br>in<br>a<br>world'.truncate_words(5, separator: '<br>') #=> 'Once<br>upon<br>a<br>time<br>in...'
424
+ 'And they found that many people were sleeping better.'.truncate_words(5, omission: '... (continued)') #=> 'And they found that many... (continued)'
425
+ ```
426
+
427
+ `underscore(!)`
428
+ ------
429
+ Transforms a string to snake case.
430
+
431
+ ```ruby
432
+ 'ExampleString'.underscore #=> 'example_string'
433
+ 'exampleString'.underscore #=> 'example_string'
434
+ 'ExampleString::Test'.underscore #=> 'example_string/test'
435
+ ```
436
+
437
+ `unpollute(!)`
438
+ ------
439
+ Removes the default or custom pollution character. Can also be used to remove an unwanted character.
440
+
441
+ ```ruby
442
+ 't^--^--^e^--^--^s^--^--^t^--^--^'.unpollute #=> 'test'
443
+ 't-e-s-t-'.unpollute #=> 'test'
444
+ ```
445
+
446
+ `upcase?`
447
+ ------
448
+ Returns true if all characters are uppercase.
449
+
450
+ ```ruby
451
+ 'EXAMPLE'.upcase? #=> true
452
+ 'example'.upcase? #=> false
453
+ 'Example'.upcase? #=> false
454
+ ```
455
+
456
+ `unshift(!)`
457
+ ------
458
+ Prepends string(s) to self.
459
+
460
+ ```ruby
461
+ 'this thing that thing'.unshift('thing ') #=> 'thing this thing that thing'
462
+ 'this thing that thing'.unshift('this ', 'that ') #=> 'this that this thing that thing'
463
+ ```