Module: Generator::Naming
- Included in:
- Generator
- Defined in:
- lib/au_ps_inferno/generator/naming.rb
Overview
Shared naming and ID helpers for suite, group, and test generation. Use these when adding new groups or tests so IDs and class names stay consistent.
Class Method Summary collapse
-
.build_class_name(string) ⇒ String
Ruby class name (PascalCase, no spaces/special chars).
-
.build_id(string) ⇒ String
Snake_case id (lowercase, underscores, no special chars).
-
.camel_case(string) ⇒ String
PascalCase (e.g. "Bundle Validation" => "BundleValidation").
-
.remove_special_characters(string) ⇒ String
With $ .
Instance Method Summary collapse
- #build_class_name(string) ⇒ Object
- #build_id(string) ⇒ Object
-
#camel_case(string) ⇒ Object
Instance methods for use with include Naming.
- #remove_special_characters(string) ⇒ Object
Class Method Details
.build_class_name(string) ⇒ String
Returns Ruby class name (PascalCase, no spaces/special chars).
23 24 25 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 23 def build_class_name(string) camel_case(remove_special_characters(string)).gsub(' ', '') end |
.build_id(string) ⇒ String
Returns snake_case id (lowercase, underscores, no special chars).
29 30 31 32 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 29 def build_id(string) s = string.to_s remove_special_characters(s.include?(' ') ? s.gsub(' ', '_') : s).downcase end |
.camel_case(string) ⇒ String
Returns PascalCase (e.g. "Bundle Validation" => "BundleValidation").
10 11 12 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 10 def camel_case(string) string.to_s.split.map(&:capitalize).join end |
.remove_special_characters(string) ⇒ String
Returns with $ . , ( ) - removed.
16 17 18 19 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 16 def remove_special_characters(string) special_characters = ['$', '.', ',', '(', ')', '-'] string.to_s.gsub(Regexp.union(special_characters), '') end |
Instance Method Details
#build_class_name(string) ⇒ Object
44 45 46 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 44 def build_class_name(string) Naming.build_class_name(string) end |
#build_id(string) ⇒ Object
48 49 50 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 48 def build_id(string) Naming.build_id(string) end |
#camel_case(string) ⇒ Object
Instance methods for use with include Naming
36 37 38 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 36 def camel_case(string) Naming.camel_case(string) end |
#remove_special_characters(string) ⇒ Object
40 41 42 |
# File 'lib/au_ps_inferno/generator/naming.rb', line 40 def remove_special_characters(string) Naming.remove_special_characters(string) end |