Synopses & Reviews
Take advantage of Sinatra, the Ruby-based web application library and domain-specific language used by Heroku, GitHub, Apple, Engine Yard, and other prominent organizations. With this concise book, you will quickly gain working knowledge of Sinatra and its minimalist approach to building both standalone and modular web applications.
Sinatra serves as a lightweight wrapper around Rack middleware, with syntax that maps closely to functions exposed by HTTP verbs, which makes it ideal for web services and APIs. If you have experience building applications with Ruby, youll quickly learn language fundamentals and see under-the-hood techniques, with the help of several practical examples. Then youll get hands-on experience with Sinatra by building your own blog engine.
- Learn Sinatras core concepts, and get started by building a simple application
- Create views, manage sessions, and work with Sinatra route definitions
- Become familiar with the languages internals, and take a closer look at Rack
- Use different subclass methods for building flexible and robust architectures
- Put Sinatra to work: build a blog that takes advantage of service hooks provided by the GitHub API
Sinatra gives developers a small but powerful and scalable framework for building web applications with Ruby. This introduction gets readers started, helping them to build, install, and polish a first application. It also explores how Sinatra fits in the web application ecosystem, especially in comparison to its far larger cousin, Ruby on Rails.
About the Author
Alan Harris is a software engineer with a decade of professional experience, and author of several books on software development spanning multiple platforms and languages. He has delivered numerous scalable, elegant solutions for companies ranging from non-profits to military subcontractors; he has also been a featured contributor in the developerWorks community. He currently works and resides in the DC area.
As current maintainer of Sinatra, Konstantin is an Open Source developer by heart. Ruby has become his language of choice since 2005. He actively participates in the Ruby community and regularly contributes to different widespread projects, like Rubinius and Rack. In 2010, he successfully took part in the Ruby Summer Of Code, working on Rails internals. Haase is currently studying IT Systems Engineering at the Hasso Plattner Institute in Potsdam, Germany, and works part time as a software engineer at finnlabs in Berlin.
Table of Contents
Preface; Who This Book Is For; How This Book Is Organized; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Chapter 1: Taking the Stage; 1.1 Characteristics of Sinatra; 1.2 Installation; 1.3 Up and Running; 1.4 Rock, Paper, Scissors or "The Shape of Things to Come"; 1.5 Summary; Chapter 2: Fundamentals; 2.1 Routing; 2.2 Static Files; 2.3 Views; 2.4 Filters; 2.5 Handling Errors; 2.6 Configuration; 2.7 HTTP Headers; 2.8 Caching; 2.9 Sessions; 2.10 Cookies; 2.11 Attachments; 2.12 Streaming; 2.13 Summary; Chapter 3: A Peek Behind the Curtain; 3.1 Application and Delegation; 3.2 Helpers and Extensions; 3.3 Request and Response; 3.4 Rack It Up; 3.5 Dispatching; 3.6 Summary; Chapter 4: Modular Applications; 4.1 Subclassing Sinatra; 4.2 Better Rack Citizenship; 4.3 Extensions and Modular Applications; 4.4 Summary; Chapter 5: Hands On: Your Own Blog Engine; 5.1 Workflow Concept; 5.2 The Implementation; 5.3 Summary;