rubocop
https://github.com/bbatsov/rubocop
Ruby
A Ruby static code analyzer, based on the community Ruby style guide.
RuboCop::AST::Node#pure?
Some expressions are evaluated for their value, some for their side effects, and some for both. If we know that expressions are useful only for their return values, and have no side effects, that means we can reorder them, change the number of times they are evaluated, or replace them with other expressions which are equivalent in value. So, is evaluation of this node free of side effects?
Edit
git clone [email protected]:bbatsov/rubocop.git
cd rubocop
open lib/rubocop/ast/node.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-RuboCop--AST--Node-pure--for-pr
# Commit to gitgit add lib/rubocop/ast/node.rbgit commit -m "better docs for RuboCop::AST::Node#pure?"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-RuboCop--AST--Node-pure--for-pr
hub pull-request
# Celebrate!