Sha256: b123bd114514a943225f17abc6163dbef3837e345a8676522ca895e923b163a8

Contents?: true

Size: 1.44 KB

Versions: 6

Compression:

Stored size: 1.44 KB

Contents

module Virtus

  module Model

    # @api private
    def self.included(descendant)
      super
      descendant.send(:include, ClassInclusions) if Class === descendant
    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.send(:include, InstanceMethods::MassAssignment)
      end
      private_class_method :included

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

    end # MassAssignment

  end # Model
end # Virtus

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
virtus-1.0.0.beta8 lib/virtus/model.rb
virtus-1.0.0.beta7 lib/virtus/model.rb
virtus-1.0.0.beta6 lib/virtus/model.rb
virtus-1.0.0.beta5 lib/virtus/model.rb
virtus-1.0.0.beta4 lib/virtus/model.rb
virtus-1.0.0.beta3 lib/virtus/model.rb