Module: Critique

Defined in:
lib/critique.rb,
lib/critique/version.rb,
lib/critique/profiling.rb

Defined Under Namespace

Modules: ClassMethods, Profiling

Constant Summary collapse

VERSION =
"0.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.disable!Object



16
17
18
# File 'lib/critique.rb', line 16

def disable!
  module_eval("def self.profile(base) ; yield ; end")
end

.enable!Object



20
21
22
23
# File 'lib/critique.rb', line 20

def enable!
  module_eval("def self.profile(base, &block) ; Profiling.profile(base, 2, &block) ; end")
  @_enabled = true
end

.enabled?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/critique.rb', line 25

def enabled?
  @_enabled || false
end

.included(base) ⇒ Object



8
9
10
# File 'lib/critique.rb', line 8

def included(base)
  base.extend(ClassMethods)
end

.loggerObject



37
38
39
# File 'lib/critique.rb', line 37

def logger
  @_logger ||= Logger.new($stdout)
end

.logger=(logger) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/critique.rb', line 29

def logger=(logger)
  if logger.is_a?(IO) || logger.is_a?(String)
    @_logger = Logger.new(logger)
  else
    @_logger = logger
  end
end

.profile(base) ⇒ Object



12
13
14
# File 'lib/critique.rb', line 12

def profile(base)
  yield
end

Instance Method Details

#critique(&block) ⇒ Object



48
49
50
# File 'lib/critique.rb', line 48

def critique(&block)
  Critique.profile(self, &block)
end