module Rbvore

Constants

VERSION

Public Class Methods

constantize(name) click to toggle source

constantize attempts to turn a class name string into a proper constant that is a subclass of Rbvore::Resource

# File lib/rbvore.rb, line 43
def self.constantize(name)
  return name if resource_subclass?(name)

  resource_classes.each do |klass|
    return klass if [klass.singularize, klass.list_name, klass.pluralize].include?(name.to_s)
  end

  raise Rbvore::Error, "No Rbvore resource classes found for #{name.inspect}"
end
resource_classes() click to toggle source
# File lib/rbvore.rb, line 34
def self.resource_classes
  @resource_classes ||= Rbvore.constants.map { |const|
    klass = Rbvore.const_get(const)
    klass if resource_subclass?(klass)
  }.compact
end
resource_subclass?(klass) click to toggle source
# File lib/rbvore.rb, line 30
def self.resource_subclass?(klass)
  klass.respond_to?(:superclass) && klass.superclass == Resource
end