Cover Image For The dRuby Book...

The dRuby Book: Distributed and Parallel Computing with Ruby

Learn from legendary Japanese Ruby hacker Masatoshi Seki in this first English-language book on his own Distributed Ruby library. You’ll find out about distributed computing, advanced Ruby concepts and techniques, and the philosophy of the Ruby way—-straight from the source.

Cover Image For Build Awesome Command-Line Applications in Ruby...

Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life

Speak directly to your system. With its simple commands, flags, and parameters, a well-formed command-line application is the quickest way to automate a backup, a build, or a deployment and simplify your life.

Cover Image For The Cucumber Book...

The Cucumber Book: Behaviour-Driven Development for Testers and Developers

Your customers want rock-solid, bug-free software that does exactly what they expect it to do. Yet they can’t always articulate their ideas clearly enough for you to turn them into code. The Cucumber Book dives straight into the core of the problem: communication between people. Cucumber saves the day; it’s a testing, communication, and requirements tool – all rolled into one.

Cover Image For CoffeeScript...

CoffeeScript: Accelerated JavaScript Development

CoffeeScript is JavaScript done right. It provides all of JavaScript’s functionality wrapped in a cleaner, more succinct syntax. In the first book on this exciting new language, CoffeeScript guru Trevor Burnham shows you how to hold onto all the power and flexibility of JavaScript while writing clearer, cleaner, and safer code.

Cover Image For Continuous Testing...

Continuous Testing: with Ruby, Rails, and JavaScript

Feedback. We’re always telling you that you need feedback, with a short feedback gap — the time it takes to get feedback on your decisions, your code, your designs. Well, what if you narrowed the feedback gap to near zero while coding? You’d have continuous testing, a powerful idea that lets you fix bugs while they’re still small and fresh.

Continuous Testing shows you how to use a combination of tests, tools, and techniques to immediately detect problems in code, before they spread.

Cover Image For Agile Web Development with Rails...

Agile Web Development with Rails (4th edition)

Rails just keeps on changing. Rails 3 and Ruby 1.9 bring hundreds of improvements, including new APIs and substantial performance enhancements. The fourth edition of this award-winning classic has been reorganized and refocused so it’s more useful than ever before for developers new to Ruby and Rails.

Rails 3 is a major release—the changes aren’t just incremental, but structural. So we decided to follow suit. This book isn’t just a mild reworking of the previous edition to make it run with the new Rails. Instead, it’s a complete refactoring.

You’ll still find the Depot example at the front, but you’ll also find testing knitted right in. Gone are the long reference chapters—that’s what the web does best. Instead you’ll find more targeted information on all the aspects of Rails that you’ll need to be a successful Web developer.

eBook Now Updated for Rails 3.2

Rails 3.1 and Rails 3.2 introduce many user-facing changes, and this e-book release has been updated to match all the latest changes and new best practices in Rails 3.1 and Rails 3.2. This includes full support for Ruby 1.9.2 hash syntax; incorporation of the new Sprockets 2.0 Asset Pipeline, including SCSS and CoffeeScript; jQuery now being the default; reversible migrations; JSON response support; Rack::Cache, and much more.

Please note the Rails 3.2 updates are included only in the ebooks sold by us.

Cover Image For Crafting Rails Applications...

Crafting Rails Applications: Expert Practices for Everyday Rails Development

Rails 3 is a huge step forward. You can now easily extend the framework, change its behavior, and replace whole components to bend it to your will, all without messy hacks. This pioneering book is the first resource that deep dives into the new Rails 3 APIs and shows you how to use them to write better web applications and make your day-to-day work with Rails more productive.

Everything covered in this book is valid through at least Rails 3.1

Cover Image For Rails Test Prescriptions...

Rails Test Prescriptions: Keeping Your Application Healthy

Rails Test Prescriptions is a comprehensive guide to testing Rails applications, covering Test-Driven Development from both a theoretical perspective (why to test) and from a practical perspective (how to test effectively). It covers the core Rails testing tools and procedures for Rails 2 and Rails 3, and introduces popular add-ons, including RSpec, Shoulda, Cucumber, Factory Girl, and Rcov.

Cover Image For Using JRuby...

Using JRuby: Bringing Ruby to Java

Now you can bring the best of Ruby into the world of Java, with Using JRuby. Come to the source for the JRuby core team’s insights and insider tips. You’ll learn how to call Java objects seamlessly from Ruby, and deal with Java idioms such as interfaces and overloaded functions. Run Ruby code from Java, and make a Java program scriptable in Ruby. See how to compile Ruby into .class files that are callable from Java, Scala, Clojure, or any other JVM language.

Cover Image For The RSpec Book...

The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends

Behaviour-Driven Development (BDD) gives you the best of Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning techniques, so you can create better software with self-documenting, executable tests that bring users and developers together with a common language.

Get the most out of BDD in Ruby with The RSpec Book, written by the lead developer of RSpec, David Chelimsky.

Cover Image For Pragmatic Guide to JavaScript...

Pragmatic Guide to JavaScript

JavaScript is everywhere. It’s a key component of today’s Web—a powerful, dynamic language with a rich ecosystem of professional-grade development tools, infrastructures, frameworks, and toolkits. This book will get you up to speed quickly and painlessly with the 35 key JavaScript tasks you need to know.

NEW: Part of the new Pragmatic Guide series

Cover Image For Metaprogramming Ruby...

Metaprogramming Ruby: Program Like the Ruby Pros

