Ruby and Interactive Examples

We have written the vast majority of our example code in the Ruby language. Ruby has two powerful features that make it ideally suited to our purposes in this book. First, Ruby code is lovely: it is concise, succinct, and relatively easy to follow, even for developers who are not familiar with the language. Ruby code can be almost as brief as pseudo-code, and yet it is entirely functional. Second, Ruby is an interpreted language that allows you to write, rewrite, and run code in an interactive session. The code in this book was written to work with Ruby versions 1.8.6 and later.

We will take advantage of Ruby’s support for interactive sessions as we build the service API implementations that will allow us to communicate with AWS services. We will add functionality piece by piece, communicating with the live service at each step to test the newly implemented API operations. This approach allows us to show exactly how the services behave, and it provides the opportunity to follow along and learn how the APIs work through hands-on experimentation.

Note

If you are more familiar with the Java or Python languages than with Ruby you are in luck, as we have written API client implementations in these languages as well. Visit the online resources web page for this book at http://www.oreilly.com/catalog/9780596515812/ to download client programs in all three languages.

We will spend a lot of time in the Ruby shell program called irb, an interactive interpreter for the Ruby language. The commands that we run in irb will be denoted by the command prompt irb>.

If you downloaded the sample code for this book from the O’Reilly web site, you will be able to load the code modules by putting them in a directory in Ruby’s load path, or the current directory, and issuing the require command in your irb session:

# Load the Ruby code file called 'AWS.rb'
irb> require 'AWS'

If you are typing Ruby code into files as you read through this book, you will load a code file in the same way initially, but you need to use a different command to reload a file whose contents have changed:

# Reload the changed Ruby code file 'AWS.rb'. 
irb> load 'AWS.rb'

Notice that you are required to type the full filename when you are reloading a changed file with the load command, whereas you can omit the suffix .rb when you use the require command.

Get Programming Amazon Web Services now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.