Skip to content

Commit 007ab71

Browse files
author
Pe Ell
authored
Merge pull request #13 from cybercog/feature/separate-trait-scopes
Separate flag scopes, helpers & behavior traits
2 parents c93ccdd + 7d7b17c commit 007ab71

29 files changed

+589
-151
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22

33
All notable changes to `laravel-eloquent-flag` will be documented in this file.
44

5+
## 3.0.0 - [Unreleased]
6+
7+
### Added
8+
9+
- `Has{Name}FlagScope` traits which include global scopes.
10+
- `Has{Name}FlagHelpers` traits which include flag related helper methods.
11+
- `Has{Name}FlagBehavior` traits which include flag specific behavior.
12+
13+
### Changed
14+
15+
- Each Flag trait was spliced on 2 additional traits: `Has{Name}Flag` = `Has{Name}FlagScope` + `Has{Name}FlagHelpers`
16+
- Kept Flag trait was spliced on 3 additional traits, because events were pulled out to `HasKeptFlagBehavior` trait.
17+
518
## 2.1.0 - 2016-01-04
619

720
- `is_closed` inverse boolean flag added.

composer.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cybercog/laravel-eloquent-flag",
3-
"description": "Laravel Eloquent flagged attributes behavior",
3+
"description": "Laravel Eloquent flagged attributes behavior.",
44
"type": "library",
55
"license": "MIT",
66
"keywords": [
@@ -50,14 +50,14 @@
5050
"docs": "https://github.com/cybercog/laravel-eloquent-flag/wiki"
5151
},
5252
"require": {
53-
"php": "^5.6|^7.0",
54-
"illuminate/database": "~5.2.0|~5.3.0|~5.4.0"
53+
"illuminate/database": "~5.2.0|~5.3.0|~5.4.0",
54+
"php": "^5.6|^7.0"
5555
},
5656
"require-dev": {
5757
"friendsofphp/php-cs-fixer": "^1.11",
58-
"phpunit/phpunit": "^5.2",
58+
"mockery/mockery": "^0.9.5",
5959
"orchestra/testbench": "~3.0",
60-
"mockery/mockery": "^0.9.5"
60+
"phpunit/phpunit": "^5.2"
6161
},
6262
"autoload": {
6363
"psr-4": {

src/Traits/Classic/HasAcceptedFlag.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,13 @@
1111

1212
namespace Cog\Flag\Traits\Classic;
1313

14-
use Cog\Flag\Scopes\Classic\AcceptedFlagScope;
15-
1614
/**
1715
* Class HasAcceptedFlag.
1816
*
1917
* @package Cog\Flag\Traits\Classic
2018
*/
2119
trait HasAcceptedFlag
2220
{
23-
/**
24-
* Boot the HasAcceptedFlag trait for a model.
25-
*
26-
* @return void
27-
*/
28-
public static function bootHasAcceptedFlag()
29-
{
30-
static::addGlobalScope(new AcceptedFlagScope);
31-
}
21+
use HasAcceptedFlagHelpers,
22+
HasAcceptedFlagScope;
3223
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Laravel Eloquent Flag.
5+
*
6+
* (c) CyberCog <support@cybercog.su>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Cog\Flag\Traits\Classic;
13+
14+
/**
15+
* Class HasAcceptedFlagHelpers.
16+
*
17+
* @package Cog\Flag\Traits\Classic
18+
*/
19+
trait HasAcceptedFlagHelpers
20+
{
21+
//
22+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Laravel Eloquent Flag.
5+
*
6+
* (c) CyberCog <support@cybercog.su>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Cog\Flag\Traits\Classic;
13+
14+
use Cog\Flag\Scopes\Classic\AcceptedFlagScope;
15+
16+
/**
17+
* Class HasAcceptedFlagScope.
18+
*
19+
* @package Cog\Flag\Traits\Classic
20+
*/
21+
trait HasAcceptedFlagScope
22+
{
23+
/**
24+
* Boot the HasAcceptedFlagScope trait for a model.
25+
*
26+
* @return void
27+
*/
28+
public static function bootHasAcceptedFlagScope()
29+
{
30+
static::addGlobalScope(new AcceptedFlagScope);
31+
}
32+
}

src/Traits/Classic/HasActiveFlag.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,13 @@
1111

1212
namespace Cog\Flag\Traits\Classic;
1313

14-
use Cog\Flag\Scopes\Classic\ActiveFlagScope;
15-
1614
/**
1715
* Class HasActiveFlag.
1816
*
1917
* @package Cog\Flag\Traits\Classic
2018
*/
2119
trait HasActiveFlag
2220
{
23-
/**
24-
* Boot the HasKeptFlag trait for a model.
25-
*
26-
* @return void
27-
*/
28-
public static function bootHasActiveFlag()
29-
{
30-
static::addGlobalScope(new ActiveFlagScope);
31-
}
21+
use HasActiveFlagHelpers,
22+
HasActiveFlagScope;
3223
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Laravel Eloquent Flag.
5+
*
6+
* (c) CyberCog <support@cybercog.su>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Cog\Flag\Traits\Classic;
13+
14+
/**
15+
* Class HasActiveFlagHelpers.
16+
*
17+
* @package Cog\Flag\Traits\Classic
18+
*/
19+
trait HasActiveFlagHelpers
20+
{
21+
//
22+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Laravel Eloquent Flag.
5+
*
6+
* (c) CyberCog <support@cybercog.su>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Cog\Flag\Traits\Classic;
13+
14+
use Cog\Flag\Scopes\Classic\ActiveFlagScope;
15+
16+
/**
17+
* Class HasActiveFlagScope.
18+
*
19+
* @package Cog\Flag\Traits\Classic
20+
*/
21+
trait HasActiveFlagScope
22+
{
23+
/**
24+
* Boot the HasKeptFlagScope trait for a model.
25+
*
26+
* @return void
27+
*/
28+
public static function bootHasActiveFlagScope()
29+
{
30+
static::addGlobalScope(new ActiveFlagScope);
31+
}
32+
}

src/Traits/Classic/HasApprovedFlag.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,13 @@
1111

1212
namespace Cog\Flag\Traits\Classic;
1313

14-
use Cog\Flag\Scopes\Classic\ApprovedFlagScope;
15-
1614
/**
1715
* Class HasApprovedFlag.
1816
*
1917
* @package Cog\Flag\Traits\Classic
2018
*/
2119
trait HasApprovedFlag
2220
{
23-
/**
24-
* Boot the HasApprovedFlag trait for a model.
25-
*
26-
* @return void
27-
*/
28-
public static function bootHasApprovedFlag()
29-
{
30-
static::addGlobalScope(new ApprovedFlagScope);
31-
}
21+
use HasApprovedFlagHelpers,
22+
HasApprovedFlagScope;
3223
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Laravel Eloquent Flag.
5+
*
6+
* (c) CyberCog <support@cybercog.su>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Cog\Flag\Traits\Classic;
13+
14+
/**
15+
* Class HasApprovedFlagHelpers.
16+
*
17+
* @package Cog\Flag\Traits\Classic
18+
*/
19+
trait HasApprovedFlagHelpers
20+
{
21+
//
22+
}

0 commit comments

Comments
 (0)