Sha256: 6f96d9f0b91691ec1d6f91e208f5cd6545a9d8159eba20e4f97ca184f2ff20e4

Contents?: true

Size: 834 Bytes

Versions: 2

Compression:

Stored size: 834 Bytes

Contents

# encoding: utf-8
module Mongoid #:nodoc:
  module Enslavement #:nodoc:
    def self.included(base)
      base.class_eval do
        extend ClassMethods
        class_inheritable_accessor :enslaved
        self.enslaved = false

        delegate :enslaved?, :to => "self.class"
      end
    end

    module ClassMethods #:nodoc
      # Set whether or not this documents read operations should delegate to
      # the slave database by default.
      #
      # Example:
      #
      #   class Person
      #     include Mongoid::Document
      #     enslave
      #   end
      def enslave
        self.enslaved = true
      end

      # Determines if the class is enslaved or not.
      #
      # Returns:
      #
      # True if enslaved, false if not.
      def enslaved?
        self.enslaved == true
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongoid-1.2.8 lib/mongoid/enslavement.rb
mongoid-1.2.7 lib/mongoid/enslavement.rb