Sha256: 98fcad0d6d2e2e9eac61e8a814e62c7a8da0c3144a57355d75d8dac16d8e4b37

Contents?: true

Size: 1.72 KB

Versions: 14

Compression:

Stored size: 1.72 KB

Contents

require 'active_mocker/active_record/scope'
require 'active_mocker/active_record/unknown_class_method'
require 'active_mocker/active_record/unknown_module'
require 'active_mocker/active_record/relationships'

module ActiveMocker
  # @api private
  module ActiveRecord
    class Base
      extend Scope
      extend UnknownClassMethod
      extend Relationships

      def self.inherited(subclass)
        return if subclass.superclass == Base
        instance_variables.each do |instance_var|
          subclass.instance_variable_set(instance_var, instance_variable_get(instance_var))
        end
      end

      def self.table_name=(table_name)
        @table_name = table_name
      end

      def self.table_name
        @table_name ||= nil
        @table_name
      end

      def self.primary_key=(primary_key)
        @primary_key = primary_key
      end

      def self.primary_key
        @primary_key ||= nil
        @primary_key
      end

      module ConstMissing

        def const_missing(name)
          Config.logger.debug "const_missing #{name} from class #{self.name}. Creating Class.\n  #{caller.first}"
          m = Module.new
          m.extend ConstMissing
          self.const_set name, m
        end

      end

      def self.const_missing(name)
        Config.logger.debug "const_missing #{name} from class #{self.name.demodulize }. Creating Class.\n  #{caller.first}"
        m = Module.new
        m.extend ConstMissing
        Object.const_set name, m
      end

      def self.include(name)
        _included << name
      end

      def self._included
        @included ||= []
      end

      def self.extend(name)
        _extended << name
      end

      def self._extended
        @extended ||= []
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
active_mocker-1.8.4 lib/active_mocker/active_record.rb
active_mocker-1.8.3 lib/active_mocker/active_record.rb
active_mocker-1.8.2 lib/active_mocker/active_record.rb
active_mocker-1.8.1 lib/active_mocker/active_record.rb
active_mocker-1.8 lib/active_mocker/active_record.rb
active_mocker-1.7.3 lib/active_mocker/active_record.rb
active_mocker-1.7.2 lib/active_mocker/active_record.rb
active_mocker-1.7.1 lib/active_mocker/active_record.rb
active_mocker-1.7.1rc lib/active_mocker/active_record.rb
active_mocker-1.7 lib/active_mocker/active_record.rb
active_mocker-1.7rc2 lib/active_mocker/active_record.rb
active_mocker-1.7.beta3 lib/active_mocker/active_record.rb
active_mocker-1.7.beta2 lib/active_mocker/active_record.rb
active_mocker-1.7.beta1 lib/active_mocker/active_record.rb