Module: TestHarness::Utilities
- Defined in:
- lib/utilities.rb
Class Method Summary collapse
- .camelize(string) ⇒ Object
- .constantize(camel_cased_word) ⇒ Object
- .get_parent_class(klass) ⇒ Object
- .register_components(component_type) ⇒ Object
Class Method Details
.camelize(string) ⇒ Object
5 6 7 8 |
# File 'lib/utilities.rb', line 5 def camelize(string) string = string.sub(/^[a-z\d]*/) { $&.capitalize } string = string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }.gsub('/', '::') end |
.constantize(camel_cased_word) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/utilities.rb', line 10 def constantize(camel_cased_word) names = camel_cased_word.split('::') names.shift if names.empty? || names.first.empty? constant = Object names.each do |name| constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name) end constant end |
.get_parent_class(klass) ⇒ Object
21 22 23 24 |
# File 'lib/utilities.rb', line 21 def get_parent_class(klass) parent_class_name = klass.name =~ /::[^:]+\Z/ ? $`.freeze : nil parent_class_name ? constantize(parent_class_name) : Object end |
.register_components(component_type) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/utilities.rb', line 26 def register_components(component_type) Dir.glob(File.join(TestHarness.autoload_path, "#{component_type}/**/**.rb")).each do |file| component = file.sub(TestHarness.autoload_path, '').sub(/^\/?#{component_type}\//, '').sub(/\.rb$/, '') require file yield component if block_given? end end |