class ApiClient::Resource::NameResolver
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/api_client/resource/name_resolver.rb, line 10 def initialize(name) @name = name end
resolve(ruby_path)
click to toggle source
# File lib/api_client/resource/name_resolver.rb, line 4 def self.resolve(ruby_path) new(ruby_path).resolve end
Public Instance Methods
resolve()
click to toggle source
# File lib/api_client/resource/name_resolver.rb, line 14 def resolve select_last_item underscorize lowercase name end
Private Instance Methods
lowercase()
click to toggle source
# File lib/api_client/resource/name_resolver.rb, line 32 def lowercase @name.downcase! end
select_last_item()
click to toggle source
# File lib/api_client/resource/name_resolver.rb, line 22 def select_last_item @name = @name.split('::').last end
underscorize()
click to toggle source
Inspired by ActiveSupport::Inflector#underscore
# File lib/api_client/resource/name_resolver.rb, line 27 def underscorize @name.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') @name.gsub!(/([a-z\d])([A-Z])/,'\1_\2') end