class MongoidTest::BaseTestCase

Public Instance Methods

default_test() click to toggle source
# File test/unit/integrations/mongoid_test.rb, line 12
def default_test
end

Protected Instance Methods

new_model(table_name = :foo, &block) click to toggle source

Creates a new Mongoid model (and the associated table)

# File test/unit/integrations/mongoid_test.rb, line 17
def new_model(table_name = :foo, &block)
  
  model = Class.new do
    (class << self; self; end).class_eval do
      define_method(:name) { "MongoidTest::#{table_name.to_s.capitalize}" }
      define_method(:to_s) { name }
    end
  end
  
  model.class_eval do
    include Mongoid::Document
    self.collection_name = table_name
    
    field :state, :type => String
  end
  model.class_eval(&block) if block_given?
  model.collection.remove
  model
end