module DataModel

Constants

ONE_TO_MANY
SINGLE
ZERO_OR_ONE
ZERO_TO_MANY

Public Instance Methods

Selection(*args) click to toggle source
# File src/data_model.rb, line 235
def Selection(*args)
  typename = "Selection_#{args.join '_'}"
  selclass = Object.const_set typename, Class.new(Symbol)
  selclass.define_singleton_method(:selection) {args}
  selclass.define_singleton_method(:validate) {|s| selection.member? s.to_sym}
  selclass.define_singleton_method(:to_s) {"(#{self.selection.join(',')})"}
  return selclass
end
date(day, month, year) click to toggle source
# File src/data_model.rb, line 231
def date(day, month, year)
  Date.new(day, month, year)
end
domain(name, &block) click to toggle source
# File src/data_model.rb, line 221
def domain(name, &block)
  dom = Object.const_set name, Class.new(Domain)
  if block_given?
    dom.instance_exec &block
  end
  return dom
end