Sha256: bd865f993cc17fb1ae2fe0bfb3009d23f3ddee0f59d007a015cb70935dbcea24
Contents?: true
Size: 950 Bytes
Versions: 1
Compression:
Stored size: 950 Bytes
Contents
# frozen_string_literal: true require "active_support/notifications" require_relative "factory_bot_profile/version" require_relative "factory_bot_profile/aggregate_stats" require_relative "factory_bot_profile/subscriber" require_relative "factory_bot_profile/subscription" require_relative "factory_bot_profile/report/simple_report" module FactoryBotProfile def self.reporting subscription = subscribe result = yield report(subscription.stats) result ensure subscription.unsubscribe end def self.subscribe(stats = AggregateStats.new) Subscription.new(stats).subscribe end def self.report(stats, reporter: Report::SimpleReport, io: $stdout) reporter.new(stats, io: io).deliver if stats end def self.merge_and_report(all_stats, reporter: Report::SimpleReport, io: $stdout) merged_stats = all_stats.reduce(AggregateStats.new, &:merge!) report(merged_stats, reporter: reporter, io: io) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
factory_bot_profile-0.1.0 | lib/factory_bot_profile.rb |