Sha256: bde504405abfd37f8cc66b446b6265eb938437dd44cb67074072db19ac1cc448

Contents?: true

Size: 792 Bytes

Versions: 10

Compression:

Stored size: 792 Bytes

Contents

class A

  def test input
    input.upcase
  end

end

##############################

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))

require 'aspector'

class LoggingAspect < Aspector::Base

  ALL_METHODS = /.*/

  around ALL_METHODS, :except => :class, :method_arg => true do |method, proxy, *args, &block|
    class_method = "#{self.class}.#{method}"
    puts "Entering #{class_method}: #{args.join(',')}"
    result = proxy.call *args, &block
    puts "Exiting  #{class_method}: #{result}"
    result
  end

end

##############################

LoggingAspect.apply(A)
puts "LoggingAspect is applied"

a = A.new
a.test 'input'

LoggingAspect.disable
puts "LoggingAspect is disabled"
a.test 'input'

LoggingAspect.enable
puts "LoggingAspect is enabled"
a.test 'input'

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
aspector-0.13.1 examples/logging_aspect.rb
aspector-0.13.0 examples/logging_aspect.rb
aspector-0.12.3 examples/logging_aspect.rb
aspector-0.12.2 examples/logging_aspect.rb
aspector-0.12.1 examples/logging_aspect.rb
aspector-0.12.0 examples/logging_aspect.rb
aspector-0.11.1 examples/logging_aspect.rb
aspector-0.11.0 examples/logging_aspect.rb
aspector-0.10.1 examples/logging_aspect.rb
aspector-0.10.0 examples/logging_aspect.rb