Sha256: 611646d4ce437e27a249cac3450465120ed912f3f69da000f7b7dd921d692c5a
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
require 'yaml' module RailsAudit def self.load_config File.exist?('config/audit.yml') && YAML.load_file('config/audit.yml') || {} end def self.get_config(config, name) c = config[name] { rails: config['Rails'].nil? && true || config['Rails'], params: c && c['Parameters'] || '', enabled: (c.nil? || c['Enabled'].nil?) && true || c['Enabled'] } end def self.run config = load_config concurrency = config['Concurrency'].nil? && true || config['Concurrency'] failures = concurrency && run_threads(config) || run_sequence(config) if failures.any? puts 'Failed tests:' failures.each { |f| puts f } end failures.none? end def self.run_sequence(config) failures = [] Audits::ALL.each do |audit| success = audit.run get_config(config, audit.get_name) failures << audit.get_name unless success end failures end def self.run_threads(config) failures = [] mutex = Mutex.new Audits::ALL.map do |audit| Thread.new do success = audit.run get_config(config, audit.get_name) mutex.synchronize { failures << audit.get_name unless success } end end.each { |t| t.join } failures end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rails-audit-0.12.0 | lib/rails-audit/runner.rb |
rails-audit-0.11.0 | lib/rails-audit/runner.rb |
rails-audit-0.10.0 | lib/rails-audit/runner.rb |