Sha256: 9e18f79649d3a477d8e29c1b3e5e678606220c6fd909dd558f6bcb3857548ab9

Contents?: true

Size: 1.05 KB

Versions: 13

Compression:

Stored size: 1.05 KB

Contents

module Virtus

  # Class-level extensions
  module ClassInclusions

    # Extends a descendant with class and instance methods
    #
    # @param [Class] descendant
    #
    # @return [undefined]
    #
    # @api private
    def self.included(descendant)
      super
      descendant.extend(ClassMethods)
      descendant.class_eval { include Methods }
      descendant.class_eval { include InstanceMethods }
      descendant.class_eval { include InstanceMethods::Constructor }
      descendant.class_eval { include InstanceMethods::MassAssignment }
    end
    private_class_method :included

    module Methods

      # Return a list of allowed writer method names
      #
      # @return [Set]
      #
      # @api private
      def allowed_writer_methods
        self.class.allowed_writer_methods
      end

      private

      # Return class' attribute set
      #
      # @return [Virtus::AttributeSet]
      #
      # @api private
      def attribute_set
        self.class.attribute_set
      end

    end # Methods

  end # module ClassInclusions
end # module Virtus

Version data entries

13 entries across 13 versions & 3 rubygems

Version Path
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/virtus-2.0.0/lib/virtus/class_inclusions.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/virtus-2.0.0/lib/virtus/class_inclusions.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/virtus-2.0.0/lib/virtus/class_inclusions.rb
virtus2-2.1.0 lib/virtus/class_inclusions.rb
virtus2-2.0.2 lib/virtus/class_inclusions.rb
virtus2-2.0.1 lib/virtus/class_inclusions.rb
virtus-2.0.0 lib/virtus/class_inclusions.rb
virtus-1.0.0.beta8 lib/virtus/class_inclusions.rb
virtus-1.0.0.beta7 lib/virtus/class_inclusions.rb
virtus-1.0.0.beta6 lib/virtus/class_inclusions.rb
virtus-1.0.0.beta5 lib/virtus/class_inclusions.rb
virtus-1.0.0.beta4 lib/virtus/class_inclusions.rb
virtus-1.0.0.beta3 lib/virtus/class_inclusions.rb