Skip to content

Commit 29b57b1

Browse files
committed
Refmagic
1 parent 11900d8 commit 29b57b1

File tree

4 files changed

+323
-174
lines changed

4 files changed

+323
-174
lines changed

lib/Elastica/QueryBuilder/DSL/Aggregation.php

+104-52
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,11 @@ public function getType()
5959
*
6060
* @return Min
6161
*/
62-
public function min($name)
62+
public function min()
6363
{
64-
return new Min($name);
64+
$ref = new \ReflectionClass('Elastica\Aggregation\Min');
65+
66+
return $ref->newInstanceArgs(func_get_args());
6567
}
6668

6769
/**
@@ -73,9 +75,11 @@ public function min($name)
7375
*
7476
* @return Max
7577
*/
76-
public function max($name)
78+
public function max()
7779
{
78-
return new Max($name);
80+
$ref = new \ReflectionClass('Elastica\Aggregation\Max');
81+
82+
return $ref->newInstanceArgs(func_get_args());
7983
}
8084

8185
/**
@@ -87,9 +91,11 @@ public function max($name)
8791
*
8892
* @return Sum
8993
*/
90-
public function sum($name)
94+
public function sum()
9195
{
92-
return new Sum($name);
96+
$ref = new \ReflectionClass('Elastica\Aggregation\Sum');
97+
98+
return $ref->newInstanceArgs(func_get_args());
9399
}
94100

95101
/**
@@ -101,9 +107,11 @@ public function sum($name)
101107
*
102108
* @return Avg
103109
*/
104-
public function avg($name)
110+
public function avg()
105111
{
106-
return new Avg($name);
112+
$ref = new \ReflectionClass('Elastica\Aggregation\Avg');
113+
114+
return $ref->newInstanceArgs(func_get_args());
107115
}
108116

109117
/**
@@ -115,9 +123,11 @@ public function avg($name)
115123
*
116124
* @return Stats
117125
*/
118-
public function stats($name)
126+
public function stats()
119127
{
120-
return new Stats($name);
128+
$ref = new \ReflectionClass('Elastica\Aggregation\Stats');
129+
130+
return $ref->newInstanceArgs(func_get_args());
121131
}
122132

123133
/**
@@ -129,9 +139,11 @@ public function stats($name)
129139
*
130140
* @return ExtendedStats
131141
*/
132-
public function extended_stats($name)
142+
public function extended_stats()
133143
{
134-
return new ExtendedStats($name);
144+
$ref = new \ReflectionClass('Elastica\Aggregation\ExtendedStats');
145+
146+
return $ref->newInstanceArgs(func_get_args());
135147
}
136148

137149
/**
@@ -144,9 +156,11 @@ public function extended_stats($name)
144156
*
145157
* @return ValueCount
146158
*/
147-
public function value_count($name, $field)
159+
public function value_count()
148160
{
149-
return new ValueCount($name, $field);
161+
$ref = new \ReflectionClass('Elastica\Aggregation\ValueCount');
162+
163+
return $ref->newInstanceArgs(func_get_args());
150164
}
151165

152166
/**
@@ -159,9 +173,11 @@ public function value_count($name, $field)
159173
*
160174
* @return Percentiles
161175
*/
162-
public function percentiles($name, $field = null)
176+
public function percentiles()
163177
{
164-
return new Percentiles($name, $field);
178+
$ref = new \ReflectionClass('Elastica\Aggregation\Percentiles');
179+
180+
return $ref->newInstanceArgs(func_get_args());
165181
}
166182

167183
/**
@@ -183,9 +199,11 @@ public function percentile_ranks()
183199
*
184200
* @return Cardinality
185201
*/
186-
public function cardinality($name)
202+
public function cardinality()
187203
{
188-
return new Cardinality($name);
204+
$ref = new \ReflectionClass('Elastica\Aggregation\Cardinality');
205+
206+
return $ref->newInstanceArgs(func_get_args());
189207
}
190208

