Completed
Push — develop ( 3ebc1f...23dc53 )
by Siad
07:55
created

EnvContext::createContext()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 9
ccs 0
cts 9
cp 0
rs 9.6666
cc 2
eloc 6
nc 2
nop 0
crap 6
1
<?php
2
/**
3
 * zf2-featureflags.
4
 *
5
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
8
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
9
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
10
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
11
 * SOFTWARE.
12
 *
13
 * @copyright 2016 MehrAlsNix (http://www.mehralsnix.de)
14
 * @license   http://www.opensource.org/licenses/mit-license.php MIT
15
 *
16
 * @link      http://github.com/MehrAlsNix/zf2-featureflags
17
 */
18
19
namespace MehrAlsNix\FeatureToggle\Context;
20
21
use Qandidate\Toggle\Context;
22
use Qandidate\Toggle\ContextFactory;
23
use Zend\Http\PhpEnvironment\Request;
24
25
/**
26
 * Context factory is implemented in an application to provide the context for
27
 * feature flipping.
28
 */
29
class EnvContext extends ContextFactory
30
{
31
    /** @var string $name */
32
    private $name = '';
33
34
    /** @var Request $request */
35
    private $request;
36
37
    public function __construct($name, Request $request)
38
    {
39
        $this->name = $name;
40
        $this->request = $request;
41
    }
42
43
    /**
44
     * @return Context
45
     */
46
    public function createContext()
47
    {
48
        $context = new Context();
49
        $env = $this->request->getEnv($this->name);
50
        if ($env !== null) {
51
            $context->set('env', $env);
52
        }
53
        return $context;
54
    }
55
}
56