Sha256: 6d1dff89405536e12393a8bfa50e4dbdfce2d3066d7ad32badb8f931ce7099ed

Contents?: true

Size: 740 Bytes

Versions: 5

Compression:

Stored size: 740 Bytes

Contents

require 'activefacts/api'

module ::PersonPlaysGame

  class GameCode < Char
    value_type 
    one_to_one :game                            # See Game.game_code
  end

  class PersonName < String
    value_type 
    one_to_one :person                          # See Person.person_name
  end

  class Game
    identified_by :game_code
    one_to_one :game_code, :mandatory => true   # See GameCode.game
  end

  class Person
    identified_by :person_name
    one_to_one :person_name, :mandatory => true  # See PersonName.person
  end

  class Playing
    identified_by :person, :game
    has_one :game, :mandatory => true           # See Game.all_playing
    has_one :person, :mandatory => true         # See Person.all_playing
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

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