Sha256: aa8d3e9c092c71a2d5929dc65a2bc9722b71dc21e4e05f598bf6460aee7305f7

Contents?: true

Size: 600 Bytes

Versions: 1

Compression:

Stored size: 600 Bytes

Contents

# frozen_string_literal: true

module Pragma
  module Decorator
    module Collection
      def self.included(klass)
        klass.include InstanceMethods
        klass.extend ClassMethods

        klass.class_eval do
          collection :represented, as: :data, exec_context: :decorator
        end
      end

      module InstanceMethods
        def type
          'collection'
        end
      end

      module ClassMethods
        def decorate_with(decorator)
          collection :represented, as: :data, exec_context: :decorator, decorator: decorator
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pragma-decorator-2.0.0 lib/pragma/decorator/collection.rb