class ActiveFedora::Reflection::ClassMethods::MacroReflection
def build_association(*options)
Returns a new, unsaved instance of the associated class. +options+ will
def build_association(*options) klass.new(*options) end
def class_name
composed_of :balance, :class_name => 'Money' returns 'Money'
Returns the class name for the macro.
def class_name @class_name ||= options[:class_name] || derive_class_name end
def collection?
association. Returns +true+ if the +macro+ is either +has_many+ or
Returns whether or not this association reflection is for a collection
def collection? @collection end
def derive_class_name
def derive_class_name class_name = name.to_s.camelize class_name = class_name.singularize if collection? class_name end
def initialize(macro, name, options, active_fedora)
def initialize(macro, name, options, active_fedora) @macro, @name, @options, @active_fedora = macro, name, options, active_fedora end
def klass
a new association object. Use +build_association+ or +create_association+
Note: Do not call +klass.new+ or +klass.create+ to instantiate
# => Book
Author.reflect_on_association(:books).klass
end
has_many :books
class Author < ActiveRecord::Base
Returns the target association's class.
def klass #@klass ||= active_record.send(:compute_type, class_name) @klass ||= class_name end
def klass
composed_of :balance, :class_name => 'Money' returns the Money class
Returns the class for the macro.
def klass @klass ||= class_name.constantize end