Commit graph

42 commits

Author SHA1 Message Date
Henrique Moody 4fd26e39bb
Rename "NotOptional" to "NotUndef"
Since I've already renamed the "Optional" rule to "UnderOf," it makes
sense to rename this rule too.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-05-06 20:45:27 +02:00
Henrique Moody d7dc0f2b4e
Refactor the "NullOr" rule and related classes
This commit will rename the "Nullable" rule to "NullOr" while soft
deprecating the old name. It should work the same as the previous one
but with a different name. It will also prefix the result ID, allowing
more message customization.

While working on it, I realized that the prefix "nullOr" had a typo,
and it was using "nullOf" instead. I fixed that, too.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-03-26 01:55:50 +01:00
Henrique Moody 707dcae65f
Refactor the "UndefOr" rule and related classes
This commit will rename the "Optional" rule to"UndefOr" while soft
deprecating the old name. It should work the same as the previous one
but with a different name. It will also prefix the result ID, allowing
more message customization.

While working on it, I realized that the prefix "undefOr" had a typo,
and it was using "undefOf" instead. I fixed that, too.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-03-26 01:35:36 +01:00
Henrique Moody 97b243daa1
Allow building rules using prefixes
Although helpful, the changes in the Min, Max, and Length rules made
using those rules more verbose. This commit will simplify their use by
allowing users to use them as prefixes.

Because I was creating prefixes for those rules, I made other cool
prefixes. Doing that is scary because it will generate more code to
support, and I would have liked to avoid that. However, that's a
valuable addition, and it's worth the risk.

I might reconsider that in the future, but for now, that looks like a
good idea.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-03-24 16:58:24 +01:00
Henrique Moody a45a0a26ab
Use PHP ISO Codes in the "LanguageCode" rule
Since we now have PHP ISO Codes as a dependency[1], it doesn't make
sense to keep dealing with this data ourselves.

[1]: 04b2722d02

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-02-22 19:27:49 +01:00
Henrique Moody 27d7db5cc6
Use PHP ISO Codes in the "CurrencyCode" rule
Since we now have PHP ISO Codes as a dependency[1], it doesn't make
sense to keep dealing with this data ourselves.

[1]: 04b2722d02

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-02-22 19:23:01 +01:00
Henrique Moody fcb6ea5fdb
Fix broken documentation links
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-02-19 11:34:26 +01:00
Henrique Moody 04b2722d02
Remove ISO 3166-2 data in favor of PHP ISO codes
Keeping the list of ISO 3166-2 up-to-date requires some maintenance. At
the same time, PHP ISO Codes maintains an up-to-date database with even
more ISO codes we could use in this library.

This change doesn't fully use all resources of PHP ISO Codes, but it
already removes some unnecessary code from the repository.

We've already used this library, but it was heavy because it included
all the localizations in it. Now, the package is much smaller (5.0M).

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-02-13 21:53:46 +01:00
Alexandre Gomes Gaigalas 7c28d2c1f4 Update sorting order on public suffix data 2023-02-19 00:44:41 -03:00
Alexandre Gomes Gaigalas ce9608d0a8 Auto update postal code list
- For this particular updater, a list of exceptions to the rules
   downloaded by geonames is included in POSTAL_CODES_EXTRA, for
   cases in which we seem to do better than geonames itself based
   on previous user reports.
 - Added an option to also validate formatting of the postal codes.
 - Combined multiple PR bots into a single one.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas e2b6138bf6 Add PublicDomainSuffix Rule
- List will be auto-updated from https://publicsuffix.org/list/public_suffix_list.dat
 - Updated AbstractSearcher rules to be case insensitive
 - Updated PR creator bots
 - Docs and tests
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 6173757f63 Use PHP files and setup a runtime cache for CountryInfo
Previously, we were loading country info from a JSON file. This
changes it to use PHP files instead. It also caches these resources
across calls avoiding these files to be loaded more than once
per process.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas ef4778b456 Remove version info from Tld.php
We currently use a GitHub action to automate updating this file.

That action has the ability to ignore making the PR if the file
didn't changed.

Having the version number, which changed a line, was causing
several useless PR.

