module RequireProf

Constants

VERSION

Public Class Methods

pause() click to toggle source
# File lib/require_prof.rb, line 15
def self.pause
  ensure_running!
  @profile.pause
end
paused?() click to toggle source
# File lib/require_prof.rb, line 28
def self.paused?
  if defined?(@profile) and @profile
    @profile.paused?
  else
    false
  end
end
profile() { || ... } click to toggle source
# File lib/require_prof.rb, line 48
def self.profile(&block)
  unless block_given?
    raise(ArgumentError, 'A block must be provided to the profile');
  end

  start
  yield
  stop
end
require(name) click to toggle source
# File lib/require_prof.rb, line 58
def self.require(name)
  if running? && !paused?
    @profile.require(name)
  else
    rp_original_require(name)
  end
end
resume() click to toggle source
# File lib/require_prof.rb, line 36
def self.resume
  ensure_running!
  @profile.resume
end
running?() click to toggle source
# File lib/require_prof.rb, line 20
def self.running?
  if defined?(@profile) and @profile
    @profile.running?
  else
    false
  end
end
start() click to toggle source
# File lib/require_prof.rb, line 9
def self.start
  ensure_not_running!
  @profile = Profile.new
  @profile.start
end
stop() click to toggle source
# File lib/require_prof.rb, line 41
def self.stop
  ensure_running!
  result = @profile.stop
  @profile = nil
  result
end

Private Class Methods

ensure_not_running!() click to toggle source
# File lib/require_prof.rb, line 72
def self.ensure_not_running!
  raise 'RequireProf.start was already called' if running?
end
ensure_running!() click to toggle source
# File lib/require_prof.rb, line 68
def self.ensure_running!
  raise 'RequireProf.start was not yet called' unless running?
end