191209
/**
@@ -207,9 +225,11 @@ public function geo_bounds()
207225
*
208226
* @return TopHits
209227
*/
210-
public function top_hits($name)
228+
public function top_hits()
211229
{
212-
return new TopHits($name);
230+
$ref = new \ReflectionClass('Elastica\Aggregation\TopHits');
231+
232+
return $ref->newInstanceArgs(func_get_args());
213233
}
214234

215235
/**
@@ -225,9 +245,11 @@ public function top_hits($name)
225245
*
226246
* @return ScriptedMetric
227247
*/
228-
public function scripted_metric($name, $initScript = null, $mapScript = null, $combineScript = null, $reduceScript = null)
248+
public function scripted_metric()
229249
{
230-
return new ScriptedMetric($name, $initScript, $mapScript, $combineScript, $reduceScript);
250+
$ref = new \ReflectionClass('Elastica\Aggregation\ScriptedMetric');
251+
252+
return $ref->newInstanceArgs(func_get_args());
231253
}
232254

233255
/**
@@ -239,9 +261,11 @@ public function scripted_metric($name, $initScript = null, $mapScript = null, $c
239261
*
240262
* @return GlobalAggregation
241263
*/
242-
public function global_agg($name)
264+
public function global_agg()
243265
{
244-
return new GlobalAggregation($name);
266+
$ref = new \ReflectionClass('Elastica\Aggregation\GlobalAggregation');
267+
268+
return $ref->newInstanceArgs(func_get_args());
245269
}
246270

247271
/**
@@ -254,9 +278,11 @@ public function global_agg($name)
254278
*
255279
* @return FilterAggregation
256280
*/
257-
public function filter($name, AbstractFilter $filter = null)
281+
public function filter()
258282
{
259-
return new FilterAggregation($name, $filter);
283+
$ref = new \ReflectionClass('Elastica\Aggregation\FilterAggregation');
284+
285+
return $ref->newInstanceArgs(func_get_args());
260286
}
261287

262288
/**
@@ -268,9 +294,11 @@ public function filter($name, AbstractFilter $filter = null)
268294
*
269295
* @return Filters
270296
*/
271-
public function filters($name)
297+
public function filters()
272298
{
273-
return new Filters($name);
299+
$ref = new \ReflectionClass('Elastica\Aggregation\Filters');
300+
301+
return $ref->newInstanceArgs(func_get_args());
274302
}
275303

276304
/**
@@ -283,9 +311,11 @@ public function filters($name)
283311
*
284312
* @return Missing
285313
*/
286-
public function missing($name, $field)
314+
public function missing()
287315
{
288-
return new Missing($name, $field);
316+
$ref = new \ReflectionClass('Elastica\Aggregation\Missing');
317+
318+
return $ref->newInstanceArgs(func_get_args());
289319
}
290320

291321
/**
@@ -298,9 +328,11 @@ public function missing($name, $field)
298328
*
299329
* @return Nested
300330
*/
301-
public function nested($name, $path)
331+
public function nested()
302332
{
303-
return new Nested($name, $path);
333+
$ref = new \ReflectionClass('Elastica\Aggregation\Nested');
334+
335+
return $ref->newInstanceArgs(func_get_args());
304336
}
305337

306338
/**
@@ -313,9 +345,11 @@ public function nested($name, $path)
313345
*
314346
* @return ReverseNested
315347
*/
316-
public function reverse_nested($name, $path = null)
348+
public function reverse_nested()
317349
{
318-
return new ReverseNested($name, $path);
350+
$ref = new \ReflectionClass('Elastica\Aggregation\ReverseNested');
351+
352+
return $ref->newInstanceArgs(func_get_args());
319353
}
320354

