Module: CouchModel::Base::Association::ClassMethods

Defined in:
lib/couch_model/base/association.rb

Instance Method Summary collapse

Instance Method Details

#belongs_to(name, options = { }) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/couch_model/base/association.rb', line 18

def belongs_to(name, options = { })
  class_name  = options[:class_name]  || name.to_s.camelize
  key         = options[:key]         || "#{name}_id"

  key_accessor key
  define_belongs_to_reader name, class_name, key
  define_belongs_to_writer name, class_name, key
end

#has_many(name, options = { }) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/couch_model/base/association.rb', line 27

def has_many(name, options = { })
  class_name  = options[:class_name]  || name.to_s.camelize
  view_name   = options[:view_name]   || raise(ArgumentError, "no view_name is given")
  query       = options[:query]

  define_has_many_query name, query
  define_has_many_reader name, class_name, view_name
end