Initializes the relationship. Always assumes target model class is a camel cased association name.
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 73 def initialize(name, target_model, source_model, options = {}) klass = options.key?(:through) ? ManyToMany::Relationship : OneToMany::Relationship target_model ||= DataMapper::Inflector.camelize(name).freeze @relationship = klass.new(name, target_model, source_model, options) end
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 46 def default_for(source) relationship.default_for(source).first end
Loads (if necessary) and returns association target for given source
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 18 def get(source, query = nil) relationship.get(source, query).first end
Get the resource directly
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 25 def get!(source) collection = relationship.get!(source) collection.first if collection end
@api public
# File lib/dm-core/associations/one_to_one.rb, line 56 def instance_of?(klass) super || relationship.instance_of?(klass) end
@api public
# File lib/dm-core/associations/one_to_one.rb, line 51 def kind_of?(klass) super || relationship.kind_of?(klass) end
@api public
# File lib/dm-core/associations/one_to_one.rb, line 61 def respond_to?(method, include_private = false) super || relationship.respond_to?(method, include_private) end
Generated with the Darkfish Rdoc Generator 2.