321355
/**
@@ -337,9 +371,11 @@ public function children()
337371
*
338372
* @return Terms
339373
*/
340-
public function terms($name)
374+
public function terms()
341375
{
342-
return new Terms($name);
376+
$ref = new \ReflectionClass('Elastica\Aggregation\Terms');
377+
378+
return $ref->newInstanceArgs(func_get_args());
343379
}
344380

345381
/**
@@ -351,9 +387,11 @@ public function terms($name)
351387
*
352388
* @return SignificantTerms
353389
*/
354-
public function significant_terms($name)
390+
public function significant_terms()
355391
{
356-
return new SignificantTerms($name);
392+
$ref = new \ReflectionClass('Elastica\Aggregation\SignificantTerms');
393+
394+
return $ref->newInstanceArgs(func_get_args());
357395
}
358396

359397
/**
@@ -365,9 +403,11 @@ public function significant_terms($name)
365403
*
366404
* @return Range
367405
*/
368-
public function range($name)
406+
public function range()
369407
{
370-
return new Range($name);
408+
$ref = new \ReflectionClass('Elastica\Aggregation\Range');
409+
410+
return $ref->newInstanceArgs(func_get_args());
371411
}
372412

373413
/**
@@ -379,9 +419,11 @@ public function range($name)
379419
*
380420
* @return DateRange
381421
*/
382-
public function date_range($name)
422+
public function date_range()
383423
{
384-
return new DateRange($name);
424+
$ref = new \ReflectionClass('Elastica\Aggregation\DateRange');
425+
426+
return $ref->newInstanceArgs(func_get_args());
385427
}
386428

387429
/**
@@ -394,9 +436,11 @@ public function date_range($name)
394436
*
395437
* @return IpRange
396438
*/
397-
public function ipv4_range($name, $field)
439+
public function ipv4_range()
398440
{
399-
return new IpRange($name, $field);
441+
$ref = new \ReflectionClass('Elastica\Aggregation\IpRange');
442+
443+
return $ref->newInstanceArgs(func_get_args());
400444
}
401445

402446
/**
@@ -410,9 +454,11 @@ public function ipv4_range($name, $field)
410454
*
411455
* @return Histogram
412456
*/
413-
public function histogram($name, $field, $interval)
457+
public function histogram()
414458
{
415-
return new Histogram($name, $field, $interval);
459+
$ref = new \ReflectionClass('Elastica\Aggregation\Histogram');
460+
461+
return $ref->newInstanceArgs(func_get_args());
416462
}
417463

418464
/**
@@ -426,9 +472,11 @@ public function histogram($name, $field, $interval)
426472
*
427473
* @return DateHistogram
428474
*/
429-
public function date_histogram($name, $field, $interval)
475+
public function date_histogram()
430476
{
431-
return new DateHistogram($name, $field, $interval);
477+
$ref = new \ReflectionClass('Elastica\Aggregation\DateHistogram');
478+
479+
return $ref->newInstanceArgs(func_get_args());
432480
}
433481

434482
/**
@@ -442,9 +490,11 @@ public function date_histogram($name, $field, $interval)
442490
*
443491
* @return GeoDistance
444492
*/
445-
public function geo_distance($name, $field, $origin)
493+
public function geo_distance()
446494
{
447-
return new GeoDistance($name, $field, $origin);
495+
$ref = new \ReflectionClass('Elastica\Aggregation\GeoDistance');
496+
497+
return $ref->newInstanceArgs(func_get_args());
448498
}
449499

450500
/**
@@ -457,8 +507,10 @@ public function geo_distance($name, $field, $origin)
457507
*
458508
* @return GeohashGrid
459509
*/
460-
public function geohash_grid($name, $field)
510+
public function geohash_grid()
461511
{
462-
return new GeohashGrid($name, $field);
512+
$ref = new \ReflectionClass('Elastica\Aggregation\GeohashGrid');
513+
514+
return $ref->newInstanceArgs(func_get_args());
463515
}
464516
}

0 commit comments

Comments
 (0)