Sha256: a79d1829b0030afd1bfc0031f827af45f50e96eb65fa3a937644d9f13f75011a

Contents?: true

Size: 579 Bytes

Versions: 5

Compression:

Stored size: 579 Bytes

Contents

require 'activefacts/api'

module ::Monogamy

  class Name < String
    value_type 
  end

  class PersonID < AutoCounter
    value_type 
    one_to_one :person                          # See Person.person_id
  end

  class Person
    identified_by :person_id
    has_one :name, :mandatory => true           # See Name.all_person
    one_to_one :person_id, :class => PersonID, :mandatory => true  # See PersonID.person
  end

  class Boy < Person
  end

  class Girl < Person
    one_to_one :boyfriend, :class => Boy, :counterpart => :girlfriend  # See Boy.girlfriend
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activefacts-examples-1.9.9 ruby/Monogamy.rb
activefacts-examples-1.9.8 ruby/Monogamy.rb
activefacts-examples-1.8.0 ruby/Monogamy.rb
activefacts-examples-1.7.2 ruby/Monogamy.rb
activefacts-examples-1.7.1 ruby/Monogamy.rb