Skip to content

Commit bbba8cd

Browse files
Formatting
1 parent 6f58907 commit bbba8cd

File tree

5 files changed

+37
-37
lines changed

5 files changed

+37
-37
lines changed

src/Casts/MoneyCast.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Cknow\Money\Money;
66
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
77
use InvalidArgumentException;
8-
use Money\Currency;
98

109
abstract class MoneyCast implements CastsAttributes
1110
{
@@ -98,10 +97,10 @@ protected function getCurrency(array $attributes)
9897
$defaultCode = Money::getDefaultCurrency();
9998

10099
if ($this->currency === null) {
101-
return new Currency($defaultCode);
100+
return Money::parseCurrency($defaultCode);
102101
}
103102

104-
$currency = new Currency($this->currency);
103+
$currency = Money::parseCurrency($this->currency);
105104
$currencies = Money::getCurrencies();
106105

107106
if ($currencies->contains($currency)) {
@@ -110,6 +109,6 @@ protected function getCurrency(array $attributes)
110109

111110
$code = $attributes[$this->currency] ?? $defaultCode;
112111

113-
return new Currency($code);
112+
return Money::parseCurrency($code);
114113
}
115114
}

src/CurrenciesTrait.php

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,29 @@ trait CurrenciesTrait
2323
protected static $currencies;
2424

2525
/**
26-
* Validates currency.
26+
* Parse currency.
2727
*
2828
* @param \Money\Currency|string $currency
29-
* @return bool
29+
* @return \Money\Currency
3030
*/
31-
public static function isValidCurrency($currency)
31+
public static function parseCurrency($currency)
3232
{
3333
if (is_string($currency)) {
34-
$currency = new Currency($currency);
34+
return new Currency($currency);
3535
}
3636

37-
return static::getCurrencies()->contains($currency);
37+
return $currency;
38+
}
39+
40+
/**
41+
* Validates currency.
42+
*
43+
* @param \Money\Currency|string $currency
44+
* @return bool
45+
*/
46+
public static function isValidCurrency($currency)
47+
{
48+
return static::getCurrencies()->contains(static::parseCurrency($currency));
3849
}
3950

4051
/**
@@ -145,7 +156,7 @@ private static function makeCurrenciesForSource($config, Currencies $currencies,
145156
$lisCurrencies = [];
146157

147158
foreach ($config as $index => $currencyCode) {
148-
$currency = new Currency($currencyCode);
159+
$currency = static::parseCurrency($currencyCode);
149160

150161
if (! $currencies->contains($currency)) {
151162
throw new InvalidArgumentException(

src/MoneyFactory.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
namespace Cknow\Money;
44

5-
use Money\Currency;
6-
75
/**
86
* Money.
97
*
@@ -198,7 +196,7 @@ trait MoneyFactory
198196
*/
199197
public static function __callStatic($method, array $arguments)
200198
{
201-
return new Money($arguments[0], new Currency($method));
199+
return new Money($arguments[0], Money::parseCurrency($method));
202200
}
203201

