Skip to content

Commit faae07d

Browse files
committed
Inclusão do package HarryGulliford/Laravel-Firebird como backend deste package
Remoção de códigos não necessários
1 parent 4861c90 commit faae07d

File tree

7 files changed

+80
-136
lines changed

7 files changed

+80
-136
lines changed

.phpunit.result.cache

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
C:37:"PHPUnit\Runner\DefaultTestResultCache":1070:{a:2:{s:7:"defects";a:9:{s:44:"Tests\FirebirdModelTest::testInstanceOfModel";i:4;s:47:"Tests\FirebirdModelTest::testInstanceOfProducts";i:1;s:41:"Tests\UsersRepositoryTest::testCreateUser";i:4;s:36:"Tests\UsersRepositoryTest::testFirst";i:1;s:47:"Tests\UsersRepositoryTest::testSimplePagination";i:1;s:45:"Tests\UsersRepositoryTest::testFullPagination";i:4;s:41:"Tests\UsersRepositoryTest::testDeleteUser";i:3;s:41:"Tests\UsersRepositoryTest::testMassInsert";i:1;s:45:"Tests\UsersRepositoryTest::testSelectCriteria";i:1;}s:5:"times";a:9:{s:44:"Tests\FirebirdModelTest::testInstanceOfModel";d:0.132;s:47:"Tests\FirebirdModelTest::testInstanceOfProducts";d:0.052;s:41:"Tests\UsersRepositoryTest::testCreateUser";d:0.045;s:36:"Tests\UsersRepositoryTest::testFirst";d:0.043;s:47:"Tests\UsersRepositoryTest::testSimplePagination";d:0.152;s:45:"Tests\UsersRepositoryTest::testFullPagination";d:0.043;s:41:"Tests\UsersRepositoryTest::testDeleteUser";d:0.048;s:41:"Tests\UsersRepositoryTest::testMassInsert";d:0.068;s:45:"Tests\UsersRepositoryTest::testSelectCriteria";d:0.041;}}}

phpunit.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<server name="MAIL_DRIVER" value="array"/>
2626
<server name="QUEUE_CONNECTION" value="sync"/>
2727
<server name="SESSION_DRIVER" value="array"/>
28-
<env name="DB_DATABASE" value="/home/matheus/databases/laravel-firebird.fdb"/>
28+
<env name="DB_DATABASE" value="/Users/matheus/databases/laravel-firebird.fdb"/>
2929
<env name="DB_HOST" value="localhost"/>
3030
<env name="DB_USERNAME" value="sysdba"/>
3131
<env name="DB_PASSWORD" value="masterkey"/>

src/FirebirdModel.php

Lines changed: 40 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@
33
namespace Igrejanet\Firebird;
44

55
use Igrejanet\Firebird\Increasers\{IncreaseByGenerator, IncreaseById};
6-
use Igrejanet\Firebird\Query\FirebirdBuilder;
76
use Illuminate\Database\Eloquent\{Builder, Model};
87
use RuntimeException;
98

109
/**
1110
* FirebirdModel
1211
*
13-
* @author Matheus Lopes Santos <fale_com_lopez@hotmail.com>
14-
* @version 1.0.0
12+
* @author Matheus Lopes Santos <fale_com_lopez@hotmail.com>
13+
* @version 2.0.0
1514
* @package Igrejanet\Firebird
1615
*/
1716
class FirebirdModel extends Model
@@ -21,39 +20,36 @@ class FirebirdModel extends Model
2120
*/
2221
protected $generator = null;
2322

