Sha256: ede935a82b07dcb7d209415e427eb95ebf089558f73d92bd1552b13d7d875c99

Contents?: true

Size: 758 Bytes

Versions: 3

Compression:

Stored size: 758 Bytes

Contents

module Faalis
  # A very simple class which provide functionalities to work with
  # current orm
  class ORM

    def self.active_record?
      current == 'active_record'
    end

    def self.mongoid?
      current == 'mongoid'
    end

    # current orm
    def self.current
      ::Faalis::Engine.orm.to_s
    end

    # This class method returns the base class of current ORM
    # It will be used in models to specify which class to inherit
    # from, based on current ORM
    def self.proper_base_class
      #TODO: fix this for rails 5 which has a new parent for each model
      return ::ActiveRecord::Base if active_record?
      return ::Object if mongoid?
      ::Faalis::Engine.orm = 'active_record'
      ::ActiveRecord::Base
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
faalis-2.2.0.pre.rc1 lib/faalis/orm.rb
faalis-2.2.1 lib/faalis/orm.rb
faalis-2.2.0 lib/faalis/orm.rb