Module: Rea::MetaType::Contract::ClassMethods

Defined in:
lib/rea/meta_type/contract.rb

Instance Method Summary collapse

Instance Method Details

#clause(klass_or_symbol, options = {}) ⇒ Object



16
17
18
19
20
21
# File 'lib/rea/meta_type/contract.rb', line 16

def clause klass_or_symbol, options={}
  $klass = guess_entity_class klass_or_symbol
  has_many $klass.name.tableize.to_sym, {:class_name=>$klass.name, :foreign_key=>:contract_id}.merge(options)
  self.clauses << $klass
  $klass.belongs_to :contract, :class_name => self.name
end

#clausesObject



12
13
14
# File 'lib/rea/meta_type/contract.rb', line 12

def clauses
  @@clauses ||= []
end

#party(name, klass_or_sym, options = {}) ⇒ Object



23
24
25
26
27
# File 'lib/rea/meta_type/contract.rb', line 23

def party name, klass_or_sym, options={}
  $klass = guess_entity_class(klass_or_sym)
  attr_accessible :"#{name}_id"
  belongs_to name, {:class_name=>$klass.name}.merge(options)
end