예제 #1
0
 /**
  * @param  string $ormDataType
  * @return OrmDataTypeInterface
  */
 private function createOrmDataType($ormDataType)
 {
     $class = "\\Dive\\Schema\\OrmDataType\\" . CamelCase::toCamelCase($ormDataType) . 'OrmDataType';
     return new $class($ormDataType);
 }
예제 #2
0
 /**
  * @dataProvider provideToLowerCaseSeparateWith
  *
  * @param string $string
  * @param string $separator
  * @param string $expected
  */
 public function testToLowerCaseSeparateWith($string, $separator, $expected)
 {
     $actual = CamelCase::toLowerCaseSeparateWith($string, $separator);
     $this->assertEquals($expected, $actual);
 }
 /**
  * @return Relation
  */
 private function getRelation()
 {
     $relationName = CamelCase::toCamelCase($this->relatedRecord->getTable()->getTableName());
     return $this->storedRecord->getTableRelation($relationName);
 }
예제 #4
0
 /**
  * tries to guess relation alias names
  *
  * @param array $relation
  * @return array
  */
 protected function guessRelationAliases(array $relation)
 {
     $isOneToOne = $relation['type'] == Relation::ONE_TO_ONE;
     if ($relation['owningTable'] == $relation['refTable']) {
         $relation['refAlias'] = 'Parent';
         $relation['owningAlias'] = $isOneToOne ? 'Child' : 'Children';
         return $relation;
     }
     $relation['owningAlias'] = CamelCase::toCamelCase($relation['owningTable']);
     $relation['refAlias'] = CamelCase::toCamelCase($relation['refTable']);
     if (!$isOneToOne) {
         $relation['owningAlias'] .= 'HasMany';
     }
     return $relation;
 }
예제 #5
0
파일: TestCase.php 프로젝트: sigma-z/dive
 /**
  * @param string $ormDataType
  */
 protected function givenIHaveADataTypeOfType($ormDataType)
 {
     $class = '\\Dive\\Schema\\OrmDataType\\' . CamelCase::toCamelCase($ormDataType) . 'OrmDataType';
     $this->validator = new $class($ormDataType);
     $this->assertInstanceOf('\\Dive\\Schema\\OrmDataType\\OrmDataType', $this->validator);
 }