cmdlet 0.13.2 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +1 -1
- data/docs/usage.md +440 -0
- data/lib/cmdlet/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a39225b9e94474cf8a11bc5abd2f157cf41e2aaafc18ab39f8267948b7fd66c
|
4
|
+
data.tar.gz: 56f92f2bb8a13a8cd911d0df090383a25d9c68405307250960bc1c226395975d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: faa07d0d3b3a42739ffbb2c5ba3c3b7ad554e5eddcb55931f0ab6a07613536228f73122d82ce257b0abc7cbaeeda4187c40d98f7596d1cc4bf8db21cf0963e97
|
7
|
+
data.tar.gz: af16f9e693f99008abfcb8df1c6213ca73244b9b4227a5e8581439ac3ced181552c2b1fc423fc9bd6cf474644037fdb30bb065fd87f88a58ceb9c82f9db658e2
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## [0.13.2](https://github.com/klueless-io/cmdlet/compare/v0.13.1...v0.13.2) (2024-07-05)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* update cops ([ba1ecf8](https://github.com/klueless-io/cmdlet/commit/ba1ecf86b3bc80616ba4cc4443afd29f52bb3447))
|
7
|
+
|
1
8
|
## [0.13.1](https://github.com/klueless-io/cmdlet/compare/v0.13.0...v0.13.1) (2023-10-17)
|
2
9
|
|
3
10
|
|
data/README.md
CHANGED
data/docs/usage.md
ADDED
@@ -0,0 +1,440 @@
|
|
1
|
+
# Cmdlet Usage Guide
|
2
|
+
|
3
|
+
## Table of Contents
|
4
|
+
1. [Introduction](#introduction)
|
5
|
+
2. [Installation](#installation)
|
6
|
+
3. [Configuration](#configuration)
|
7
|
+
4. [Available Cmdlets](#available-cmdlets)
|
8
|
+
- [Array Operations](#array-operations)
|
9
|
+
- [Join](#join)
|
10
|
+
- [JoinPost](#joinpost)
|
11
|
+
- [JoinPre](#joinpre)
|
12
|
+
- [Case Transformations](#case-transformations)
|
13
|
+
- [Comparison Operations](#comparison-operations)
|
14
|
+
- [Inflection Operations](#inflection-operations)
|
15
|
+
- [Miscellaneous Operations](#miscellaneous-operations)
|
16
|
+
- [String Operations](#string-operations)
|
17
|
+
5. [Examples](#examples)
|
18
|
+
6. [Advanced Usage](#advanced-usage)
|
19
|
+
7. [Troubleshooting](#troubleshooting)
|
20
|
+
8. [Contributing](#contributing)
|
21
|
+
|
22
|
+
## Introduction
|
23
|
+
Briefly explain what Cmdlet is and its main purpose.
|
24
|
+
|
25
|
+
## Installation
|
26
|
+
Provide instructions on how to install the Cmdlet gem.
|
27
|
+
|
28
|
+
## Configuration
|
29
|
+
Explain how to configure Cmdlet using the `KConfig::Configuration` system.
|
30
|
+
|
31
|
+
Example:
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
KConfig.configure do |config|
|
35
|
+
config.cmdlet.padl_count = 20
|
36
|
+
config.cmdlet.padl_char = '-'
|
37
|
+
# Add other configuration options
|
38
|
+
end
|
39
|
+
```
|
40
|
+
|
41
|
+
## Available Cmdlets
|
42
|
+
|
43
|
+
### Array Operations
|
44
|
+
- Join
|
45
|
+
- JoinPost
|
46
|
+
- JoinPre
|
47
|
+
|
48
|
+
### Case Transformations
|
49
|
+
- BackSlash
|
50
|
+
- Camel
|
51
|
+
- Constant
|
52
|
+
- Dash
|
53
|
+
- Dot
|
54
|
+
- DoubleColon
|
55
|
+
- Human
|
56
|
+
- Lamel
|
57
|
+
- Lower
|
58
|
+
- Slash
|
59
|
+
- Snake
|
60
|
+
- Title
|
61
|
+
- Upper
|
62
|
+
|
63
|
+
### Comparison Operations
|
64
|
+
- And
|
65
|
+
- Default
|
66
|
+
- Eq
|
67
|
+
- Gt
|
68
|
+
- Gte
|
69
|
+
- Lt
|
70
|
+
- Lte
|
71
|
+
- Ne
|
72
|
+
- Or
|
73
|
+
|
74
|
+
### Inflection Operations
|
75
|
+
- Ordinal
|
76
|
+
- Ordinalize
|
77
|
+
- Pluralize
|
78
|
+
- PluralizeNumber
|
79
|
+
- PluralizeNumberWord
|
80
|
+
- Singularize
|
81
|
+
|
82
|
+
### Miscellaneous Operations
|
83
|
+
- FormatJson
|
84
|
+
- Safe
|
85
|
+
|
86
|
+
### String Operations
|
87
|
+
- Padl
|
88
|
+
- Padr
|
89
|
+
|
90
|
+
## Examples
|
91
|
+
Provide usage examples for each category of cmdlets.
|
92
|
+
|
93
|
+
Example for FormatJson:
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
require 'cmdlet'
|
97
|
+
|
98
|
+
data = { name: "John Doe", age: 30 }
|
99
|
+
formatted_json = Cmdlet::Misc::FormatJson.new.call(data)
|
100
|
+
puts formatted_json
|
101
|
+
```
|
102
|
+
|
103
|
+
## Cmdlet Examples
|
104
|
+
|
105
|
+
### Array Operations
|
106
|
+
|
107
|
+
#### Join
|
108
|
+
|
109
|
+
```ruby
|
110
|
+
join = Cmdlet::Array::Join.new
|
111
|
+
join.call([1, 2, 3]) # Output: "1,2,3"
|
112
|
+
join.call(%w[a b c], ' | ') # Output: "a | b | c"
|
113
|
+
```
|
114
|
+
|
115
|
+
#### JoinPost
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
join_post = Cmdlet::Array::JoinPost.new
|
119
|
+
join_post.call([1, 2, 3]) # Output: "1,2,3,"
|
120
|
+
join_post.call(%w[a b c], ' | ') # Output: "a | b | c | "
|
121
|
+
```
|
122
|
+
|
123
|
+
#### JoinPre
|
124
|
+
|
125
|
+
```ruby
|
126
|
+
join_pre = Cmdlet::Array::JoinPre.new
|
127
|
+
join_pre.call([1, 2, 3]) # Output: ",1,2,3"
|
128
|
+
join_pre.call(%w[a b c], ' | ') # Output: " | a | b | c"
|
129
|
+
```
|
130
|
+
|
131
|
+
### Case Transformations
|
132
|
+
|
133
|
+
#### BackSlash
|
134
|
+
|
135
|
+
```ruby
|
136
|
+
back_slash = Cmdlet::Case::BackSlash.new
|
137
|
+
back_slash.call('the quick brown fox') # Output: "the\quick\brown\fox"
|
138
|
+
back_slash.call('Twenty Five 66') # Output: "Twenty\Five66"
|
139
|
+
```
|
140
|
+
|
141
|
+
#### Camel
|
142
|
+
|
143
|
+
```ruby
|
144
|
+
camel = Cmdlet::Case::Camel.new
|
145
|
+
camel.call('the quick brown fox') # Output: "TheQuickBrownFox"
|
146
|
+
camel.call('twenty five 66') # Output: "TwentyFive66"
|
147
|
+
camel.call('p02_ef4') # Output: "P02Ef4"
|
148
|
+
```
|
149
|
+
|
150
|
+
#### Constant
|
151
|
+
|
152
|
+
```ruby
|
153
|
+
constant = Cmdlet::Case::Constant.new
|
154
|
+
constant.call('the quick brown fox') # Output: "THE_QUICK_BROWN_FOX"
|
155
|
+
constant.call('twenty five66') # Output: "TWENTY_FIVE66"
|
156
|
+
```
|
157
|
+
|
158
|
+
#### Dash
|
159
|
+
|
160
|
+
```ruby
|
161
|
+
dash = Cmdlet::Case::Dash.new
|
162
|
+
dash.call('The Quick Brown Fox') # Output: "the-quick-brown-fox"
|
163
|
+
dash.call('Twenty Five66') # Output: "twenty-five66"
|
164
|
+
```
|
165
|
+
|
166
|
+
#### Dot
|
167
|
+
|
168
|
+
```ruby
|
169
|
+
dot = Cmdlet::Case::Dot.new
|
170
|
+
dot.call('the quick brown fox') # Output: "the.quick.brown.fox"
|
171
|
+
dot.call('twenty five 66') # Output: "twenty.five66"
|
172
|
+
```
|
173
|
+
|
174
|
+
#### DoubleColon
|
175
|
+
|
176
|
+
```ruby
|
177
|
+
double_colon = Cmdlet::Case::DoubleColon.new
|
178
|
+
double_colon.call('the quick brown fox') # Output: "the::quick::brown::fox"
|
179
|
+
double_colon.call('Twenty Five 66') # Output: "Twenty::Five66"
|
180
|
+
```
|
181
|
+
|
182
|
+
#### Human
|
183
|
+
|
184
|
+
```ruby
|
185
|
+
human = Cmdlet::Case::Human.new
|
186
|
+
human.call('the Quick brown Fox') # Output: "The quick brown fox"
|
187
|
+
human.call('twenty five66') # Output: "Twenty five66"
|
188
|
+
```
|
189
|
+
|
190
|
+
#### Lamel
|
191
|
+
|
192
|
+
```ruby
|
193
|
+
lamel = Cmdlet::Case::Lamel.new
|
194
|
+
lamel.call('The quick brown fox') # Output: "theQuickBrownFox"
|
195
|
+
lamel.call('twenty five66') # Output: "twentyFive66"
|
196
|
+
```
|
197
|
+
|
198
|
+
#### Lower
|
199
|
+
|
200
|
+
```ruby
|
201
|
+
lower = Cmdlet::Case::Lower.new
|
202
|
+
lower.call('The Quick Brown Fox') # Output: "the quick brown fox"
|
203
|
+
```
|
204
|
+
|
205
|
+
#### Slash
|
206
|
+
|
207
|
+
```ruby
|
208
|
+
slash = Cmdlet::Case::Slash.new
|
209
|
+
slash.call('the quick brown fox') # Output: "the/quick/brown/fox"
|
210
|
+
slash.call('twenty Five66') # Output: "twenty/Five66"
|
211
|
+
```
|
212
|
+
|
213
|
+
#### Snake
|
214
|
+
|
215
|
+
```ruby
|
216
|
+
snake = Cmdlet::Case::Snake.new
|
217
|
+
snake.call('the Quick brown Fox') # Output: "the_quick_brown_fox"
|
218
|
+
snake.call('twenty five66') # Output: "twenty_five66"
|
219
|
+
```
|
220
|
+
|
221
|
+
#### Title
|
222
|
+
|
223
|
+
```ruby
|
224
|
+
title = Cmdlet::Case::Title.new
|
225
|
+
title.call('the quick brown fox jumped over the lazy dog') # Output: "The Quick Brown Fox Jumped Over The Lazy Dog"
|
226
|
+
title.call('twenty five66') # Output: "Twenty Five66"
|
227
|
+
```
|
228
|
+
|
229
|
+
#### Upper
|
230
|
+
|
231
|
+
```ruby
|
232
|
+
upper = Cmdlet::Case::Upper.new
|
233
|
+
upper.call('the quick brown fox') # Output: "THE QUICK BROWN FOX"
|
234
|
+
```
|
235
|
+
|
236
|
+
### Comparison Operations
|
237
|
+
|
238
|
+
#### And
|
239
|
+
|
240
|
+
```ruby
|
241
|
+
and_op = Cmdlet::Comparison::And.new
|
242
|
+
and_op.call(true, true) # Output: true
|
243
|
+
and_op.call(true, false) # Output: false
|
244
|
+
and_op.call(false, true) # Output: false
|
245
|
+
and_op.call(false, false) # Output: false
|
246
|
+
```
|
247
|
+
|
248
|
+
#### Default
|
249
|
+
|
250
|
+
```ruby
|
251
|
+
default = Cmdlet::Comparison::Default.new
|
252
|
+
default.call(nil, 'default value') # Output: "default value"
|
253
|
+
default.call('existing value', 'default value') # Output: "existing value"
|
254
|
+
```
|
255
|
+
|
256
|
+
#### Eq (Equal)
|
257
|
+
|
258
|
+
```ruby
|
259
|
+
eq = Cmdlet::Comparison::Eq.new
|
260
|
+
eq.call(5, 5) # Output: true
|
261
|
+
eq.call(5, '5') # Output: false
|
262
|
+
eq.call('a', 'a') # Output: true
|
263
|
+
```
|
264
|
+
|
265
|
+
#### Gt (Greater Than)
|
266
|
+
|
267
|
+
```ruby
|
268
|
+
gt = Cmdlet::Comparison::Gt.new
|
269
|
+
gt.call(10, 5) # Output: true
|
270
|
+
gt.call(5, 10) # Output: false
|
271
|
+
gt.call(5, 5) # Output: false
|
272
|
+
```
|
273
|
+
|
274
|
+
#### Gte (Greater Than or Equal)
|
275
|
+
|
276
|
+
```ruby
|
277
|
+
gte = Cmdlet::Comparison::Gte.new
|
278
|
+
gte.call(10, 5) # Output: true
|
279
|
+
gte.call(5, 5) # Output: true
|
280
|
+
gte.call(5, 10) # Output: false
|
281
|
+
```
|
282
|
+
|
283
|
+
#### Lt (Less Than)
|
284
|
+
|
285
|
+
```ruby
|
286
|
+
lt = Cmdlet::Comparison::Lt.new
|
287
|
+
lt.call(5, 10) # Output: true
|
288
|
+
lt.call(10, 5) # Output: false
|
289
|
+
lt.call(5, 5) # Output: false
|
290
|
+
```
|
291
|
+
|
292
|
+
#### Lte (Less Than or Equal)
|
293
|
+
|
294
|
+
```ruby
|
295
|
+
lte = Cmdlet::Comparison::Lte.new
|
296
|
+
lte.call(5, 10) # Output: true
|
297
|
+
lte.call(5, 5) # Output: true
|
298
|
+
lte.call(10, 5) # Output: false
|
299
|
+
```
|
300
|
+
|
301
|
+
#### Ne (Not Equal)
|
302
|
+
|
303
|
+
```ruby
|
304
|
+
ne = Cmdlet::Comparison::Ne.new
|
305
|
+
ne.call(5, 10) # Output: true
|
306
|
+
ne.call(5, 5) # Output: false
|
307
|
+
ne.call('a', 'b') # Output: true
|
308
|
+
```
|
309
|
+
|
310
|
+
#### Or
|
311
|
+
|
312
|
+
```ruby
|
313
|
+
or_op = Cmdlet::Comparison::Or.new
|
314
|
+
or_op.call(true, true) # Output: true
|
315
|
+
or_op.call(true, false) # Output: true
|
316
|
+
or_op.call(false, true) # Output: true
|
317
|
+
or_op.call(false, false) # Output: false
|
318
|
+
```
|
319
|
+
|
320
|
+
### Inflection Operations
|
321
|
+
|
322
|
+
#### Ordinal
|
323
|
+
|
324
|
+
```ruby
|
325
|
+
ordinal = Cmdlet::Inflection::Ordinal.new
|
326
|
+
ordinal.call(1) # Output: "st"
|
327
|
+
ordinal.call(2) # Output: "nd"
|
328
|
+
ordinal.call(3) # Output: "rd"
|
329
|
+
ordinal.call(4) # Output: "th"
|
330
|
+
ordinal.call(11) # Output: "th"
|
331
|
+
ordinal.call(21) # Output: "st"
|
332
|
+
```
|
333
|
+
|
334
|
+
#### Ordinalize
|
335
|
+
|
336
|
+
```ruby
|
337
|
+
ordinalize = Cmdlet::Inflection::Ordinalize.new
|
338
|
+
ordinalize.call(1) # Output: "1st"
|
339
|
+
ordinalize.call(2) # Output: "2nd"
|
340
|
+
ordinalize.call(3) # Output: "3rd"
|
341
|
+
ordinalize.call(4) # Output: "4th"
|
342
|
+
ordinalize.call(11) # Output: "11th"
|
343
|
+
ordinalize.call(21) # Output: "21st"
|
344
|
+
```
|
345
|
+
|
346
|
+
#### Pluralize
|
347
|
+
|
348
|
+
```ruby
|
349
|
+
pluralize = Cmdlet::Inflection::Pluralize.new
|
350
|
+
pluralize.call('book') # Output: "books"
|
351
|
+
pluralize.call('child') # Output: "children"
|
352
|
+
pluralize.call('sheep') # Output: "sheep"
|
353
|
+
pluralize.call('octopus') # Output: "octopi"
|
354
|
+
```
|
355
|
+
|
356
|
+
#### PluralizeNumber
|
357
|
+
|
358
|
+
```ruby
|
359
|
+
pluralize_number = Cmdlet::Inflection::PluralizeNumber.new
|
360
|
+
pluralize_number.call('book', 1) # Output: "book"
|
361
|
+
pluralize_number.call('book', 2) # Output: "books"
|
362
|
+
pluralize_number.call('child', 3) # Output: "children"
|
363
|
+
```
|
364
|
+
|
365
|
+
#### PluralizeNumberWord
|
366
|
+
|
367
|
+
```ruby
|
368
|
+
pluralize_number_word = Cmdlet::Inflection::PluralizeNumberWord.new
|
369
|
+
pluralize_number_word.call('book', 1) # Output: "1 book"
|
370
|
+
pluralize_number_word.call('book', 2) # Output: "2 books"
|
371
|
+
pluralize_number_word.call('child', 3) # Output: "3 children"
|
372
|
+
```
|
373
|
+
|
374
|
+
#### Singularize
|
375
|
+
|
376
|
+
```ruby
|
377
|
+
singularize = Cmdlet::Inflection::Singularize.new
|
378
|
+
singularize.call('books') # Output: "book"
|
379
|
+
singularize.call('children') # Output: "child"
|
380
|
+
singularize.call('sheep') # Output: "sheep"
|
381
|
+
singularize.call('octopi') # Output: "octopus"
|
382
|
+
```
|
383
|
+
|
384
|
+
### Miscellaneous Operations
|
385
|
+
|
386
|
+
#### FormatJson
|
387
|
+
|
388
|
+
```ruby
|
389
|
+
format_json = Cmdlet::Misc::FormatJson.new
|
390
|
+
data = { name: "John Doe", age: 30, hobbies: ["reading", "cycling"] }
|
391
|
+
formatted = format_json.call(data)
|
392
|
+
puts formatted
|
393
|
+
# Output:
|
394
|
+
# {
|
395
|
+
# "name": "John Doe",
|
396
|
+
# "age": 30,
|
397
|
+
# "hobbies": [
|
398
|
+
# "reading",
|
399
|
+
# "cycling"
|
400
|
+
# ]
|
401
|
+
# }
|
402
|
+
```
|
403
|
+
|
404
|
+
#### Safe
|
405
|
+
|
406
|
+
```ruby
|
407
|
+
safe = Cmdlet::Misc::Safe.new
|
408
|
+
safe.call(nil) # Output: ""
|
409
|
+
safe.call(nil, default: "N/A") # Output: "N/A"
|
410
|
+
safe.call("Hello") # Output: "Hello"
|
411
|
+
```
|
412
|
+
|
413
|
+
### String Operations
|
414
|
+
|
415
|
+
#### Padl
|
416
|
+
|
417
|
+
```ruby
|
418
|
+
padl = Cmdlet::String::Padl.new
|
419
|
+
padl.call("Hello", 10) # Output: " Hello"
|
420
|
+
padl.call("World", 10, '-') # Output: "-----World"
|
421
|
+
```
|
422
|
+
|
423
|
+
#### Padr
|
424
|
+
|
425
|
+
```ruby
|
426
|
+
padr = Cmdlet::String::Padr.new
|
427
|
+
padr.call("Hello", 10) # Output: "Hello "
|
428
|
+
padr.call("World", 10, '-') # Output: "World-----"
|
429
|
+
```
|
430
|
+
|
431
|
+
These examples demonstrate how to use each of the Inflection, Miscellaneous, and String operations provided by the Cmdlet gem. Each operation is shown with typical use cases to give users a clear understanding of how they function and what output to expect.
|
432
|
+
|
433
|
+
## Advanced Usage
|
434
|
+
Explain any advanced features or techniques for using Cmdlet.
|
435
|
+
|
436
|
+
## Troubleshooting
|
437
|
+
List common issues and their solutions.
|
438
|
+
|
439
|
+
## Contributing
|
440
|
+
Provide information on how developers can contribute to the Cmdlet project.
|
data/lib/cmdlet/version.rb
CHANGED
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "cmdlet",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.14.0",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "cmdlet",
|
9
|
-
"version": "0.
|
9
|
+
"version": "0.14.0",
|
10
10
|
"devDependencies": {
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
12
12
|
"@semantic-release/changelog": "^6.0.1",
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cmdlet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- Rakefile
|
94
94
|
- bin/console
|
95
95
|
- bin/setup
|
96
|
+
- docs/usage.md
|
96
97
|
- lib/cmdlet.rb
|
97
98
|
- lib/cmdlet/_.rb
|
98
99
|
- lib/cmdlet/all_commands.rb
|