Module: TestProf
- Extended by:
- Logging
- Defined in:
- lib/test_prof/core.rb,
lib/test_prof/utils.rb,
lib/test_prof/logging.rb,
lib/test_prof/vernier.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/cops/inject.rb,
lib/test_prof/factory_bot.rb,
lib/test_prof/memory_prof.rb,
lib/test_prof/rspec_stamp.rb,
lib/test_prof/utils/rspec.rb,
lib/test_prof/factory_prof.rb,
lib/test_prof/rspec_dissect.rb,
lib/test_prof/vernier/rspec.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/recipes/logging.rb,
lib/test_prof/ruby_prof/rspec.rb,
lib/test_prof/tag_prof/result.rb,
lib/test_prof/any_fixture/dump.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/memory_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/before_all/isolator.rb,
lib/test_prof/event_prof/profiler.rb,
lib/test_prof/ext/string_truncate.rb,
lib/test_prof/memory_prof/printer.rb,
lib/test_prof/memory_prof/tracker.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/any_fixture/dump/digest.rb,
lib/test_prof/any_fixture/dump/sqlite.rb,
lib/test_prof/ext/array_bsearch_index.rb,
lib/test_prof/ext/string_parameterize.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/ext/factory_bot_strategy.rb,
lib/test_prof/recipes/rspec/before_all.rb,
lib/test_prof/ruby_prof/rspec_exclusions.rb,
lib/test_prof/any_fixture/dump/postgresql.rb,
lib/test_prof/recipes/minitest/before_all.rb,
lib/test_prof/memory_prof/tracker/rss_tool.rb,
lib/test_prof/rspec_dissect/collectors/let.rb,
lib/test_prof/any_fixture/dump/base_adapter.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/memory_prof/tracker/linked_list.rb,
lib/test_prof/rspec_dissect/collectors/before.rb,
lib/test_prof/factory_doctor/fabrication_patch.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/memory_prof/printer/number_to_human.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: AnyFixture, ArrayBSearchIndex, BeforeAll, Cops, EventProf, Ext, FactoryAllStub, FactoryBotStrategy, FactoryDefault, FactoryDoctor, FactoryProf, FloatDuration, LetItBe, Logging, MemoryProf, MinitestSample, RSpecDissect, RSpecStamp, RSpecWorldSamplePatch, Rails, RubyProf, StackProf, StringParameterize, StringTruncate, TagProf, Utils, Vernier Classes: Configuration
Constant Summary collapse
- VERSION =
"1.3.2"
- FACTORY_GIRL_NAMES =
{"factory_bot" => "::FactoryBot", "factory_girl" => "::FactoryGirl"}.freeze
Constants included from Logging
Class Method Summary collapse
-
.activate(env_var, val = nil) ⇒ Object
Run block only if provided env var is present and equal to the provided value (if any).
-
.artifact_path(filename) ⇒ Object
Return a path to store artifact.
-
.asset_path(filename) ⇒ Object
Return absolute path to asset.
- .config ⇒ Object
- .configure {|config| ... } ⇒ Object
- .create_artifact_dir ⇒ Object
-
.minitest? ⇒ Boolean
Returns true if we’re inside Minitest.
-
.now ⇒ Object
Returns the current process time.
-
.require(gem_name, msg = nil) ⇒ Object
Require gem and shows a custom message if it fails to load.
-
.rspec? ⇒ Boolean
Returns true if we’re inside RSpec.
-
.spring? ⇒ Boolean
Returns true if Spring is used and not disabled.
Methods included from Logging
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.
73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/test_prof/core.rb', line 73 def activate(env_var, val = nil) if spring? 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
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/test_prof/core.rb', line 93 def artifact_path(filename) create_artifact_dir ( ::File.join( config.output_dir, with_report_suffix( filename ) ) ) end |
.asset_path(filename) ⇒ Object
Return absolute path to asset
88 89 90 |
# File 'lib/test_prof/core.rb', line 88 def asset_path(filename) ::File.(filename, ::File.join(::File.dirname(__FILE__), "..", "..", "assets")) end |
.config ⇒ Object
30 31 32 |
# File 'lib/test_prof/core.rb', line 30 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ Object
34 35 36 |
# File 'lib/test_prof/core.rb', line 34 def configure yield config end |
.create_artifact_dir ⇒ Object
106 107 108 |
# File 'lib/test_prof/core.rb', line 106 def create_artifact_dir FileUtils.mkdir_p(config.output_dir)[0] end |
.minitest? ⇒ Boolean
Returns true if we’re inside Minitest
44 45 46 |
# File 'lib/test_prof/core.rb', line 44 def minitest? defined?(Minitest) end |
.now ⇒ Object
Returns the current process time
56 57 58 |
# File 'lib/test_prof/core.rb', line 56 def now Process.clock_gettime(Process::CLOCK_MONOTONIC) end |
.require(gem_name, msg = nil) ⇒ Object
Require gem and shows a custom message if it fails to load
62 63 64 65 66 67 68 |
# File 'lib/test_prof/core.rb', line 62 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
39 40 41 |
# File 'lib/test_prof/core.rb', line 39 def rspec? defined?(RSpec::Core) end |
.spring? ⇒ Boolean
Returns true if Spring is used and not disabled
49 50 51 52 53 |
# File 'lib/test_prof/core.rb', line 49 def spring? # See https://github.com/rails/spring/blob/577cf01f232bb6dbd0ade7df2df2ac209697e741/lib/spring/binstub.rb disabled = ENV["DISABLE_SPRING"] defined?(::Spring::Application) && (disabled.nil? || disabled.empty? || disabled == "0") end |