NYULibraries/exlibris-primo

View on GitHub
lib/exlibris/primo/chain_gang/README.md

Summary

Maintainability
Test Coverage
# ChainGang Modules
ChainGang modules contain methods that are "chainable", i.e. they return `self`.

## ! vs =
ChainGang methods that take arguments are defined with a trailing `!` and aliased
with a trailing `=`.  At the time of writing, the `=` version can't be chained because
the Ruby virtual machine seems to compile the two methods slightly differently and the
`=` version returns the arguments rather than `self`.  The `=` version is intended to
be used as an `attr_writer`.