Sha256: 5fa66c802abfd4caf8a772ba34900172c86bf1348cbe6f5a0f279f6728297ff2

Contents?: true

Size: 715 Bytes

Versions: 1

Compression:

Stored size: 715 Bytes

Contents

require 'aspect4r/errors'
require 'aspect4r/model/advice'
require 'aspect4r/model/advices_for_method'
require 'aspect4r/model/aspect_data'
require 'aspect4r/model/advice_metadata'
require 'aspect4r/return_this'

require 'aspect4r/helper'

require 'aspect4r/extensions/class_extension'
require 'aspect4r/extensions/module_extension'

module Aspect4r
  module Base
    def self.included(base)
      base.send(:include, InstanceMethods)
      base.extend(ClassMethods)
    end

    module InstanceMethods
      def a4r_invoke proxy, *args
        proxy.bind(self).call *args
      end
    end

    module ClassMethods
      def a4r_data
        @a4r_data ||= Aspect4r::Model::AspectData.new
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aspect4r-0.7.1 lib/aspect4r/base.rb