donorFactory = $donorFactory; $this->donorRepository = $donorRepository; } /** * Generates Donors * * ## OPTIONS * [--count=] * : Number of donors to generate * default: 10 * * [--preview=] * : Preview generated data * default: false * * [--consistent=] * : Generate consistent data * default: false * * ## EXAMPLES * * wp give test-donors --count=10 --preview=true * * @when after_wp_load */ public function __invoke($args, $assocArgs) { $count = WP_CLI\Utils\get_flag_value($assocArgs, 'count', $default = 10); $preview = WP_CLI\Utils\get_flag_value($assocArgs, 'preview', $default = false); $consistent = WP_CLI\Utils\get_flag_value($assocArgs, 'consistent', $default = false); $donors = $this->donorFactory->consistent($consistent)->make($count); if ($preview) { WP_CLI\Utils\format_items( 'table', $donors, array_keys($this->donorFactory->definition()) ); } else { $progress = WP_CLI\Utils\make_progress_bar('Generating donors', $count); foreach ($donors as $donor) { $this->donorRepository->insertDonor($donor); $progress->tick(); } $progress->finish(); } } }