コード例 #1
0
 public function testConstructor()
 {
     $service = new Description(['operations' => $this->operations]);
     $this->assertEquals(1, count($service->getOperations()));
     $this->assertFalse($service->hasOperation('foobar'));
     $this->assertTrue($service->hasOperation('test_command'));
 }
コード例 #2
0
ファイル: GuzzleClient.php プロジェクト: daskleinesys/slimpd
 /**
  * Creates a callable function used to create command objects from a
  * service description.
  *
  * @param Description $description Service description
  *
  * @return callable Returns a command factory
  */
 public static function defaultCommandFactory(Description $description)
 {
     return function ($name, array $args = [], GuzzleClientInterface $client) use($description) {
         $operation = null;
         if ($description->hasOperation($name)) {
             $operation = $description->getOperation($name);
         } else {
             $name = ucfirst($name);
             if ($description->hasOperation($name)) {
                 $operation = $description->getOperation($name);
             }
         }
         if (!$operation) {
             return null;
         }
         return new Command($operation, $args, clone $client->getEmitter());
     };
 }
コード例 #3
0
ファイル: Operation.php プロジェクト: bobozhangshao/HeartCare
 private function resolveExtends($name, array $config)
 {
     if (!$this->description->hasOperation($name)) {
         throw new \InvalidArgumentException('No operation named ' . $name);
     }
     // Merge parameters together one level deep
     $base = $this->description->getOperation($name)->toArray();
     $result = $config + $base;
     if (isset($base['parameters']) && isset($config['parameters'])) {
         $result['parameters'] = $config['parameters'] + $base['parameters'];
     }
     return $result;
 }