As a Ruby programmer, you already know how much fun it is. Now see how to unleash its power, digging under the surface and exploring the language’s most advanced features: a collection of techniques and tricks known as metaprogramming. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels—from beginner to expert. Metaprogramming Ruby explains metaprogramming concepts in a down-to-earth style and arms you with a practical toolbox that will help you write great Ruby code.

Cover Image For Grails...

Grails: A Quick-Start Guide

Java web development is notoriously tedious, but help is on the way: Grails. Using the principle of convention-over-configuration and the dynamic Groovy programming language, Grails takes the pain out of web development and brings back the fun. This book will get you up and running with Grails by putting it to use in constructing an original, working application from start to finish.

Cover Image For Programming Ruby 1.9...

Programming Ruby 1.9 (3rd edition): The Pragmatic Programmers' Guide

Ruby is the fastest growing and most exciting dynamic language out there. If you need to get working programs delivered fast, you should add Ruby to your toolbox.

This book is the only complete reference for Ruby 1.9, the very latest version of Ruby. (If you’re still using Ruby 1.8, you’ll want to check out the original PickAxe.)

2010 marks the 10th anniversary since the first edition of the PickAxe. We’re proud that throughout its history, we’ve continued to cover the latest version of Ruby.

Cover Image For Learn to Program...

Learn to Program (2nd edition)

For this new edition of the best-selling Learn to Program, Chris Pine has taken a good thing and made it even better. First, he used the feedback from hundreds of reader e-mails to update the content and make it even clearer. Second, he updated the examples in the book to use the latest stable version of Ruby, and also to use code that looks more like real-world Ruby code, so that people who have just learned to program will be more familiar with common Ruby techniques.

Not only does the Second Edition now include answers to all of the exercises, it includes them twice. First you’ll find the “how you could do it” answers, using the techniques you’ve learned up to that point in the book. Next you’ll see “how Chris Pine would do it”: answers using more advanced Ruby techniques, to whet your appetite as well as providing sort of a “Rosetta Stone” for more elegant solutions.

Cover Image For Agile Web Development with Rails...

Agile Web Development with Rails (3rd edition)

  • This Third Edition covers Rails 2.x
  • The Fourth Edition covers Rails 3.x, and is now available.

Cover Image For Classy Web Development with Sinatra...

Classy Web Development with Sinatra

Sinatra is a small Ruby web application framework that packs a big punch. It’s also a lot of fun! You can use Sinatra to write tiny, focused web applications and lightweight REST services very quickly. And sometimes a lean and mean web app is all you need. If you haven’t given Sinatra a look, now’s a great time to get a fresh perspective on web development. Learn how to get the most out of Sinatra from Adam Keys, an experienced Ruby and Sinatra developer.

Cover Image For The Ruby Object Model and Metaprogramming...

The Ruby Object Model and Metaprogramming

Metaprogramming lets you program more expressively. This makes your code easier to write and easier to maintain and extend. Learn both the hows and whys of metaprogramming Ruby from Dave Thomas, one of the most experienced Ruby programmers in the western world.

Cover Image For Scripted GUI Testing with Ruby...

Scripted GUI Testing with Ruby

If you need to automatically test a user interface, this book is for you. Whether it’s Windows, a Java platform (including Mac, Linux, and others) or a web app, you’ll see how to test it reliably and repeatably.

Many automated test frameworks promise the world and deliver nothing but headaches. Fortunately, you’ve got a secret weapon: Ruby. Ruby lets you build up a solution to fit your problem, rather than forcing your problem to fit into someone else’s idea of testing.

This book is for people who want to get their hands dirty on examples from the real world—and who know that testing can be a joy when the tools don’t get in the way. It starts with the mechanics of simulating button pushes and keystrokes, and builds up to writing clear code, organizing tests, and beyond.

Updated eBook

This new revision refreshes the RSpec examples for version 2.x. It also contains an updated section on narrative-style tests, based on Cucumber 1.x. Ian has tweaked code samples throughout the book for compatibility with Ruby 1.8.7, Ruby 1.9.2, or JRuby 1.6.5, based on what the underlying libraries support.

Cover Image For Everyday Scripting with Ruby...

Everyday Scripting with Ruby: for Teams, Testers, and You

Are you a tester who spends more time manually creating complex test data than using it? A business analyst who seemingly went to college all those years so you can spend your days copying data from reports into spreadsheets? A programmer who can’t finish each day’s task without having to scan through version control system output, looking for the file you want?

If so, you’re wasting that computer on your desk. Offload the drudgery to where it belongs, and free yourself to do what you should be doing: thinking. All you need is a scripting language (free!), this book (cheap!), and the dedication to work through the examples and exercises.

Cover Image For Programming Ruby...

Programming Ruby (2nd edition): The Pragmatic Programmers' Guide

The Pickaxe book, named for the tool on the cover, is the definitive reference to Ruby, a highly-regarded, fully object-oriented programming language. This Second Edition has more than 200 pages of new content, and substantial enhancements to the original, covering all the new and improved language features of Ruby 1.8 and standard library modules.

What Version of Ruby are You Using?

Ruby is in a period of transition. 2009 saw the release of Ruby 1.9.1, the next generation of the language. Ruby 1.9 has many enhancements and new features that make it the Ruby of choice for new projects. If you want to use Ruby 1.9, then check out our new book Programming Ruby 1.9.

Alternatively, if you want to continue to use Ruby 1.8, then use the book on this page.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.