Sha256: ce040c4f3251b2f18c79e39b90ccd21f1aadb899f8de4a825880607bea3890d7

Contents?: true

Size: 1.53 KB

Versions: 3

Compression:

Stored size: 1.53 KB

Contents

module Virtus

  module Model

    # @api private
    def self.included(descendant)
      super
      descendant.send(:include, ClassInclusions)
    end

    # @api private
    def self.extended(descendant)
      super
      descendant.extend(Extensions)
    end

    module Core

      # @api private
      def self.included(descendant)
        super
        descendant.extend(ClassMethods)
        descendant.send(:include, ClassInclusions::Methods)
        descendant.send(:include, InstanceMethods)
      end
      private_class_method :included

      # @api private
      def self.extended(descendant)
        super
        descendant.extend(Extensions::Methods)
        descendant.extend(InstanceMethods)
      end
      private_class_method :included

    end # Core

    module Constructor

      # @api private
      def self.included(descendant)
        super
        descendant.send(:include, InstanceMethods::Constructor)
      end
      private_class_method :included

    end # Constructor

    module MassAssignment

      # @api private
      def self.included(descendant)
        super
        descendant.extend(Extensions::AllowedWriterMethods)
        descendant.send(:include, InstanceMethods::MassAssignment)
      end
      private_class_method :included

      # @api private
      def self.extended(descendant)
        super
        descendant.extend(Extensions::AllowedWriterMethods)
        descendant.extend(InstanceMethods::MassAssignment)
      end
      private_class_method :included

    end # MassAssignment

  end # Model
end # Virtus

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
virtus-1.0.0 lib/virtus/model.rb
virtus-1.0.0.rc2 lib/virtus/model.rb
virtus-1.0.0.rc1 lib/virtus/model.rb