Sha256: d40252d3695e351904ad8e25e34c2be162391b61de734ff1b3cd96dc55429d47

Contents?: true

Size: 1.16 KB

Versions: 5

Compression:

Stored size: 1.16 KB

Contents

require 'activefacts/api'

module ::WindowInRoomInBldg

  class BuildingNumber < SignedInteger
    value_type :length => 32
    one_to_one :building                        # See Building.building_number
  end

  class RoomNumber < SignedInteger
    value_type :length => 32
  end

  class WallNumber < SignedInteger
    value_type :length => 32
  end

  class WindowNumber < UnsignedInteger
    value_type :length => 32
  end

  class Building
    identified_by :building_number
    one_to_one :building_number, :mandatory => true  # See BuildingNumber.building
  end

  class Room
    identified_by :building, :room_number
    has_one :building, :mandatory => true       # See Building.all_room
    has_one :room_number, :mandatory => true    # See RoomNumber.all_room
  end

  class Wall
    identified_by :room, :wall_number
    has_one :room, :mandatory => true           # See Room.all_wall
    has_one :wall_number, :mandatory => true    # See WallNumber.all_wall
  end

  class Window
    identified_by :wall, :window_number
    has_one :wall, :mandatory => true           # See Wall.all_window
    has_one :window_number, :mandatory => true  # See WindowNumber.all_window
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

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