24-
public function runningFirebird() : bool
25-
{
26-
return $this->getConnection()->getDriverName() == 'firebird';
27-
}
28-
2923
/**
30-
* @return int
31-
* @throws RuntimeException
24+
* @param Builder $query
25+
* @param array $attributes
3226
*/
33-
public function increaseById()
27+
protected function insertAndSetId(Builder $query, $attributes)
3428
{
35-
$row = $this->getConnection()->selectOne(new IncreaseById($this->getKeyName(), $this->getTable()));
29+
if ( ! $this->runningFirebird() ) {
30+
parent::insertAndSetId($query, $attributes);
31+
} else {
32+
$keyName = $this->getKeyName();
3633

37-
if ( $row ) {
38-
return $row->CODIGO;
39-
}
34+
$primaryKeyIsSetted = ( isset($attributes[$keyName]) && ! is_null($attributes[$keyName]) );
4035

41-
throw new RuntimeException('Ocorreu um erro ao gerar o nº do registro. Tente novamente');
42-
}
36+
if ( $primaryKeyIsSetted ) {
37+
$query->insert($attributes);
38+
} else {
39+
$id = $this->generateId();
4340

44-
/**
45-
* @return int
46-
* @throws RuntimeException
47-
*/
48-
public function increaseByGenerator()
49-
{
50-
$row = $this->getConnection()->selectOne(new IncreaseByGenerator($this->generator));
41+
$attributes[$keyName] = $id;
5142

52-
if ( $row ) {
53-
return $row->CODIGO;
43+
$query->insert($attributes);
44+
45+
$this->setAttribute($keyName, $id);
46+
}
5447
}
48+
}
5549

56-
throw new RuntimeException('Ocorreu um erro ao gerar o nº do registro. Tente novamente');
50+
public function runningFirebird() : bool
51+
{
52+
return $this->getConnection()->getDriverName() == 'firebird';
5753
}
5854

5955
/**
@@ -69,43 +65,32 @@ public function generateId()
6965
}
7066

7167
/**
72-
* @param Builder $query
73-
* @param array $attributes
68+
* @return int
69+
* @throws RuntimeException
7470
*/
75-
protected function insertAndSetId(Builder $query, $attributes)
71+
public function increaseById()
7672
{
77-
if ( ! $this->runningFirebird() ) {
78-
parent::insertAndSetId($query, $attributes);
79-
} else {
80-
$keyName = $this->getKeyName();
81-
82-
$primaryKeyIsSetted = ( isset($attributes[$keyName]) && ! is_null($attributes[$keyName]) );
83-
84-
if ( $primaryKeyIsSetted ) {
85-
$query->insert($attributes);
86-
} else {
87-
$id = $this->generateId();
88-
89-
$attributes[$keyName] = $id;
90-
91-
$query->insert($attributes);
73+
$row = $this->getConnection()->selectOne(new IncreaseById($this->getKeyName(), $this->getTable()));
9274

93-
$this->setAttribute($keyName, $id);
94-
}
75+
if ( $row ) {
76+
return $row->CODIGO;
9577
}
78+
79+
throw new RuntimeException('Ocorreu um erro ao gerar o nº do registro. Tente novamente');
9680
}
9781

9882
/**
99-
* @return FirebirdBuilder|\Illuminate\Database\Query\Builder
83+
* @return int
84+
* @throws RuntimeException
10085
*/
101-
protected function newBaseQueryBuilder()
86+
public function increaseByGenerator()
10287
{
103-
$connection = $this->getConnection();
88+
$row = $this->getConnection()->selectOne(new IncreaseByGenerator($this->generator));
10489

105-
return new FirebirdBuilder(
106-
$connection,
107-
$connection->getQueryGrammar(),
108-
$connection->getPostProcessor()
109-
);
90+
if ( $row ) {
91+
return $row->CODIGO;
92+
}
93+
94+
throw new RuntimeException('Ocorreu um erro ao gerar o nº do registro. Tente novamente');
11095
}
11196
}

src/Providers/FirebirdServiceProvider.php

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

33
namespace Igrejanet\Firebird\Providers;
44

5-
use Igrejanet\Firebird\Database\FirebirdDatabaseManager;
65
use Illuminate\Support\ServiceProvider;
76

87
/**
98
* FirebirdServiceProvider
109
*
11-
* @author Matheus Lopes Santos <fale_com_lopez@hotmail.com>
12-
* @version 1.0.0
10+
* @author Matheus Lopes Santos <fale_com_lopez@hotmail.com>
11+
* @version 2.0.0
1312
* @package Igrejanet\Firebird\Providers
1413
*/
1514
class FirebirdServiceProvider extends ServiceProvider
@@ -21,21 +20,6 @@ public function boot()
2120

2221
public function register()
2322
{
24-
$this->registerFirebirdProvider();
25-
$this->registerDatabaseManager();
26-
}
27-
28-
public function registerFirebirdProvider()
29-
{
30-
$this->app->register(\Firebird\FirebirdServiceProvider::class);
31-
}
32-
33-
34-
public function registerDatabaseManager()
35-
{
36-
$this->app->singleton('db', function ($app)
37-
{
38-
return new FirebirdDatabaseManager($app, $app['db.factory']);
39-
});
23+
//
4024
}
4125
}

