debian-mirror-gitlab/derailed-benchmarks/lib/derailed_benchmarks.rb

52 lines
1.3 KiB
Ruby
Raw Normal View History

2019-10-03 14:02:42 +05:30
# frozen_string_literal: true
require 'time'
require 'bundler'
require 'get_process_mem'
module DerailedBenchmarks
def self.gem_is_bundled?(name)
specs = ::Bundler.locked_gems.specs.each_with_object({}) {|spec, hash| hash[spec.name] = spec }
specs[name]
end
class << self
attr_accessor :auth
end
def self.rails_path_on_disk
require 'rails/version'
rails_version_file = Rails.method(:version).source_location[0]
path = Pathname.new(rails_version_file).expand_path.parent.parent
while path != Pathname.new("/")
basename = path.expand_path.basename.to_s
break if basename.start_with?("rails") && basename != "railties"
path = path.parent
end
raise "Could not find rails folder on a folder in #{rails_version_file}" if path == Pathname.new("/")
path.expand_path
end
def self.add_auth(app)
if use_auth = ENV['USE_AUTH']
puts "Auth: #{use_auth}"
auth.add_app(app)
else
app
end
end
end
require 'derailed_benchmarks/require_tree'
require 'derailed_benchmarks/auth_helper'
require 'derailed_benchmarks/stats_in_file'
require 'derailed_benchmarks/stats_from_dir'
if DerailedBenchmarks.gem_is_bundled?("devise")
DerailedBenchmarks.auth = DerailedBenchmarks::AuthHelpers::Devise.new
end