Method: SimpleCommand::KlassTransform#to_modules_string
- Defined in:
- lib/simple_command_dispatcher/klass_transform.rb
#to_modules_string(klass_modules = [], options = {}) ⇒ String
Returns a string of modules that can be subsequently prepended to a class, to create a constantized class.
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/simple_command_dispatcher/klass_transform.rb', line 97 def to_modules_string(klass_modules = [], = {}) klass_modules = validate_klass_modules(klass_modules) = () klass_modules_string = '' unless klass_modules.empty? case klass_modules when String klass_modules_string = klass_modules when Array klass_modules_string = klass_modules.join('::').to_s when Hash klass_modules_string = '' klass_modules.to_a.each_with_index.map do |value, index| klass_modules_string = index.zero? ? value[1].to_s : "#{klass_modules_string}::#{value[1]}" end else raise ArgumentError, 'Class modules is not a String, Hash or Array.' end klass_modules_string = klass_modules_string.split('::').map(&:titleize).join('::') if [:module_titleize] klass_modules_string = camelize(klass_modules_string) if [:module_camelize] klass_modules_string = klass_modules_string.trim_all klass_modules_string = "#{klass_modules_string}::" unless klass_modules_string.empty? end klass_modules_string end |