Associations::Relationship
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 73: def initialize(name, target_model, source_model, options = {}) 74: klass = options.key?(:through) ? ManyToMany::Relationship : OneToMany::Relationship 75: target_model ||= DataMapper::Inflector.camelize(name).freeze 76: @relationship = klass.new(name, target_model, source_model, options) 77: end
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 46 46: def default_for(source) 47: relationship.default_for(source).first 48: end
Loads (if necessary) and returns association target for given source
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 18 18: def get(source, query = nil) 19: relationship.get(source, query).first 20: end
Get the resource directly
@api semipublic
# File lib/dm-core/associations/one_to_one.rb, line 25 25: def get!(source) 26: collection = relationship.get!(source) 27: collection.first if collection 28: end
@api public
# File lib/dm-core/associations/one_to_one.rb, line 56 56: def instance_of?(klass) 57: super || relationship.instance_of?(klass) 58: end
@api public
# File lib/dm-core/associations/one_to_one.rb, line 51 51: def kind_of?(klass) 52: super || relationship.kind_of?(klass) 53: end
@api public
# File lib/dm-core/associations/one_to_one.rb, line 61 61: def respond_to?(method, include_private = false) 62: super || relationship.respond_to?(method, include_private) 63: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.