Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This feature aims to:
NOTE: this functionality requires two additional gems to be available in the app:
Context
We usually describe policy rules using boolean expressions (e.g.
A or (B and C)
, where each ofA
,B
andC
is a simple boolean expression or predicate method).When dealing with complex policies it could be hard to figure out which predicate/check made policy to fail.
The
Policy#pp(rule)
method aims to help debug such situations.Consider a (synthetic) example:
Suppose that you want to debug this rule ("Why does it return false?").
You can drop a
binding.pry
(orbinding.irb
) right in the beginning of the method:Now, run you code and trigger the breakpoint (i.e. run the method):
This functionally is also used in RSpec DSL to format the message on failure:
Then if test fails you see the detailed error message:
PR checklist: