cmdlet 0.4.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e35da0dc6c2ae3fd9ccab71c7a964d8e5e3c66e703e51f5710b6cea7867554b5
4
- data.tar.gz: 37d37aa86e3b75dc60d7f17fa34cd652571698b5dbe7fbeb4baf431c8a70d2e6
3
+ metadata.gz: d2f90c89d289ef06c536a7d11f99415ce7edd32e81dafa7b4886ba9bc54a87ac
4
+ data.tar.gz: 26d34c6d9a0d54be7cdcf403a92096919391dc14e547f6971e18aab22601ee6c
5
5
  SHA512:
6
- metadata.gz: bee6e91c0894c7f902826d62572a94d88a5b361bb7d438c159ff0c5e548f21f1ccb693f4d09796bfe8ea1ffb9f87fa86828092c7bd6de271ddba68864a87aaba
7
- data.tar.gz: 570220da94644b05c3c8fb685dfe034da565c520d9c7e20e52756861d6ea18508d69098c1cc8c09715cbee14bc5955bd7d5e9eaa01abb2c167ddc4cd9ae7a3f8
6
+ metadata.gz: eed56d8e114624213419b305e1c5b609ed39a67d88749a9bc676a4d96b72e0cfceba6301102ecba142837834b18421d5e19ae73a3537e56636b6cac8411668db
7
+ data.tar.gz: d5e22d7073e0edb2b781a69a15b861f572b85602e22dea4e8736eea72228db6f696b368a3ce402a48b53eebe8610b0076c6d5f71e9191941a68011e4ea4d8b86
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ KConfig.configure do |config|
4
+ {{#each cmdlets}}
5
+ config.handlebars.helper(:{{name}}, Handlebarsjs::Helpers::{{camel category}}::{{camel name}}.new)
6
+ {{/each}}
7
+ end
@@ -59,35 +59,6 @@
59
59
  ],
60
60
  "ruby": " return '' if values.nil? || !values.is_a?(::Array)\n values = values.reject(&:blank?)\n return '' if values.length.zero?\n\n \"#{separator}#{values.join(separator)}\"\n"
61
61
  },
62
- {
63
- "name": "join_pre",
64
- "description": "join an array of values with separator as a string and using the separator at the beginning of string",
65
- "result": null,
66
- "category": "array",
67
- "category_description": "Array handling routines, eg. join, join_prefix, join_post",
68
- "base_class_require": null,
69
- "base_class": null,
70
- "parameters": [
71
- {
72
- "name": "values",
73
- "description": "array of values to join",
74
- "splat": null,
75
- "default": null,
76
- "param_type": "String|Int"
77
- },
78
- {
79
- "name": "separator",
80
- "description": "separator between values, defaults to comma",
81
- "splat": null,
82
- "default": "','",
83
- "param_type": "String"
84
- }
85
- ],
86
- "examples": [
87
-
88
- ],
89
- "ruby": " return '' if values.nil? || !values.is_a?(::Array)\n values = values.reject(&:blank?)\n return '' if values.length.zero?\n\n \"#{separator}#{values.join(separator)}\"\n"
90
- },
91
62
  {
92
63
  "name": "join_post",
93
64
  "description": "join an array of values with separator as a string and using the separator at the end of string",
@@ -68,8 +68,8 @@
68
68
  "ruby": " return '' if value.nil?\n\n value = value.to_s if value.is_a?(Symbol)\n\n value.pluralize\n"
69
69
  },
70
70
  {
71
- "name": "pluralize_by_number",
72
- "description": "Returns the plural form of the word based on a count",
71
+ "name": "pluralize_number",
72
+ "description": "Returns the plural form of the word based on a count in the format \"categories\"",
73
73
  "result": "value and number are used to calculate plural/singular form",
74
74
  "category": "inflection",
75
75
  "category_description": "Inflection handling routines, eg. pluralize, singular, ordinalize",
@@ -89,19 +89,41 @@
89
89
  "splat": null,
90
90
  "default": null,
91
91
  "param_type": "Int"
92
- },
92
+ }
93
+ ],
94
+ "examples": [
95
+
96
+ ],
97
+ "ruby": " return '' if value.nil?\n\n count = count.to_i if count.is_a? String\n\n value.pluralize(count)\n"
98
+ },
99
+ {
100
+ "name": "pluralize_number_word",
101
+ "description": "Returns the plural form of the word based on a count with the count prefixed in the format \"3 categories\"",
102
+ "result": "value and number are used to calculate plural/singular form",
103
+ "category": "inflection",
104
+ "category_description": "Inflection handling routines, eg. pluralize, singular, ordinalize",
105
+ "base_class_require": null,
106
+ "base_class": null,
107
+ "parameters": [
93
108
  {
94
- "name": "format",
95
- "description": "(Optional) what format should output be. :word, :number_word",
109
+ "name": "value",
110
+ "description": "value - value to pluralize",
96
111
  "splat": null,
97
112
  "default": null,
98
113
  "param_type": "String"
114
+ },
115
+ {
116
+ "name": "count",
117
+ "description": "count used to determine pluralization",
118
+ "splat": null,
119
+ "default": null,
120
+ "param_type": "Int"
99
121
  }
100
122
  ],
101
123
  "examples": [
102
124
 
103
125
  ],
104
- "ruby": " return '' if value.nil?\n\n count = count.to_i if count.is_a? String\n format = :word if format.nil?\n\n case format.to_sym\n when :number_word, :number_and_word\n \"#{count} #{value.pluralize(count)}\"\n else # aka :word\n value.pluralize(count)\n end\n"
126
+ "ruby": " return '' if value.nil?\n\n count = count.to_i if count.is_a? String\n\n \"#{count} #{value.pluralize(count)}\"\n"
105
127
  },
