Skip to content

Commit 675d087

Browse files
authored
Merge pull request #49 from ceeram/inflection-fix
Ensure endpoint is inflected correctly to classname
2 parents 5c6e4f9 + 61920b8 commit 675d087

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/Webservice/Webservice.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,8 @@ public function describe($endpoint)
165165
$shortName = App::shortName(get_class($this), 'Webservice', 'Webservice');
166166
list($plugin, $name) = pluginSplit($shortName);
167167

168-
$schemaShortName = implode('.', array_filter([$plugin, Inflector::classify($endpoint)]));
168+
$endpoint = Inflector::classify(str_replace('-', '_', $endpoint));
169+
$schemaShortName = implode('.', array_filter([$plugin, $endpoint]));
169170
$schemaClassName = App::className($schemaShortName, 'Model/Endpoint/Schema', 'Schema');
170171
if ($schemaClassName) {
171172
return new $schemaClassName($endpoint);

tests/TestCase/Webservice/WebserviceTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,15 @@ public function testTransformResults()
200200
$this->assertInstanceOf('\Muffin\Webservice\Model\Resource', $resources[0]);
201201
}
202202

203+
public function testDescribe()
204+
{
205+
$service = new TestWebservice();
206+
207+
$result = $service->describe('test');
208+
$this->assertInstanceOf('\Muffin\Webservice\Model\Schema', $result);
209+
$this->assertEquals('Test', $result->name());
210+
}
211+
203212
public function testDebugInfo()
204213
{
205214
$this->assertEquals([

0 commit comments

Comments
 (0)