204202
/**

src/MoneyParserTrait.php

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use InvalidArgumentException;
66
use Money\Currencies;
7-
use Money\Currency;
87
use Money\Exception\ParserException;
98
use Money\MoneyParser;
109
use Money\Parser\AggregateMoneyParser;
@@ -36,9 +35,7 @@ public static function parse($value, $currency = null, $bitCointDigits = 2)
3635
return static::fromMoney($value);
3736
}
3837

39-
if (is_string($currency)) {
40-
$currency = new Currency($currency);
41-
}
38+
$currency = static::parseCurrency($currency);
4239

4340
if (is_int($value) || filter_var($value, FILTER_VALIDATE_INT) !== false) {
4441
return new Money($value, $currency);
@@ -72,7 +69,7 @@ public static function parse($value, $currency = null, $bitCointDigits = 2)
7269
* Parse by aggregate.
7370
*
7471
* @param string $money
75-
* @param string|null $fallbackCurrency
72+
* @param \Money\Currency|string|null $fallbackCurrency
7673
* @param MoneyParser[] $parsers
7774
* @return \Cknow\Money\Money
7875
*/
@@ -87,7 +84,7 @@ public static function parseByAggregate($money, $fallbackCurrency = null, array
8784
* Parse by bitcoin.
8885
*
8986
* @param string $money
90-
* @param string|null $fallbackCurrency
87+
* @param \Money\Currency|string|null $fallbackCurrency
9188
* @param int $fractionDigits
9289
* @return \Cknow\Money\Money
9390
*/
@@ -102,7 +99,7 @@ public static function parseByBitcoin($money, $fallbackCurrency = null, $fractio
10299
* Parse by decimal.
103100
*
104101
* @param string $money
105-
* @param string|null $fallbackCurrency
102+
* @param \Money\Currency|string|null $fallbackCurrency
106103
* @param \Money\Currencies|null $currencies
107104
* @return \Cknow\Money\Money
108105
*/
@@ -117,7 +114,7 @@ public static function parseByDecimal($money, $fallbackCurrency = null, Currenci
117114
* Parse by intl.
118115
*
119116
* @param string $money
120-
* @param string|null $fallbackCurrency
117+
* @param \Money\Currency|string|null $fallbackCurrency
121118
* @param string|null $locale
122119
* @param \Money\Currencies|null $currencies
123120
* @param int $style
@@ -140,7 +137,7 @@ public static function parseByIntl(
140137
* Parse by intl localized decimal.
141138
*
142139
* @param string $money
143-
* @param string|null $fallbackCurrency
140+
* @param \Money\Currency|string|null $fallbackCurrency
144141
* @param string|null $locale
145142
* @param \Money\Currencies|null $currencies
146143
* @param int $style
@@ -164,14 +161,12 @@ public static function parseByIntlLocalizedDecimal(
164161
*
165162
* @param \Money\MoneyParser $parser
166163
* @param string $money
167-
* @param string|null $fallbackCurrency
164+
* @param \Money\Currency|string|null $fallbackCurrency
168165
* @return \Cknow\Money\Money
169166
*/
170167
public static function parseByParser(MoneyParser $parser, $money, $fallbackCurrency = null)
171168
{
172-
if (is_string($fallbackCurrency)) {
173-
$fallbackCurrency = new Currency($fallbackCurrency);
174-
}
169+
$fallbackCurrency = static::parseCurrency($fallbackCurrency);
175170

176171
return static::convert($parser->parse((string) $money, $fallbackCurrency));
177172
}

src/helpers.php

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
/**
55
* currency.
66
*
7-
* @param string|null $currency
7+
* @param \Money\Currency|string|null $currency
88
* @return \Money\Currency
99
*/
1010
function currency($currency = null)
1111
{
12-
return new Money\Currency($currency ?: Cknow\Money\Money::getDefaultCurrency());
12+
return Cknow\Money\Money::parseCurrency($currency ?: Cknow\Money\Money::getDefaultCurrency());
1313
}
1414
}
1515

@@ -18,15 +18,12 @@ function currency($currency = null)
1818
* money.
1919
*
2020
* @param int|string $amount
21-
* @param string|null $currency
21+
* @param \Money\Currency|string|null $currency
2222
* @return \Cknow\Money\Money
2323
*/
2424
function money($amount, $currency = null)
2525
{
26-
return new Cknow\Money\Money(
27-
$amount,
28-
currency($currency)
29-
);
26+
return new Cknow\Money\Money($amount, currency($currency));
3027
}
3128
}
3229

@@ -105,7 +102,7 @@ function money_parse($value, $currency = null)
105102
* money parse by bitcoin.
106103
*
107104
* @param string $money
108-
* @param string|null $fallbackCurrency
105+
* @param \Money\Currency|string|null $fallbackCurrency
109106
* @param int $fractionDigits
110107
* @return \Cknow\Money\Money
111108
*/
@@ -120,7 +117,7 @@ function money_parse_by_bitcoin($money, $fallbackCurrency = null, $fractionDigit
120117
* money parse by decimal.
121118
*
122119
* @param string $money
123-
* @param string|null $fallbackCurrency
120+
* @param \Money\Currency|string|null $fallbackCurrency
124121
* @param \Money\Currencies|null $currencies
125122
* @return \Cknow\Money\Money
126123
*/
@@ -135,7 +132,7 @@ function money_parse_by_decimal($money, $fallbackCurrency = null, Money\Currenci
135132
* money parse by intl.
136133
*
137134
* @param string $money
138-
* @param string|null $fallbackCurrency
135+
* @param \Money\Currency|string|null $fallbackCurrency
139136
* @param string|null $locale
140137
* @param \Money\Currencies|null $currencies
141138
* @return \Cknow\Money\Money
@@ -151,7 +148,7 @@ function money_parse_by_intl($money, $fallbackCurrency = null, $locale = null, M
151148
* money parse by intl localized decimal.
152149
*
153150
* @param string $money
154-
* @param string|null $fallbackCurrency
151+
* @param \Money\Currency|string|null $fallbackCurrency
155152
* @param string|null $locale
156153
* @param \Money\Currencies|null $currencies
157154
* @return \Cknow\Money\Money

0 commit comments

Comments
 (0)