Sha256: c9beaff611fac106d3a464b5bdb7aaa33e1b9d846891b481b54907778cec5d1c

Contents?: true

Size: 866 Bytes

Versions: 3

Compression:

Stored size: 866 Bytes

Contents

require 'aspect4r/base'

module Aspect4r
  module Around
    def self.included(base)
      base.send(:include, Base)
      base.extend(ClassMethods)
      
      eigen_class = class << base; self; end
      eigen_class.extend(ClassMethods)
    end

    module ClassMethods
      def around *methods, &block
        Aspect4r::Helper.process_advice Aspect4r::Model::AdviceMetadata::AROUND, self, methods, &block
      end
    end
    
    module Classic
      def self.included(base)
        base.send(:include, Base)
        base.extend(ClassMethods)
      
        eigen_class = class << base; self; end
        eigen_class.extend(ClassMethods)
      end

      module ClassMethods
        def a4r_around *methods, &block
          Aspect4r::Helper.process_advice Aspect4r::Model::AdviceMetadata::AROUND, self, methods, &block
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aspect4r-0.10.0 lib/aspect4r/around.rb
aspect4r-0.9.1 lib/aspect4r/around.rb
aspect4r-0.9.0 lib/aspect4r/around.rb