Skip to content

Commit f0a492c

Browse files
author
Pe Ell
authored
Add laravel 5.4 support (#7)
Add Laravel 5.4 support
2 parents d1e3dc2 + d2e0f57 commit f0a492c

File tree

9 files changed

+106
-10
lines changed

9 files changed

+106
-10
lines changed

.travis.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
language: php
22

3+
sudo: false
4+
35
php:
46
- 5.6
57
- 7.0
68
- 7.1
79

10+
env:
11+
global:
12+
- setup=basic
13+
814
before_script:
9-
- travis_retry composer self-update
10-
- travis_retry composer install --no-interaction
15+
- composer config discard-changes true
16+
- if [[ $setup = 'basic' ]]; then travis_retry composer install --prefer-dist --no-interaction; fi
17+
- if [[ $setup = 'stable' ]]; then travis_retry composer update --prefer-dist --no-interaction --prefer-stable; fi
18+
- if [[ $setup = 'lowest' ]]; then travis_retry composer update --prefer-dist --no-interaction --prefer-lowest --prefer-stable; fi
1119

12-
script: vendor/bin/phpunit --verbose
20+
script:
21+
- ./vendor/bin/phpunit -c phpunit.xml.dist --verbose

CHANGELOG.md

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

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

5+
## 2.2.0 - 2017-02-07
6+
7+
### Added
8+
9+
- `owner()` alias for method `ownedBy`
10+
- Laravel 5.4 support
11+
512
## 2.1.0 - 2016-12-21
613

714
### Added

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,15 @@ Schema::table('articles', function (Blueprint $table) {
140140

141141
```php
142142
$article->ownedBy();
143+
$article->owner();
143144
```
144145

145146
#### Get model owner
146147

147148
```php
148149
$article->getOwner();
150+
$article->ownedBy;
151+
$article->owner;
149152
```
150153

151154
#### Change (set) owner

composer.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,15 @@
4040
"docs": "https://github.com/cybercog/laravel-ownership/wiki"
4141
},
4242
"require": {
43+
"php": "^5.6|^7.0",
4344
"illuminate/database": "~5.2.0|~5.3.0|~5.4.0",
44-
"illuminate/support": "~5.2.0|~5.3.0|~5.4.0",
45-
"php": "^5.6|^7.0"
45+
"illuminate/support": "~5.2.0|~5.3.0|~5.4.0"
4646
},
4747
"require-dev": {
4848
"friendsofphp/php-cs-fixer": "^1.11",
4949
"mockery/mockery": "^0.9.5",
50-
"orchestra/testbench": "~3.0",
50+
"orchestra/testbench": "~3.4.0",
51+
"orchestra/database": "~3.4.0",
5152
"phpunit/phpunit": "^5.2"
5253
},
5354
"autoload": {
@@ -62,5 +63,7 @@
6263
},
6364
"config": {
6465
"sort-packages": true
65-
}
66+
},
67+
"minimum-stability": "dev",
68+
"prefer-stable" : true
6669
}

src/Contracts/HasOwner.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ interface HasOwner
2828
*/
2929
public function ownedBy();
3030

31+
/**
32+
* Get the model owner. Alias for `ownedBy()` method.
33+
*
34+
* @return mixed
35+
*/
36+
public function owner();
37+
3138
/**
3239
* Get the model owner.
3340
*

src/Traits/HasMorphOwner.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ public function ownedBy()
4848
return $this->morphTo('owned_by');
4949
}
5050

51+
/**
52+
* Get the model owner. Alias for `ownedBy()` method.
53+
*
54+
* @return \Illuminate\Database\Eloquent\Relations\MorphTo
55+
*/
56+
public function owner()
57+
{
58+
return $this->ownedBy();
59+
}
60+
5161
/**
5262
* Get the model owner.
5363
*

src/Traits/HasOwner.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ public function ownedBy()
4949
return $this->belongsTo($this->getOwnerModel(), $this->getOwnerForeignKey(), $this->getOwnerPrimaryKey());
5050
}
5151

52+
/**
53+
* Get the model owner. Alias for `ownedBy()` method.
54+
*
55+
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
56+
*/
57+
public function owner()
58+
{
59+
return $this->ownedBy();
60+
}
61+
5262
/**
5363
* Get the model owner.
5464
*

tests/TestCase.php

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ protected function setUp()
3030
{
3131
parent::setUp();
3232

33+
$this->registerMigrations();
3334
$this->migrateUnitTestTables();
3435
$this->registerPackageFactories();
3536
$this->registerTestMorphMaps();
@@ -56,21 +57,33 @@ protected function getPackageProviders($app)
5657
{
5758
return [
5859
\Cog\Ownership\Providers\OwnershipServiceProvider::class,
60+
\Orchestra\Database\ConsoleServiceProvider::class,
5961
];
6062
}
6163

6264
/**
63-
* Perform unit test database migrations.
65+
* Register test migrations.
6466
*
6567
* @return void
6668
*/
67-
protected function migrateUnitTestTables()
69+
protected function registerMigrations()
6870
{
69-
$this->artisan('migrate', [
71+
$this->loadMigrationsFrom([
72+
//'--database' => 'sqlite',
7073
'--realpath' => realpath(__DIR__ . '/database/migrations'),
7174
]);
7275
}
7376

77+
/**
78+
* Perform unit test database migrations.
79+
*
80+
* @return void
81+
*/
82+
protected function migrateUnitTestTables()
83+
{
84+
$this->artisan('migrate');
85+
}
86+
7487
/**
7588
* Register package related model factories.
7689
*

tests/unit/Traits/HasOwnerTest.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Cog\Ownership\Tests\Stubs\Models\Character;
1818
use Cog\Ownership\Tests\Stubs\Models\EntityWithOwner;
1919
use Cog\Ownership\Tests\Stubs\Models\EntityWithDefaultOwner;
20+
use Illuminate\Database\Eloquent\Relations\BelongsTo;
2021

2122
/**
2223
* Class HasOwnerTest.
@@ -25,6 +26,28 @@
2526
*/
2627
class HasOwnerTest extends TestCase
2728
{
29+
/** @test */
30+
public function it_can_get_owner_relation()
31+
{
32+
$user = factory(User::class)->create();
33+
$entity = factory(EntityWithOwner::class)->create([
34+
'owned_by' => $user->getKey(),
35+
]);
36+
37+
$this->assertInstanceOf(BelongsTo::class, $entity->ownedBy());
38+
}
39+
40+
/** @test */
41+
public function it_can_get_owner_relation_using_alias()
42+
{
43+
$user = factory(User::class)->create();
44+
$entity = factory(EntityWithOwner::class)->create([
45+
'owned_by' => $user->getKey(),
46+
]);
47+
48+
$this->assertInstanceOf(BelongsTo::class, $entity->owner());
49+
}
50+
2851
/** @test */
2952
public function it_can_belong_to_owner()
3053
{
@@ -36,6 +59,17 @@ public function it_can_belong_to_owner()
3659
$this->assertInstanceOf(User::class, $entity->ownedBy);
3760
}
3861

62+
/** @test */
63+
public function it_can_belong_to_owner_using_alias()
64+
{
65+
$user = factory(User::class)->create();
66+
$entity = factory(EntityWithOwner::class)->create([
67+
'owned_by' => $user->getKey(),
68+
]);
69+
70+
$this->assertInstanceOf(User::class, $entity->owner);
71+
}
72+
3973
/** @test */
4074
public function it_can_get_owner()
4175
{

0 commit comments

Comments
 (0)