Class: ActiveFedora::Associations::Builder::SingularAssociation
  
  
  
  
  
    - Inherits:
 
    - 
      Association
      
        
          - Object
 
          
            - Association
 
          
            - ActiveFedora::Associations::Builder::SingularAssociation
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/active_fedora/associations/builder/singular_association.rb
 
  
  
 
Overview
  
  Constant Summary
  
  Constants inherited
     from Association
  Association::VALID_OPTIONS
  
    
      Class Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Association
  add_destroy_callbacks, better_name, build, build_scope, check_dependent_options, create_reflection, define_callbacks, define_extensions, define_readers, define_validations, define_writers, macro, valid_dependent_options, validate_options, wrap_scope
  
    Class Method Details
    
      
  
  
    .define_accessors(model, reflection)  ⇒ Object 
  
  
  
  
    
      
7
8
9
10 
     | 
    
      # File 'lib/active_fedora/associations/builder/singular_association.rb', line 7
def self.define_accessors(model, reflection)
  super
  define_constructors(model.generated_association_methods, reflection.name) if reflection.constructable?
end 
     | 
  
 
    
      
  
  
    .define_constructors(mixin, name)  ⇒ Object 
  
  
  
  
    
      
12
13
14
15
16
17
18
19
20
21
22
23
24 
     | 
    
      # File 'lib/active_fedora/associations/builder/singular_association.rb', line 12
def self.define_constructors(mixin, name)
  mixin.redefine_method("build_#{name}") do |*params|
    association(name).build(*params)
  end
  mixin.redefine_method("create_#{name}") do |*params|
    association(name).create(*params)
  end
  mixin.redefine_method("create_#{name}!") do |*params|
    association(name).create!(*params)
  end
end
     | 
  
 
    
      
  
  
    .valid_options(options)  ⇒ Object 
  
  
  
  
    
      
3
4
5 
     | 
    
      # File 'lib/active_fedora/associations/builder/singular_association.rb', line 3
def self.valid_options(options)
  super + [:dependent, :inverse_of, :required]
end 
     |