namespace :password_breach_alert do
desc 'Fetch breaches from HIBP, check email and enforce policy' task :checker, [:model_name] => [:environment] do |_task, args| args.with_defaults(model_name: :user) model_name = args[:model_name].to_sym mapping = Devise.mappings[model_name] if !mapping puts "Could not find Devise mapping for #{model_name}" next end model_class = mapping.class_name.constantize PasswordBreachAlert::Checker.new.call(users: model_class.all) end
end