module Bullet::Dependency

def active_record30?

def active_record30?
  active_record3? && ::ActiveRecord::VERSION::MINOR == 0
end

def active_record31?

def active_record31?
  active_record3? && ::ActiveRecord::VERSION::MINOR == 1
end

def active_record32?

def active_record32?
  active_record3? && ::ActiveRecord::VERSION::MINOR == 2
end

def active_record3?

def active_record3?
  active_record? && ::ActiveRecord::VERSION::MAJOR == 3
end

def active_record40?

def active_record40?
  active_record4? && ::ActiveRecord::VERSION::MINOR == 0
end

def active_record41?

def active_record41?
  active_record4? && ::ActiveRecord::VERSION::MINOR == 1
end

def active_record4?

def active_record4?
  active_record? && ::ActiveRecord::VERSION::MAJOR == 4
end

def active_record?

def active_record?
  @active_record ||= defined? ::ActiveRecord
end

def active_record_version

def active_record_version
  @active_record_version ||= begin
                               if active_record30?
                                 'active_record3'
                               elsif active_record31? || active_record32?
                                 'active_record3x'
                               elsif active_record40?
                                 'active_record4'
                               elsif active_record41?
                                 'active_record41'
                               end
                             end
end

def mongoid2x?

def mongoid2x?
  mongoid? && ::Mongoid::VERSION =~ /\A2\.[4-8]/
end

def mongoid3x?

def mongoid3x?
  mongoid? && ::Mongoid::VERSION =~ /\A3/
end

def mongoid4x?

def mongoid4x?
  mongoid? && ::Mongoid::VERSION =~ /\A4/
end

def mongoid?

def mongoid?
  @mongoid ||= defined? ::Mongoid
end

def mongoid_version

def mongoid_version
  @mongoid_version ||= begin
                         if mongoid2x?
                           'mongoid2x'
                         elsif mongoid3x?
                           'mongoid3x'
                         elsif mongoid4x?
                           'mongoid4x'
                         end
                       end
end

def rails?

def rails?
  @rails ||= defined? ::Rails
end