Sha256: 4873b1b0aaaaee86293cda0a8ee49e4f55fb411e6ce0af35973939466431451e

Contents?: true

Size: 1.33 KB

Versions: 5

Compression:

Stored size: 1.33 KB

Contents

require 'activefacts/api'

module ::WaiterTips

  class AUDValue < Money
    value_type 
    one_to_one :amount                          # See Amount.aud_value
  end

  class MealId < AutoCounter
    value_type 
    one_to_one :meal                            # See Meal.meal_id
  end

  class WaiterNr < SignedInteger
    value_type :length => 32
    one_to_one :waiter                          # See Waiter.waiter_nr
  end

  class Amount
    identified_by :aud_value
    one_to_one :aud_value, :class => AUDValue, :mandatory => true  # See AUDValue.amount
  end

  class Meal
    identified_by :meal_id
    one_to_one :meal_id, :mandatory => true     # See MealId.meal
  end

  class Waiter
    identified_by :waiter_nr
    one_to_one :waiter_nr, :mandatory => true   # See WaiterNr.waiter
  end

  class WaiterTip
    identified_by :waiter, :meal
    has_one :amount, :mandatory => true         # See Amount.all_waiter_tip
    has_one :meal, :mandatory => true           # See Meal.all_waiter_tip
    has_one :waiter, :mandatory => true         # See Waiter.all_waiter_tip
  end

  class Service
    identified_by :waiter, :meal
    has_one :meal, :mandatory => true           # See Meal.all_service
    has_one :waiter, :mandatory => true         # See Waiter.all_service
    has_one :amount                             # See Amount.all_service
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

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