Module: TestProf

Extended by:
Logging
Defined in:
lib/test_prof.rb,
lib/test_prof/utils.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/before_all.rb,
lib/test_prof/event_prof.rb,
lib/test_prof/stack_prof.rb,
lib/test_prof/any_fixture.rb,
lib/test_prof/factory_bot.rb,
lib/test_prof/rspec_stamp.rb,
lib/test_prof/factory_prof.rb,
lib/test_prof/rspec_dissect.rb,
lib/test_prof/factory_doctor.rb,
lib/test_prof/tag_prof/rspec.rb,
lib/test_prof/any_fixture/dsl.rb,
lib/test_prof/factory_default.rb,
lib/test_prof/ruby_prof/rspec.rb,
lib/test_prof/tag_prof/result.rb,
lib/test_prof/event_prof/rspec.rb,
lib/test_prof/factory_all_stub.rb,
lib/test_prof/stack_prof/rspec.rb,
lib/test_prof/rspec_stamp/rspec.rb,
lib/test_prof/event_prof/monitor.rb,
lib/test_prof/ext/float_duration.rb,
lib/test_prof/rspec_stamp/parser.rb,
lib/test_prof/utils/html_builder.rb,
lib/test_prof/event_prof/profiler.rb,
lib/test_prof/ext/active_record_3.rb,
lib/test_prof/ext/string_truncate.rb,
lib/test_prof/rspec_dissect/rspec.rb,
lib/test_prof/factory_doctor/rspec.rb,
lib/test_prof/recipes/rspec/sample.rb,
lib/test_prof/ext/array_bsearch_index.rb,
lib/test_prof/recipes/minitest/sample.rb,
lib/test_prof/recipes/rspec/let_it_be.rb,
lib/test_prof/utils/sized_ordered_set.rb,
lib/test_prof/event_prof/custom_events.rb,
lib/test_prof/ext/active_record_refind.rb,
lib/test_prof/recipes/rspec/before_all.rb,
lib/test_prof/ruby_prof/rspec_exclusions.rb,
lib/test_prof/recipes/minitest/before_all.rb,
lib/test_prof/rspec_dissect/collectors/let.rb,
lib/test_prof/rspec_dissect/collectors/base.rb,
lib/test_prof/factory_prof/fabrication_patch.rb,
lib/test_prof/factory_prof/factory_bot_patch.rb,
lib/test_prof/rspec_dissect/collectors/before.rb,
lib/test_prof/factory_doctor/factory_bot_patch.rb,
lib/test_prof/before_all/adapters/active_record.rb,
lib/test_prof/factory_default/factory_bot_patch.rb,
lib/test_prof/factory_all_stub/factory_bot_patch.rb,
lib/test_prof/recipes/active_record_shared_connection.rb,
lib/test_prof/factory_prof/factory_builders/fabrication.rb,
lib/test_prof/factory_prof/factory_builders/factory_bot.rb

Overview

:nodoc: all

Defined Under Namespace

Modules: ActiveRecord3Transactions, ActiveRecordSharedConnection, AnyFixture, ArrayBSearchIndex, BeforeAll, EventProf, Ext, FactoryAllStub, FactoryDefault, FactoryDoctor, FactoryProf, FloatDuration, LetItBe, Logging, MinitestSample, RSpecDissect, RSpecStamp, RSpecWorldSamplePatch, RubyProf, StackProf, StringTruncate, TagProf, Utils Classes: Configuration

Constant Summary collapse

VERSION =
"0.7.5"
FACTORY_GIRL_NAMES =
{ 'factory_bot' => '::FactoryBot', 'factory_girl' => '::FactoryGirl' }.freeze
ActiveRecordOneLove =

One ❤️

TestProf::ActiveRecordSharedConnection

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.



71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/test_prof.rb', line 71

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

.artifact_path(filename) ⇒ Object

Return a path to store artifact



91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/test_prof.rb', line 91

def artifact_path(filename)
  create_artifact_dir

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

.asset_path(filename) ⇒ Object

Return absolute path to asset



86
87
88
# File 'lib/test_prof.rb', line 86

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

.configObject



29
30
31
# File 'lib/test_prof.rb', line 29

def config
  @config ||= Configuration.new
end

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

Yields:



33
34
35
# File 'lib/test_prof.rb', line 33

def configure
  yield config
end

.create_artifact_dirObject



104
105
106
# File 'lib/test_prof.rb', line 104

def create_artifact_dir
  FileUtils.mkdir_p(config.output_dir)[0]
end

.minitest?Boolean

Returns true if we’re inside Minitest

Returns:

  • (Boolean)


43
44
45
# File 'lib/test_prof.rb', line 43

def minitest?
  defined?(Minitest)
end

.require(gem_name, msg = nil) ⇒ Object

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



60
61
62
63
64
65
66
# File 'lib/test_prof.rb', line 60

def require(gem_name, msg = nil)
  Kernel.require gem_name
  block_given? ? yield : true
rescue LoadError
  log(:error, msg) if msg
  false
end

.rspec?Boolean

Returns true if we’re inside RSpec

Returns:

  • (Boolean)


38
39
40
# File 'lib/test_prof.rb', line 38

def rspec?
  defined?(RSpec::Core)
end