src/Query/FirebirdBuilder.php

Lines changed: 0 additions & 49 deletions
This file was deleted.

tests/Application.php

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
namespace Tests;
44

55
use Faker\Factory;
6+
use Firebird\Connection as FirebirdConnection;
67
use Firebird\ConnectionFactory as FirebirdConnectionFactory;
8+
use Firebird\FirebirdConnector;
79
use Igrejanet\Firebird\Database\FirebirdDatabaseManager;
810
use Illuminate\Config\Repository as Config;
911
use Illuminate\Container\Container;
12+
use Illuminate\Database\Connection;
13+
use Illuminate\Database\Connectors\ConnectionFactory;
14+
use Illuminate\Database\DatabaseManager;
1015
use Illuminate\Database\Eloquent\Model;
1116
use Illuminate\Database\Schema\Blueprint;
1217
use Illuminate\Events\Dispatcher;
@@ -17,14 +22,14 @@ class Application extends TestCase
1722
{
1823
protected $app;
1924

20-
protected function setUp()
25+
protected function setUp() : void
2126
{
2227
parent::setUp();
2328

2429
$this->startContainer();
2530
}
2631

27-
public static function setUpBeforeClass()
32+
public static function setUpBeforeClass() : void
2833
{
2934
parent::setUpBeforeClass();
3035

@@ -44,15 +49,33 @@ protected function startContainer()
4449
]);
4550
});
4651

47-
$this->app->singleton('db.factory', function($app)
52+
$this->app->bind('db.connector.firebird', FirebirdConnector::class);
53+
54+
Connection::resolverFor('firebird', function ($connection, $database, $tablePrefix, $config) {
55+
return new FirebirdConnection($connection, $database, $tablePrefix, $config);
56+
});
57+
58+
$this->app->singleton('db.factory', function ($app) {
59+
return new ConnectionFactory($app);
60+
});
61+
62+
$this->app->singleton('db', function ($app) {
63+
return new DatabaseManager($app, $app['db.factory']);
64+
});
65+
66+
$this->app->bind('db.connection', function ($app) {
67+
return $app['db']->connection();
68+
});
69+
70+
/*$this->app->singleton('db.factory', function($app)
4871
{
4972
return new FirebirdConnectionFactory($app);
50-
});
73+
});*/
5174

52-
$this->app->singleton('db', function ($app)
75+
/*$this->app->singleton('db', function ($app)
5376
{
5477
return new FirebirdDatabaseManager($app, $app['db.factory']);
55-
});
78+
});*/
5679

5780
$this->app->singleton('events', function($app)
5881
{

tests/UsersRepositoryTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Tests;
44

55
use Faker\Factory;
6+
use Illuminate\Database\Eloquent\ModelNotFoundException;
67
use Illuminate\Pagination\LengthAwarePaginator;
78
use Illuminate\Pagination\Paginator;
89
use Masterkey\Repository\Criteria\Select;
@@ -34,7 +35,7 @@ public function testSimplePagination()
3435
$faker = Factory::create('pt_BR');
3536
$users = new Users($this->app);
3637

37-
for ($i = 0; $i < 10; $i++) {
38+
for ( $i = 0; $i < 10; $i++ ) {
3839
$users->create(['NAME' => $faker->name, 'EMAIL' => $faker->safeEmail]);
3940
}
4041

@@ -54,17 +55,16 @@ public function testFullPagination()
5455
$this->assertInstanceOf(LengthAwarePaginator::class, $pagination);
5556
}
5657

57-
/**
58-
* @expectedException \Illuminate\Database\Eloquent\ModelNotFoundException
59-
*/
6058
public function testDeleteUser()
6159
{
60+
$this->expectException(ModelNotFoundException::class);
61+
6262
$users = new Users($this->app);
6363
$id = $users->first()->getAttribute('ID');
6464

6565
$users->delete($id);
6666

67-
$users->find($id);
67+
$users->findOrFail($id);
6868
}
6969

7070
public function testMassInsert()
@@ -74,7 +74,7 @@ public function testMassInsert()
7474

7575
$newData = [];
7676

77-
for ($i = 0; $i < 10; $i++) {
77+
for ( $i = 0; $i < 10; $i++ ) {
7878
array_push($newData, ['NAME' => $faker->name, 'EMAIL' => $faker->safeEmail]);
7979
}
8080

0 commit comments

Comments
 (0)