cmdlet 0.0.7 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.builders/.templates/cmdlet.rb +26 -0
- data/.builders/.templates/{command_spec.rb → cmdlet_spec.rb} +4 -4
- data/.builders/.templates/require_all_cmdlets.rb +5 -0
- data/.builders/_.rb +7 -1
- data/.builders/boot.rb +2 -0
- data/.builders/data/categories.json +2 -10
- data/.builders/data/cmdlets/array.json +121 -0
- data/.builders/data/cmdlets/case.json +313 -0
- data/.builders/data/cmdlets/comparison.json +245 -0
- data/.builders/data/cmdlets/inflection.json +129 -0
- data/.builders/director/category_builder.rb +26 -0
- data/.builders/director/category_dao.rb +38 -0
- data/.builders/director/category_director.rb +24 -10
- data/.builders/director/cmdlet_builder.rb +27 -34
- data/.builders/director/cmdlet_child.rb +16 -44
- data/.builders/director/cmdlet_dao.rb +29 -0
- data/.builders/director/cmdlet_director.rb +37 -13
- data/.builders/director/dao.rb +16 -0
- data/.builders/documents/commands.rb +15 -16
- data/.builders/documents/use_cases.rb +32 -34
- data/.builders/documents/x_functions.rb +7 -10
- data/.builders/generators/01-bootstrap.rb +112 -112
- data/.builders/generators/20-categories.rb +16 -0
- data/.builders/generators/30-commands-bak.rb +53 -0
- data/.builders/generators/cmdlets/array.rb +71 -0
- data/.builders/generators/cmdlets/case.rb +184 -0
- data/.builders/generators/cmdlets/comparison.rb +126 -0
- data/.builders/generators/cmdlets/inflection.rb +93 -0
- data/CHANGELOG.md +37 -0
- data/Guardfile +1 -1
- data/lib/cmdlet/_.rb +33 -0
- data/lib/cmdlet/array/join.rb +8 -10
- data/lib/cmdlet/array/join_post.rb +22 -0
- data/lib/cmdlet/array/join_pre.rb +22 -0
- data/lib/cmdlet/base_cmdlet.rb +17 -0
- data/lib/cmdlet/case/back_slash.rb +16 -0
- data/lib/cmdlet/case/camel.rb +16 -0
- data/lib/cmdlet/case/constant.rb +16 -0
- data/lib/cmdlet/case/dash.rb +16 -0
- data/lib/cmdlet/case/dot.rb +16 -0
- data/lib/cmdlet/case/double_colon.rb +16 -0
- data/lib/cmdlet/case/human.rb +20 -0
- data/lib/cmdlet/case/lamel.rb +16 -0
- data/lib/cmdlet/case/lower.rb +18 -0
- data/lib/cmdlet/case/sentence.rb +20 -0
- data/lib/cmdlet/case/slash.rb +16 -0
- data/lib/cmdlet/case/snake.rb +16 -0
- data/lib/cmdlet/case/title.rb +21 -0
- data/lib/cmdlet/case/upper.rb +18 -0
- data/lib/cmdlet/comparison/and.rb +16 -0
- data/lib/cmdlet/comparison/default.rb +20 -0
- data/lib/cmdlet/comparison/eq.rb +20 -0
- data/lib/cmdlet/comparison/gt.rb +17 -0
- data/lib/cmdlet/comparison/gte.rb +17 -0
- data/lib/cmdlet/comparison/lt.rb +17 -0
- data/lib/cmdlet/comparison/lte.rb +17 -0
- data/lib/cmdlet/comparison/ne.rb +20 -0
- data/lib/cmdlet/comparison/or.rb +16 -0
- data/lib/cmdlet/inflection/ordinal.rb +20 -0
- data/lib/cmdlet/inflection/ordinalize.rb +20 -0
- data/lib/cmdlet/inflection/pluralize.rb +20 -0
- data/lib/cmdlet/inflection/pluralize_by_number.rb +28 -0
- data/lib/cmdlet/inflection/singularize.rb +20 -0
- data/lib/cmdlet/version.rb +1 -1
- data/lib/cmdlet.rb +5 -0
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +51 -9
- data/.builders/.templates/all_commands.rb +0 -5
- data/.builders/.templates/command.rb +0 -26
- data/.builders/documents/categories.rb +0 -24
- data/.builders/documents/cmdlets.rb +0 -30
- data/.builders/generators/20-commands.rb +0 -54
- data/.builders/generators/25-categories.rb +0 -20
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.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -47,24 +47,34 @@ extensions: []
|
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
49
|
- ".builders/.templates/FUNCTIONS.MD"
|
50
|
-
- ".builders/.templates/
|
51
|
-
- ".builders/.templates/
|
52
|
-
- ".builders/.templates/
|
50
|
+
- ".builders/.templates/cmdlet.rb"
|
51
|
+
- ".builders/.templates/cmdlet_spec.rb"
|
52
|
+
- ".builders/.templates/require_all_cmdlets.rb"
|
53
53
|
- ".builders/_.rb"
|
54
54
|
- ".builders/boot.rb"
|
55
55
|
- ".builders/data/categories.json"
|
56
|
+
- ".builders/data/cmdlets/array.json"
|
57
|
+
- ".builders/data/cmdlets/case.json"
|
58
|
+
- ".builders/data/cmdlets/comparison.json"
|
59
|
+
- ".builders/data/cmdlets/inflection.json"
|
60
|
+
- ".builders/director/category_builder.rb"
|
61
|
+
- ".builders/director/category_dao.rb"
|
56
62
|
- ".builders/director/category_director.rb"
|
57
63
|
- ".builders/director/cmdlet_builder.rb"
|
58
64
|
- ".builders/director/cmdlet_child.rb"
|
65
|
+
- ".builders/director/cmdlet_dao.rb"
|
59
66
|
- ".builders/director/cmdlet_director.rb"
|
60
|
-
- ".builders/
|
61
|
-
- ".builders/documents/cmdlets.rb"
|
67
|
+
- ".builders/director/dao.rb"
|
62
68
|
- ".builders/documents/commands.rb"
|
63
69
|
- ".builders/documents/use_cases.rb"
|
64
70
|
- ".builders/documents/x_functions.rb"
|
65
71
|
- ".builders/generators/01-bootstrap.rb"
|
66
|
-
- ".builders/generators/20-
|
67
|
-
- ".builders/generators/
|
72
|
+
- ".builders/generators/20-categories.rb"
|
73
|
+
- ".builders/generators/30-commands-bak.rb"
|
74
|
+
- ".builders/generators/cmdlets/array.rb"
|
75
|
+
- ".builders/generators/cmdlets/case.rb"
|
76
|
+
- ".builders/generators/cmdlets/comparison.rb"
|
77
|
+
- ".builders/generators/cmdlets/inflection.rb"
|
68
78
|
- ".releaserc.json"
|
69
79
|
- ".rspec"
|
70
80
|
- ".rubocop.yml"
|
@@ -78,9 +88,41 @@ files:
|
|
78
88
|
- bin/console
|
79
89
|
- bin/setup
|
80
90
|
- lib/cmdlet.rb
|
91
|
+
- lib/cmdlet/_.rb
|
81
92
|
- lib/cmdlet/all_commands.rb
|
82
93
|
- lib/cmdlet/array/join.rb
|
94
|
+
- lib/cmdlet/array/join_post.rb
|
95
|
+
- lib/cmdlet/array/join_pre.rb
|
96
|
+
- lib/cmdlet/base_cmdlet.rb
|
97
|
+
- lib/cmdlet/case/back_slash.rb
|
98
|
+
- lib/cmdlet/case/camel.rb
|
99
|
+
- lib/cmdlet/case/constant.rb
|
100
|
+
- lib/cmdlet/case/dash.rb
|
101
|
+
- lib/cmdlet/case/dot.rb
|
102
|
+
- lib/cmdlet/case/double_colon.rb
|
103
|
+
- lib/cmdlet/case/human.rb
|
104
|
+
- lib/cmdlet/case/lamel.rb
|
105
|
+
- lib/cmdlet/case/lower.rb
|
106
|
+
- lib/cmdlet/case/sentence.rb
|
107
|
+
- lib/cmdlet/case/slash.rb
|
108
|
+
- lib/cmdlet/case/snake.rb
|
109
|
+
- lib/cmdlet/case/title.rb
|
110
|
+
- lib/cmdlet/case/upper.rb
|
111
|
+
- lib/cmdlet/comparison/and.rb
|
112
|
+
- lib/cmdlet/comparison/default.rb
|
113
|
+
- lib/cmdlet/comparison/eq.rb
|
114
|
+
- lib/cmdlet/comparison/gt.rb
|
115
|
+
- lib/cmdlet/comparison/gte.rb
|
116
|
+
- lib/cmdlet/comparison/lt.rb
|
117
|
+
- lib/cmdlet/comparison/lte.rb
|
118
|
+
- lib/cmdlet/comparison/ne.rb
|
119
|
+
- lib/cmdlet/comparison/or.rb
|
83
120
|
- lib/cmdlet/configuration.rb
|
121
|
+
- lib/cmdlet/inflection/ordinal.rb
|
122
|
+
- lib/cmdlet/inflection/ordinalize.rb
|
123
|
+
- lib/cmdlet/inflection/pluralize.rb
|
124
|
+
- lib/cmdlet/inflection/pluralize_by_number.rb
|
125
|
+
- lib/cmdlet/inflection/singularize.rb
|
84
126
|
- lib/cmdlet/string_tokenizer.rb
|
85
127
|
- lib/cmdlet/version.rb
|
86
128
|
- package-lock.json
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# reference: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflector/methods.rb
|
4
|
-
|
5
|
-
module Cmdlet
|
6
|
-
# {{cmdlet.category_description}}
|
7
|
-
module {{camel cmdlet.category}}
|
8
|
-
# {{camel cmdlet.name}}: {{cmdlet.command_description}}
|
9
|
-
class {{camel cmdlet.name}} < Funcky::BaseFunction
|
10
|
-
{{#each cmdlet.usecases}}
|
11
|
-
# @example
|
12
|
-
#
|
13
|
-
# puts {{camel ./function}}.new.parse({{{nice_inputs}}})
|
14
|
-
#
|
15
|
-
# {{expected_output}}
|
16
|
-
#
|
17
|
-
{{/each}}
|
18
|
-
#
|
19
|
-
# @param [String|Int] value - numeric value
|
20
|
-
# @return [String] ordinal suffix that would be required for a number
|
21
|
-
def parse(value)
|
22
|
-
{{{cmdlet.ruby}}}
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
def categories
|
2
|
-
return @categories unless @categories.nil?
|
3
|
-
|
4
|
-
|
5
|
-
result = KDoc.model :document do
|
6
|
-
table :rows do
|
7
|
-
fields :name, :description
|
8
|
-
|
9
|
-
row :case , "Tokenize and apply case and/or separator"
|
10
|
-
row :comparison , "Comparison helpers, eg. or, and, equal, not equal, less than, greater than etc."
|
11
|
-
row :inflection , "Inflection handling routines, eg. pluralize, singular, ordinalize"
|
12
|
-
row :string , "String handling helpers"
|
13
|
-
|
14
|
-
row :array , "Array handling routines, eg. join, join_prefix, join_post"
|
15
|
-
row :a_transform , "Tokenize and apply case and/or separator"
|
16
|
-
row :a_comparison , "Comparison helpers, eg. or, and, equal, not equal, less than, greater than etc."
|
17
|
-
row :a_inflection , "Inflection handling routines, eg. pluralize, singular, ordinalize"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
@categories = result.raw_data_struct.rows
|
22
|
-
end
|
23
|
-
@categories = nil
|
24
|
-
|
@@ -1,30 +0,0 @@
|
|
1
|
-
def cmdlets
|
2
|
-
commands.map do |command|
|
3
|
-
category = categories.find { |c| c.name == command.category }
|
4
|
-
|
5
|
-
log.error("Category '#{command.category}' not found") unless category
|
6
|
-
|
7
|
-
OpenStruct.new(
|
8
|
-
category: command.category,
|
9
|
-
name: command.name,
|
10
|
-
category_description: category.description,
|
11
|
-
command_description: command.description,
|
12
|
-
ruby: command.ruby,
|
13
|
-
usecases: use_cases
|
14
|
-
.select { |uc| uc.category == command.category && uc.command == command.name }
|
15
|
-
.map { |uc|
|
16
|
-
OpenStruct.new({
|
17
|
-
category: uc.category,
|
18
|
-
command: uc.command,
|
19
|
-
inputs: uc.inputs,
|
20
|
-
nice_inputs: nice_inputs(uc.inputs),
|
21
|
-
expected_output: uc.expected_output
|
22
|
-
})
|
23
|
-
}
|
24
|
-
)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def nice_inputs(values)
|
29
|
-
values.map { |value| value.is_a?(String) ? "'#{value}'" : value }.join(', ')
|
30
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
KManager.action :commands do
|
2
|
-
action do
|
3
|
-
|
4
|
-
puts commands.first.function_description
|
5
|
-
# Ruby Gem Bootstrap
|
6
|
-
director = KDirector::Dsls::BasicDsl
|
7
|
-
.init(k_builder,
|
8
|
-
template_base_folder: '',
|
9
|
-
on_exist: :skip, # %i[skip write compare]
|
10
|
-
on_action: :queue # %i[queue execute]
|
11
|
-
)
|
12
|
-
.blueprint(
|
13
|
-
active: true,
|
14
|
-
name: :build_commands,
|
15
|
-
description: 'Build Commandlets',
|
16
|
-
on_exist: :write) do
|
17
|
-
|
18
|
-
cd(:lib)
|
19
|
-
|
20
|
-
# builder
|
21
|
-
# .add_file('FUNCTIONS.md',
|
22
|
-
# template_file: 'FUNCTIONS.md',
|
23
|
-
# categories: categories.sort_by { |r| r.name },
|
24
|
-
# functions: functions.sort_by { |r| [r.category, r.name] },
|
25
|
-
# on_exist: :write)
|
26
|
-
|
27
|
-
add('all_commands.rb',
|
28
|
-
template_file: 'all_commands.rb',
|
29
|
-
commands: commands.sort_by { |r| [r.category, r.name] },
|
30
|
-
on_exist: :write)
|
31
|
-
|
32
|
-
cmdlets.each do |cmdlet|
|
33
|
-
|
34
|
-
add("#{cmdlet.category}/#{cmdlet.name}.rb",
|
35
|
-
cmdlet: cmdlet,
|
36
|
-
template_file: 'command.rb',
|
37
|
-
on_exist: :write)
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
director.play_actions
|
43
|
-
# director.builder.logit
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
KManager.opts.app_name = 'commands'
|
48
|
-
KManager.opts.sleep = 2
|
49
|
-
KManager.opts.reboot_on_kill = 0
|
50
|
-
KManager.opts.reboot_sleep = 4
|
51
|
-
KManager.opts.exception_style = :short
|
52
|
-
KManager.opts.show.time_taken = true
|
53
|
-
KManager.opts.show.finished = true
|
54
|
-
KManager.opts.show.finished_message = 'FINISHED :)'
|
@@ -1,20 +0,0 @@
|
|
1
|
-
KManager.action :categories do
|
2
|
-
action do
|
3
|
-
|
4
|
-
CategoryDirector
|
5
|
-
.init(k_builder,
|
6
|
-
on_exist: :write, # %i[skip write compare]
|
7
|
-
on_action: :execute # %i[queue execute]
|
8
|
-
)
|
9
|
-
.category(:case , "Tokenize and apply case and/or separator")
|
10
|
-
.category(:comparison , "Comparison helpers, eg. or, and, equal, not equal, less than, greater than etc.")
|
11
|
-
.category(:inflection , "Inflection handling routines, eg. pluralize, singular, ordinalize")
|
12
|
-
.category(:string , "String handling helpers")
|
13
|
-
.category(:a_array , "Array handling routines, eg. join, join_prefix, join_post")
|
14
|
-
.category(:a_transform , "Tokenize and apply case and/or separator")
|
15
|
-
.category(:a_comparison , "Comparison helpers, eg. or, and, equal, not equal, less than, greater than etc.")
|
16
|
-
.category(:a_inflection , "Inflection handling routines, eg. pluralize, singular, ordinalize")
|
17
|
-
.save_categories
|
18
|
-
.category_file
|
19
|
-
end
|
20
|
-
end
|