--- !ruby/object:RI::ClassDescription 
attributes: 
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "TODO: document @api private"
  name: child_properties
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Repository from where child objects are loaded
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: child_repository_name
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: ivar used to store collection of child options in source
  - !ruby/struct:SM::Flow::P 
    body: "@example for :commits association in"
  - !ruby/struct:SM::Flow::VERB 
    body: "  class VersionControl::Branch\n    # ...\n\n    has n, :commits\n  end\n"
  - !ruby/struct:SM::Flow::P 
    body: instance variable name for source will be @commits
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: instance_variable_name
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Maximum number of child objects for relationship
  - !ruby/struct:SM::Flow::P 
    body: "@example for :fouls association in"
  - !ruby/struct:SM::Flow::VERB 
    body: "  class Basketball::Player\n    # ...\n\n    has 0..5, :fouls\n  end\n"
  - !ruby/struct:SM::Flow::P 
    body: maximum is 5
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: max
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Minimum number of child objects for relationship
  - !ruby/struct:SM::Flow::P 
    body: "@example for :cores association in"
  - !ruby/struct:SM::Flow::VERB 
    body: "  class CPU::Multicore\n    # ...\n\n    has 2..n, :cores\n  end\n"
  - !ruby/struct:SM::Flow::P 
    body: minimum is 2
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: min
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Relationship name
  - !ruby/struct:SM::Flow::P 
    body: "@example for :parent association in"
  - !ruby/struct:SM::Flow::VERB 
    body: "  class VersionControl::Commit\n    # ...\n\n    belongs_to :parent\n  end\n"
  - !ruby/struct:SM::Flow::P 
    body: name is :parent
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: name
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Options used to set up association of this relationship
  - !ruby/struct:SM::Flow::P 
    body: "@example for :author association in"
  - !ruby/struct:SM::Flow::VERB 
    body: "  class VersionControl::Commit\n    # ...\n\n    belongs_to :author, :model =&gt; 'Person'\n  end\n"
  - !ruby/struct:SM::Flow::P 
    body: options is a hash with a single key, :model
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: options
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "TODO: document @api private"
  name: parent_properties
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Repository from where parent objects are loaded
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: parent_repository_name
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Returns query options for relationship.
  - !ruby/struct:SM::Flow::P 
    body: For this base class, always returns query options has been initialized with. Overriden in subclasses.
  - !ruby/struct:SM::Flow::P 
    body: "@api private"
  name: query
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Returns the visibility for the source accessor
  - !ruby/struct:SM::Flow::P 
    body: "@return [Symbol]"
  - !ruby/struct:SM::Flow::VERB 
    body: "  the visibility for the accessor added to the source\n"
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: reader_visibility
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Returns the visibility for the source mutator
  - !ruby/struct:SM::Flow::P 
    body: "@return [Symbol]"
  - !ruby/struct:SM::Flow::VERB 
    body: "  the visibility for the mutator added to the source\n"
  - !ruby/struct:SM::Flow::P 
    body: "@api semipublic"
  name: writer_visibility
  rw: R
class_methods: 
- !ruby/object:RI::MethodSummary 
  name: new
comment: 
- !ruby/struct:SM::Flow::P 
  body: Base class for relationships. Each type of relationship (1 to 1, 1 to n, n to m) implements a subclass of this class with methods like get and set overridden.
constants: 
- !ruby/object:RI::Constant 
  comment: 
  name: OPTIONS
  value: "[ :child_repository_name, :parent_repository_name, :child_key, :parent_key, :min, :max, :inverse, :reader_visibility, :writer_visibility ].to_set"
full_name: DataMapper::Associations::Relationship
includes: 
- !ruby/object:RI::IncludedModule 
  name: Extlib::Assertions
instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: ==
- !ruby/object:RI::MethodSummary 
  name: child_key
- !ruby/object:RI::MethodSummary 
  name: child_model
- !ruby/object:RI::MethodSummary 
  name: child_model?
- !ruby/object:RI::MethodSummary 
  name: child_model_name
- !ruby/object:RI::MethodSummary 
  name: eager_load
- !ruby/object:RI::MethodSummary 
  name: eql?
- !ruby/object:RI::MethodSummary 
  name: get
- !ruby/object:RI::MethodSummary 
  name: get!
- !ruby/object:RI::MethodSummary 
  name: inverse
- !ruby/object:RI::MethodSummary 
  name: loaded?
- !ruby/object:RI::MethodSummary 
  name: parent_key
- !ruby/object:RI::MethodSummary 
  name: parent_model
- !ruby/object:RI::MethodSummary 
  name: parent_model?
- !ruby/object:RI::MethodSummary 
  name: parent_model_name
- !ruby/object:RI::MethodSummary 
  name: query_for
- !ruby/object:RI::MethodSummary 
  name: relative_target_repository_name
- !ruby/object:RI::MethodSummary 
  name: relative_target_repository_name_for
- !ruby/object:RI::MethodSummary 
  name: set
- !ruby/object:RI::MethodSummary 
  name: set!
- !ruby/object:RI::MethodSummary 
  name: source_scope
- !ruby/object:RI::MethodSummary 
  name: valid?
name: Relationship
superclass: Object
