Ruby Block Patterns and How to Implement File.open | Hacker News Reader