| @@ 343-357 (lines=15) @@ | ||
| 340 | * @param CardAttribute|\Closure $attribute  | 
                                |
| 341 | * @return $this  | 
                                |
| 342 | */  | 
                                |
| 343 | public function addAttribute($attribute)  | 
                                |
| 344 |     { | 
                                |
| 345 |         if ($attribute instanceof CardAttribute) { | 
                                |
| 346 | $this->attributes[] = $attribute;  | 
                                |
| 347 | ||
| 348 | return $this;  | 
                                |
| 349 | }  | 
                                |
| 350 | ||
| 351 |         if ($attribute instanceof \Closure) { | 
                                |
| 352 | $attribute($new = new CardAttribute());  | 
                                |
| 353 | $this->attributes[] = $new;  | 
                                |
| 354 | ||
| 355 | return $this;  | 
                                |
| 356 | }  | 
                                |
| 357 | ||
| 358 |         throw new \InvalidArgumentException('Invalid attribute type. Expected '.CardAttribute::class.' or '.\Closure::class.'.'); | 
                                |
| 359 | }  | 
                                |
| 360 | ||
| @@ 261-275 (lines=15) @@ | ||
| 258 | * @param Card|\Closure|null $card  | 
                                |
| 259 | * @return $this  | 
                                |
| 260 | */  | 
                                |
| 261 | public function card($card)  | 
                                |
| 262 |     { | 
                                |
| 263 |         if ($card instanceof Card) { | 
                                |
| 264 | $this->card = $card;  | 
                                |
| 265 | ||
| 266 | return $this;  | 
                                |
| 267 | }  | 
                                |
| 268 | ||
| 269 |         if ($card instanceof \Closure) { | 
                                |
| 270 | $card($new = new Card());  | 
                                |
| 271 | $this->card = $new;  | 
                                |
| 272 | ||
| 273 | return $this;  | 
                                |
| 274 | }  | 
                                |
| 275 | ||
| 276 |         throw new \InvalidArgumentException('Invalid Card type. Expected '.Card::class.' or '.\Closure::class.'.'); | 
                                |
| 277 | }  | 
                                |
| 278 | ||