/** * Load the environment file, while ensuring read permissions or die trying! * * @return File */ protected function get_env_for_write_or_fail() { try { return File::writable($this->resolve_file_path())->load(); } catch (\Exception $e) { WP_CLI::error($e->getMessage()); } }
/** * Update salts in the environment file. * * @param bool $force Whether or not to force update any existing values * * @return Collection */ protected function update_salts($force = false) { return $this->salts->map(function ($salt) use($force) { list($key, $value) = $salt; if (!$force && $this->env->hasKey($key)) { WP_CLI::line("The '{$key}' already exists, skipping."); $salt['skipped'] = true; return $salt; } $this->env->set($key, $value, "'"); return $salt; }); }
/** * @test */ public function it_can_return_an_array_of_key_value_line_pairs() { $path = $this->get_fixture_path('env-basic'); $env = new File($path); $env->load(); $this->assertCount(1, $env->dictionary()); }
/** * Iterate over each line and prompt for a new value * * @param File $env * * @return int */ protected function prompt_all(File $env) { $env->dictionary()->each(function ($value, $key) use($env) { $env->set($key, $this->prompt($key, $value)); }); $env->save(); }