Method: OneviewSDK::API500.resource_named
- Defined in:
- lib/oneview-sdk/resource/api500.rb
.resource_named(type, variant = @variant) ⇒ Class
Get resource class that matches the type given
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/oneview-sdk/resource/api500.rb', line 24 def self.resource_named(type, variant = @variant) raise "API500 variant '#{variant}' is not supported! Try one of #{SUPPORTED_VARIANTS}" unless SUPPORTED_VARIANTS.include?(variant.to_s) new_type = type.to_s.downcase.gsub(/[ -_]/, '') api_module = OneviewSDK::API500.const_get(variant) api_module.constants.each do |c| klass = api_module.const_get(c) next unless klass.is_a?(Class) name = klass.name.split('::').last.downcase.delete('_').delete('-') return klass if new_type =~ /^#{name}[s]?$/ end nil end |