Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add aspect ratio support to Image rule #681

Merged
merged 18 commits into from
Apr 4, 2024
Merged

Conversation

arogachev
Copy link
Contributor

@arogachev arogachev commented Apr 1, 2024

Q A
Is bugfix?
New feature? ✔️
Breaks BC?

@arogachev arogachev self-assigned this Apr 1, 2024
@arogachev arogachev added the type:feature New feature label Apr 1, 2024
@arogachev arogachev added this to the 1.3 milestone Apr 1, 2024
Copy link

what-the-diff bot commented Apr 1, 2024

PR Summary

  • Enhancing The Image Class
    An update was made to incorporate two new properties - 'aspectRatioWidth' and 'aspectRatioHeight'. These allow developers to work more accurately with image dimensions. We've also included a method called 'validateAspectRatio' to ensure the aspect ratio is correct. In addition, for ease of communication, an 'invalidAspectRatioMessage' is included to provide a warning if the aspect ratio is not as expected.

  • Strengthening the ImageHandler Class
    In order to ensure the optimal proportions of the image, the method 'validateAspectRatio' was added to the ImageHandler class which deals with image processing tasks.

  • Introducing the ImageHandlerContainer Class
    A new class called 'ImageHandlerContainer' has been developed. This class is important because it aligns with the 'RuleHandlerResolverInterface' further ensuring that the image handling follows the indicated guidelines.

  • Retrieving Image File Path
    A new function 'getImageFilePath' was integrated in the ImageHandler class, making it easier for developers to access the location of the image file.

@arogachev arogachev linked an issue Apr 1, 2024 that may be closed by this pull request
Copy link

codecov bot commented Apr 1, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (1.x@f4c688c). Click here to learn what that means.

Additional details and impacted files
@@          Coverage Diff           @@
##             1.x     #681   +/-   ##
======================================
  Coverage       ?   94.16%           
  Complexity     ?      923           
======================================
  Files          ?      105           
  Lines          ?     2862           
  Branches       ?        0           
======================================
  Hits           ?     2695           
  Misses         ?      167           
  Partials       ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@arogachev arogachev marked this pull request as ready for review April 2, 2024 13:37
@arogachev arogachev requested a review from a team April 2, 2024 13:38
Copy link
Member

@samdark samdark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall 👍 Nice feature.

@arogachev arogachev requested a review from a team April 3, 2024 12:45
Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>
@arogachev arogachev merged commit 313f3ad into 1.x Apr 4, 2024
34 of 35 checks passed
@arogachev arogachev deleted the 677-image-aspect-ratio branch April 4, 2024 11:41
arogachev added a commit that referenced this pull request May 23, 2024
* update irc link (#663)

* update docs folder link (#666)

* Add methods `addErrorWithFormatOnly()` and `addErrorWithoutPostProcessing()` to `Result` object (#665)

* Clarify psalm types in `Result` (#668)

* Update result docs (#676)

* Add `Image` validation rule (#670)

Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Add missed params to `Image` rule options (#680)

* Add date rules (#678)

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Add aspect ratio support to `Image` rule (#681)

* Add aspect ratio support to `Image` rule

* Apply fixes from StyleCI

* Code coverage, mutants

* Add detailed test cases' descriptions in data providers

* Change placeholders

* Work with options

* Work with options 2

* More configuration checks

* Fix logic, add PHPDoc

* Use value object for aspect ratio

* Actualize fix for mutant for absolute margin

* Fix error messages

* Fix new mutants

* Update src/Rule/Image/ImageAspectRatio.php

Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Do not use dedicated container in tests, fix last mutant

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Release version 1.3.0

* Prepare for next release

* Update guides in english and Translate guides into Brazilian Portuguese  (#691)

* Add `Result::add()` method for merging other results to the base one (#686)

* Add `Result::add()` method for merging other results to the base one

* Apply fixes from StyleCI

* Update PR template [skip ci]

* Update src/Result.php

Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>

* Add type rules and `Any` rule (#692)

* Add type rules and handlers

* Apply fixes from StyleCI

* Mention in the docs + basic tests

* Apply fixes from StyleCI

* Fix copy paste [skip ci]

* Test error message

* Update changelog [skip ci]

* Update PHPDoc [skip ci]

* More tests and descriptions

* Apply fixes from StyleCI

* Include type in error message

* Add Any rule

* Apply fixes from StyleCI

* Update changelog [skip ci]

* Note [skip ci]

* Add translations [skip ci]

* Fix tests

* Test attributes

* Extract PHP >= 8.1 specific tests

* Apply fixes from StyleCI

* Extract PHP >= 8.1 specific tests 2

* Fix mutant

* Update CHANGELOG.md

Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Rename Any to AnyRule (review)

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Rename `Any` rule in docs (#699)

* Rename AnyHandler (remaining occurence) (#701)

* Add methods for getting first error messages to `Result` (#697)

* Add methods for getting first error messages to `Result`

* Bump coverage

* Update src/Result.php

Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Update src/Result.php

Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Apply fixes from StyleCI

* Remove newline [skip ci]

* Add changelog entry [skip ci]

---------

Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>
Co-authored-by: StyleCI Bot <bot@styleci.io>

* Translate Each rule docs into Russian (#688)

* Add `Unique` rule (#695)

* Add Unique rule

* Apply fixes from StyleCI

* More tests, messages [WIP]

* Apply fixes from StyleCI

* Test traslated attributes

* Test using as attribute

* Ready for review

* Apply fixes from StyleCI

* Update src/Rule/UniqueHandler.php

Co-authored-by: Dmitriy Derepko <xepozz@list.ru>

* Apply fixes from StyleCI

* Slightly different approach

* Apply fixes from StyleCI

* New test case to check strict equality

* Different approach

* Minor adjustments

* Remove comma, rename

* Update changelog [skip ci]

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Dmitriy Derepko <xepozz@list.ru>
Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Fix typo in array shape (#705)

* Fix docs, translate brazilian portuguese (#708)

Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>

* Release version 1.4.0

* Prepare for next release

* Merge fixes

---------

Co-authored-by: Ihor Sychevskyi <arhell333@gmail.com>
Co-authored-by: Alexey Rogachev <arogachev90@gmail.com>
Co-authored-by: Alexander Makarov <sam@rmcreative.ru>
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Luiz Marin <67489841+luizcmarin@users.noreply.github.com>
Co-authored-by: Danil Arduanov <rylezz@gmail.com>
Co-authored-by: Dmitriy Derepko <xepozz@list.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature New feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow to validate aspect ratio in Image rule
4 participants