For more than a decade, Ruby developers have turned to The Ruby Way for reliable “how-to” guidance on effective Ruby programming. Now, Hal Fulton and André Arko have thoroughly updated this classic guide to cover new language enhancements and developers’ experiences through Ruby 2.1.
The new edition illuminates Ruby 2.1 through 400+ examples, each answering the question: “How do I do this in Ruby?” For each example, they present both a task description and realistic technical constraints. Next, they walk step-by-step through presenting one good solution, offering detailed explanations to promote deeper understanding.
Conveniently organized by topic, The Ruby Way, Third Edition makes it easier than ever to find the specific solution you want—and to write better code by reflecting Ruby’s unique philosophy and spirit.
Ruby 2.1 overview: terminology, philosophy, and basic principles
Best practices for strings and regular expressions
Efficiently internationalizing your code
Performing calculations (including trigonometry, calculus, statistics, and time/date calculations)
Working with “Rubyesque” objects such as symbols and ranges
Using arrays, hashes, stacks, queues, trees, graphs, and other data structures
Efficiently storing data with YAML, JSON, and SQLite3
Leveraging object-oriented and dynamic features, from multiple constructors to program inspection
Building GUIs with Shoes 4, Ruby/Tk, Ruby/GTK3, QtRuby, and other toolkits
Improving thread performance by understanding Ruby’s synchronization methods and avoiding its pitfalls
Automating system administration with Ruby
Data formats: JSON, XML, RSS, Atom, RMagick, PDF, and more
Testing and debugging with RSpec, Minitest, Cucumber, byebug, and pry
Measuring Ruby program performance
Packaging and distributing code, and managing dependencies with Bundler
Network programming: clients, time servers, POP, SMTP, IMAP, Open-URI
Web applications: HTTP servers, Rails, Sinatra, HTML generation, and more
Writing distributed Ruby software with drb
Choosing modern development tools that maximize your productivity
All source code for this book may be downloaded at www.rubyhacker.com.