module ActiveType::VirtualAttributes::ClassMethods

Public Instance Methods

_has_virtual_column?(name) click to toggle source
Calls superclass method
# File lib/active_type/virtual_attributes.rb, line 317
def _has_virtual_column?(name)
  virtual_columns_hash.has_key?(name.to_s) || begin
    if defined?(super)
      super
    else
      false
    end
  end
end
_virtual_column(name) click to toggle source
Calls superclass method
# File lib/active_type/virtual_attributes.rb, line 297
def _virtual_column(name)
  virtual_columns_hash[name.to_s] || begin
    if defined?(super)
      super
    else
      raise MissingAttributeError.new("Undefined attribute '#{name}'")
    end
  end
end
_virtual_column_names() click to toggle source
Calls superclass method
# File lib/active_type/virtual_attributes.rb, line 307
def _virtual_column_names
  @virtual_column_names ||= begin
    names = virtual_columns_hash.keys
    if defined?(super)
      names += super
    end
    names
  end
end
at_attribute(name, *args) click to toggle source
# File lib/active_type/virtual_attributes.rb, line 335
def at_attribute(name, *args)
  options = args.extract_options!
  type = args.first

  Builder.new(self, generated_virtual_attribute_methods).build(name, type, options)
end
generated_virtual_attribute_methods() click to toggle source
# File lib/active_type/virtual_attributes.rb, line 327
def generated_virtual_attribute_methods
  @generated_virtual_attribute_methods ||= begin
    mod = Module.new
    include mod
    mod
  end
end