summaryrefslogtreecommitdiff
path: root/lib/opentox.rb
blob: 03d65b0190988531a320dd4f084aa2e6ec75c66f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module OpenTox

  # create default OpenTox classes
  # provides Mongoid's query and persistence methods
  # http://mongoid.org/en/mongoid/docs/persistence.html
  # http://mongoid.org/en/mongoid/docs/querying.html
  CLASSES.each do |klass|
    c = Class.new do
      include OpenTox
      include Mongoid::Document
      include Mongoid::Timestamps
      store_in collection: klass.downcase.pluralize
      field :name,  type: String
      field :source,  type: String
      field :warnings, type: Array, default: []

      def warn warning
        #$logger.warn warning
        warnings << warning
      end
    end
    OpenTox.const_set klass,c
  end

end