Files

Virtus::TypeLookup

A module that adds type lookup to a class

Constants

TYPE_FORMAT

Public Class Methods

extended(model) click to toggle source

Set cache ivar on the model

@param [Class] model

@return [undefined]

@api private

# File lib/virtus/support/type_lookup.rb, line 15
def self.extended(model)
  model.instance_variable_set('@type_lookup_cache', {})
end

Public Instance Methods

determine_type(class_or_name) click to toggle source

Returns a descendant based on a name or class

@example

MyClass.determine_type('String')  # => MyClass::String

@param [Class, to_s] class_or_name

name of a class or a class itself

@return [Class]

a descendant

@return [nil]

nil if the type cannot be determined by the class_or_name

@api public

# File lib/virtus/support/type_lookup.rb, line 34
def determine_type(class_or_name)
  @type_lookup_cache[class_or_name] ||= determine_type_and_cache(class_or_name)
end
primitive() click to toggle source

Return the default primitive supported

@return [Class]

@api private

# File lib/virtus/support/type_lookup.rb, line 43
def primitive
  raise NotImplementedError, "#{self}.primitive must be implemented"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.