Module: TestProf

Extended by:
Logging
Defined in:
lib/test_prof.rb,
lib/test_prof/logging.rb,
lib/test_prof/version.rb,
lib/test_prof/tag_prof.rb,
lib/test_prof/ruby_prof.rb,
lib/test_prof/event_prof.rb,
lib/test_prof/stack_prof.rb,
lib/test_prof/any_fixture.rb,
lib/test_prof/rspec_stamp.rb,
lib/test_prof/factory_prof.rb,
lib/test_prof/factory_doctor.rb,
lib/test_prof/tag_prof/rspec.rb,
lib/test_prof/factory_default.rb,
lib/test_prof/event_prof/rspec.rb,
lib/test_prof/rspec_stamp/rspec.rb,
lib/test_prof/ext/float_duration.rb,
lib/test_prof/rspec_stamp/parser.rb,
lib/test_prof/factory_doctor/rspec.rb,
lib/test_prof/recipes/rspec/sample.rb,
lib/test_prof/recipes/minitest/sample.rb,
lib/test_prof/recipes/rspec/before_all.rb,
lib/test_prof/factory_prof/factory_girl_patch.rb,
lib/test_prof/factory_doctor/factory_girl_patch.rb,
lib/test_prof/factory_default/factory_girl_patch.rb

Overview

rubocop: disable Metrics/CyclomaticComplexity

Defined Under Namespace

Modules: AnyFixture, BeforeAll, EventProf, FactoryDefault, FactoryDoctor, FactoryProf, FloatDuration, Logging, MinitestSample, RSpecStamp, RspecSample, RubyProf, StackProf, TagProf Classes: Configuration

Constant Summary collapse

VERSION =
"0.1.1"

Constants included from Logging

Logging::COLORS

Class Method Summary collapse

Methods included from Logging

build_log_msg, colorize, log

Class Method Details

.activate(env_var, val = nil) ⇒ Object

Run block only if provided env var is present and equal to the provided value (if any). Contains workaround for applications using Spring.



48
49
50
51
52
53
54
# File 'lib/test_prof.rb', line 48

def activate(env_var, val = nil)
  if defined?(::Spring)
    ::Spring.after_fork { activate!(env_var, val) { yield } }
  else
    activate!(env_var, val) { yield }
  end
end

.artefact_path(filename) ⇒ Object

Return a path to store artefact



62
63
64
65
66
67
68
69
# File 'lib/test_prof.rb', line 62

def artefact_path(filename)
  with_timestamps(
    ::File.join(
      config.output_dir,
      filename
    )
  )
end

.asset_path(filename) ⇒ Object

Return absolute path to asset



57
58
59
# File 'lib/test_prof.rb', line 57

def asset_path(filename)
  ::File.expand_path(filename, ::File.join(::File.dirname(__FILE__), "..", "assets"))
end

.configObject



27
28
29
# File 'lib/test_prof.rb', line 27

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



31
32
33
# File 'lib/test_prof.rb', line 31

def configure
  yield config
end

.require(gem_name, msg) ⇒ Object

Require gem and shows a custom message if it fails to load



37
38
39
40
41
42
43
# File 'lib/test_prof.rb', line 37

def require(gem_name, msg)
  Kernel.require gem_name
  true
rescue LoadError
  log :error, msg
  false
end