Users can still check if Tld.php changed by seeing the git log,
and a manual note should be issued by the maintainer on the
CHANGELOG.md file when a release containing such changes is
made.
2023-02-19 00:19:09 -03:00
Alexandre Gomes Gaigalas f080f7da08 Improve auto-updaters and pull requesters, auto-tld fix 2023-02-15 00:49:09 -03:00
Alexandre Gomes Gaigalas 74dee73f65 Update updater workflows, remove countries outside ISO-3366-2, cleanup 2023-02-15 00:29:10 -03:00
Alexandre Gomes Gaigalas 1e2f75287c Change update_subdivision_codes to work with salsa/iso-codes, updates data 2023-02-15 00:01:32 -03:00
Alexandre Gomes Gaigalas 15f148da24 Dusting off. See CHANGELOG.md for more details on this commit 2023-02-13 03:59:11 -03:00
Henrique Moody 4c21a7ffc9
Revert "Use "sokil/php-isocodes" on SubdivisionCode"
This reverts commit 9c9c76ebfb.
2021-03-19 15:12:45 +01:00
Henrique Moody 745a5712eb
Revert "Use "sokil/php-isocodes" on CurrencyCode"
This reverts commit f9b9dd21f9.
2021-03-19 15:12:44 +01:00
Henrique Moody b78f602f0e
Revert "Use "sokil/php-isocodes" on LanguageCode"
This reverts commit 5450ef86a8.
2021-03-19 15:12:44 +01:00
Henrique Moody 5450ef86a8
Use "sokil/php-isocodes" on LanguageCode
Since we already have that library as a dependency of our repository, it
makes sense to use it as a source of language codes instead of keeping a
list of currencies ourselves.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-02-06 15:53:11 +01:00
Henrique Moody f9b9dd21f9
Use "sokil/php-isocodes" on CurrencyCode
Since "sokil/php-isocodes" is a dependency of our repository already, it
makes sense to use it as a source of currency codes instead of keeping a
list of currencies ourselves.

By using that library, we can also validate currency codes using
different sets.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-02-06 15:52:40 +01:00
Henrique Moody 9c9c76ebfb
Use "sokil/php-isocodes" on SubdivisionCode
Inside the "data/" directory, we have files with lists of subdivisions
that need to be updated. We have to update them manually, or we automate
that task with a script and GitHub actions.

The two options are very time consuming and also not ideal. We don't
want to deal with that problem and, thinking that the user of this
library may want to show the data that we validate, we should create a
whole library to make it more usable.

The "sokil/php-isocodes" is a simple library that, even supports
translations. It's frequently updated and has gone to major performance
updates.

I am not fond of the idea of requiring an external library to install
Validation, as I have seen that gone wrong before [1]. Ideally, that
would be an optional dependency for people who would like to use those
rules, but to make that happen, we need to release a MAJOR version.

[1]: d072b4de6a

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-02-06 15:09:04 +01:00
Henrique Moody 3be622a9fa
Configure GitHub workflow to update top-level domains
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2020-05-26 19:19:25 +02:00
Henrique Moody 83b515d0a3
Configure GitHub workflow to update language codes
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2020-05-26 18:33:23 +02:00
Henrique Moody bb9ff1dba0
Configure GitHub workflow to update currency codes
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2020-05-26 18:32:18 +02:00
Henrique Moody e0fbed32c9
Update list of currency codes
Also updates the script that updates the currency codes.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2020-05-20 15:02:44 +02:00
Henrique Moody 2d0f56d9cb
Merge branch '1.1'
This commit will revert the update of subdivision codes [1] since the
way we store this data is very different from the merged branch.

[1]: 8b8f7db713

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-29 23:17:53 +02:00
Henrique Moody 45d109fc83
Update list of currency codes
This commit will also create a Bash script to update that list in the
future.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-28 08:10:06 +02:00
Henrique Moody c51931679c
Update list of language code
This commit will also create a Bash script to update that list in the
future.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-28 08:02:57 +02:00
Henrique Moody 8b8f7db713
Update list of subdivision codes
To update the list of subdivisions, I decided to use the iso-codes [1]
instead of GeoNames [2] as it seems like that one is more often updated.

This commit will also create a Bash script to update that list in the
future.

[1]: https://salsa.debian.org/iso-codes-team/iso-codes
[2]: http://www.geonames.org/

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-26 16:18:49 +02:00
Henrique Moody f580e187d0
Update list of Country Codes
To update the list of countries, I decided to use the iso-codes [1]
instead of GeoNames [2] as it seems like that one is more often updated.

This commit will also create a Bash script to update that list in the
future.

[1]: https://salsa.debian.org/iso-codes-team/iso-codes
[2]: http://www.geonames.org/

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-26 14:59:41 +02:00
Henrique Moody 9b810b0e55
Create script to update TLD list
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-26 13:18:47 +02:00
Henrique Moody 14e8eee7a0
Create script to update documentation links
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-23 23:16:04 +02:00
Alexandre Gaigalas e3a34851d4 Updating packaging tools 2012-04-07 23:05:16 -03:00
Alexandre Gaigalas e5588fa17e Travis 2011-12-23 17:39:11 -02:00
Alexandre Gaigalas 70c88daffd Trying to fix travis 2011-12-22 17:16:25 -02:00
Alexandre Gaigalas 31618eefb4 Trying to fix travis 2011-12-22 16:49:49 -02:00
Alexandre Gaigalas 30a1056600 New makefile, phar packager from Foundation 2011-11-30 19:05:53 -02:00
Alexandre 3f04c409c0 Packaging changes 2011-11-26 16:58:36 -02:00
Alexandre Gaigalas 06275f51e7 Small fixes for the packager 2011-11-24 19:48:44 -02:00
Alexandre Gaigalas 17d24d4094 Awesome new automation tools! Type 'make help' on the project root 2011-11-24 19:42:48 -02:00