
When the `Json` strategy was introduced, I forgot to also ensure that it's only treated as usable (in `Strategy#from_url`) if a `livecheck` block uses `strategy :json`. As a result, `Json` is incorrectly treated as a usable strategy for all formulae/casks that contain a `strategy` block. Since all of these `livecheck` blocks specify a strategy, this bug doesn't meaningfully impact livecheck's behavior (i.e., these checks continue to use their explicitly-specified strategy). The only practical difference is that `Json` incorrectly appears in the list of usable strategies in livecheck's verbose JSON output. This commit modifies `Strategy#from_url` to address this issue. The easiest way to enforce this rule involved passing in the `@strategies` key (a symbol) into the `select` block, so we can compare it to `livecheck_strategy` (the strategy symbol specified in the `livecheck` block).
Library
This directory contains all the code run by the official brew
command in Homebrew
and all formulae (package descriptions) in taps (repositories containing formulae) in Taps
subdirectories.