106
128
  {
107
129
  "name": "singularize",
@@ -48,6 +48,16 @@ class CmdletDirector < KDirector::Directors::BaseDirector
48
48
  add(handlebars_spec_file, template_file: 'handlebars_helper_spec.rb', cmdlet: cmdlet, on_exist: :skip)
49
49
  end
50
50
 
51
+ if builder.cmdlets.length.positive?
52
+ cd(:handlebars_lib)
53
+
54
+ category = builder.cmdlets.first[:category]
55
+ handlebars_category_configuration_file = "handlebarsjs/helpers/#{category}/default_configuration.rb"
56
+
57
+ oadd(handlebars_category_configuration_file, template_file: 'handlebars_helper_default_configuration.rb', cmdlets: builder.cmdlets)
58
+ end
59
+
60
+
51
61
  self
52
62
  end
53
63
 
@@ -35,21 +35,6 @@ KManager.action :array_commands do
35
35
  "#{separator}#{values.join(separator)}"
36
36
  RUBY
37
37
  end
38
- .cmdlet do
39
- name :join_pre
40
- description 'join an array of values with separator as a string and using the separator at the beginning of string'
41
-
42
- parameter :values, 'array of values to join', param_type: 'String|Int'
43
- parameter :separator, 'separator between values, defaults to comma', default: "','"
44
-
45
- ruby <<-'RUBY'
46
- return '' if values.nil? || !values.is_a?(::Array)
47
- values = values.reject(&:blank?)
48
- return '' if values.length.zero?
49
-
50
- "#{separator}#{values.join(separator)}"
51
- RUBY
52
- end
53
38
  .cmdlet do
54
39
  name :join_post
55
40
  description 'join an array of values with separator as a string and using the separator at the end of string'
@@ -50,26 +50,35 @@ KManager.action :inflection_commands do
50
50
  RUBY
51
51
  end
52
52
  .cmdlet do
53
- name :pluralize_by_number
54
- description 'Returns the plural form of the word based on a count'
53
+ name :pluralize_number
54
+ description 'Returns the plural form of the word based on a count in the format "categories"'
55
+ result 'value and number are used to calculate plural/singular form'
56
+
57
+ parameter :value, 'value - value to pluralize', param_type: 'String'
58
+ parameter :count, 'count used to determine pluralization', param_type: 'Int'
59
+
60
+ ruby <<-'RUBY'
61
+ return '' if value.nil?
62
+
63
+ count = count.to_i if count.is_a? String
64
+
65
+ value.pluralize(count)
66
+ RUBY
67
+ end
68
+ .cmdlet do
69
+ name :pluralize_number_word
70
+ description 'Returns the plural form of the word based on a count with the count prefixed in the format "3 categories"'
55
71
  result 'value and number are used to calculate plural/singular form'
56
72
 
57
73
  parameter :value, 'value - value to pluralize', param_type: 'String'
58
74
  parameter :count, 'count used to determine pluralization', param_type: 'Int'
59
- parameter :format, '(Optional) what format should output be. :word, :number_word'
60
75
 
61
76
  ruby <<-'RUBY'
62
77
  return '' if value.nil?
63
78
 
64
79
  count = count.to_i if count.is_a? String
65
- format = :word if format.nil?
66
-
67
- case format.to_sym
68
- when :number_word, :number_and_word
69
- "#{count} #{value.pluralize(count)}"
70
- else # aka :word
71
- value.pluralize(count)
72
- end
80
+
81
+ "#{count} #{value.pluralize(count)}"
73
82
  RUBY
74
83
  end
75
84
  .cmdlet do
data/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ # [0.5.0](https://github.com/klueless-io/cmdlet/compare/v0.4.2...v0.5.0) (2022-07-12)
2
+
3
+
4
+ ### Features
5
+
6
+ * add inflection: pluralize_number and pluralize_number_word ([53b1d00](https://github.com/klueless-io/cmdlet/commit/53b1d00fa44da710a480935d41f26966702d1ae6))
7
+
8
+ ## [0.4.2](https://github.com/klueless-io/cmdlet/compare/v0.4.1...v0.4.2) (2022-07-12)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * add inflection: pluralize_number and pluralize_number_word ([a97bbe1](https://github.com/klueless-io/cmdlet/commit/a97bbe1a7960d1dfc26ee37dbf93804ba571fe0d))
14
+
15
+ ## [0.4.1](https://github.com/klueless-io/cmdlet/compare/v0.4.0...v0.4.1) (2022-07-12)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * add spec for singularlize ([ae1fc2d](https://github.com/klueless-io/cmdlet/commit/ae1fc2d144caa3ed1eda94fb7e4ee5520c12eaa8))
21
+
1
22
  # [0.4.0](https://github.com/klueless-io/cmdlet/compare/v0.3.0...v0.4.0) (2022-07-12)
2
23
 
3
24
 
data/lib/cmdlet/_.rb CHANGED
@@ -28,5 +28,6 @@ require_relative 'comparison/or'
28
28
  require_relative 'inflection/ordinal'
29
29
  require_relative 'inflection/ordinalize'
30
30
  require_relative 'inflection/pluralize'
31
- require_relative 'inflection/pluralize_by_number'
31
+ require_relative 'inflection/pluralize_number'
32
+ require_relative 'inflection/pluralize_number_word'
32
33
  require_relative 'inflection/singularize'
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cmdlet
4
+ # Inflection handling routines, eg. pluralize, singular, ordinalize
5
+ module Inflection
6
+ # PluralizeNumber: Returns the plural form of the word based on a count in the format &quot;categories&quot;
7
+ class PluralizeNumber < Cmdlet::BaseCmdlet
8
+ #
9
+ # @param [String] value - value - value to pluralize
10
+ # @param [Int] count - count used to determine pluralization
11
+ # @return [String] value and number are used to calculate plural/singular form
12
+ def call(value, count)
13
+ return '' if value.nil?
14
+
15
+ count = count.to_i if count.is_a? String
16
+
17
+ value.pluralize(count)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cmdlet
4
+ # Inflection handling routines, eg. pluralize, singular, ordinalize
5
+ module Inflection
6
+ # PluralizeNumberWord: Returns the plural form of the word based on a count with the count prefixed in the format &quot;3 categories&quot;
7
+ class PluralizeNumberWord < Cmdlet::BaseCmdlet
8
+ #
9
+ # @param [String] value - value - value to pluralize
10
+ # @param [Int] count - count used to determine pluralization
11
+ # @return [String] value and number are used to calculate plural/singular form
12
+ def call(value, count)
13
+ return '' if value.nil?
14
+
15
+ count = count.to_i if count.is_a? String
16
+
17
+ "#{count} #{value.pluralize(count)}"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cmdlet
4
- VERSION = '0.4.1'
4
+ VERSION = '0.6.0'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "cmdlet",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "cmdlet",
9
- "version": "0.4.1",
9
+ "version": "0.6.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cmdlet",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Cmdlet provides a set of functions (wrapped in the command pattern) that perform simple actions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
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.1
4
+ version: 0.6.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: 2022-07-12 00:00:00.000000000 Z
11
+ date: 2022-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -51,6 +51,7 @@ files:
51
51
  - ".builders/.templates/cmdlet_spec.rb"
52
52
  - ".builders/.templates/cmdlets_require_all.rb"
53
53
  - ".builders/.templates/handlebars_helper.rb"
54
+ - ".builders/.templates/handlebars_helper_default_configuration.rb"
54
55
  - ".builders/.templates/handlebars_helper_require_all.rb"
55
56
  - ".builders/.templates/handlebars_helper_spec.rb"
56
57
  - ".builders/_.rb"
@@ -122,7 +123,8 @@ files:
122
123
  - lib/cmdlet/inflection/ordinal.rb
123
124
  - lib/cmdlet/inflection/ordinalize.rb
124
125
  - lib/cmdlet/inflection/pluralize.rb
125
- - lib/cmdlet/inflection/pluralize_by_number.rb
126
+ - lib/cmdlet/inflection/pluralize_number.rb
127
+ - lib/cmdlet/inflection/pluralize_number_word.rb
126
128
  - lib/cmdlet/inflection/singularize.rb
127
129
  - lib/cmdlet/string_tokenizer.rb
128
130
  - lib/cmdlet/version.rb
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Cmdlet
4
- # Inflection handling routines, eg. pluralize, singular, ordinalize
5
- module Inflection
6
- # PluralizeByNumber: Returns the plural form of the word based on a count
7
- class PluralizeByNumber < Cmdlet::BaseCmdlet
8
- #
9
- # @param [String] value - value - value to pluralize
10
- # @param [Int] count - count used to determine pluralization
11
- # @param [String] format - (Optional) what format should output be. :word, :number_word
12
- # @return [String] value and number are used to calculate plural/singular form
13
- def call(value, count, format)
14
- return '' if value.nil?
15
-
16
- count = count.to_i if count.is_a? String
17
- format = :word if format.nil?
18
-
19
- case format.to_sym
20
- when :number_word, :number_and_word
21
- "#{count} #{value.pluralize(count)}"
22
- else # aka :word
23
- value.pluralize(count)
24
- end
25
- end
26
- end
27
- end
28
- end