Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Sinatra: Up and Running
SPECIAL OFFER: Upgrade this ebook with O’Reilly
Preface
Who This Book Is For
How This Book Is Organized
The Basics
Digging Deeper
Hands On
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
1. Taking the Stage
Characteristics of Sinatra
Is It a Framework?
Does It Implement MVC?
Who’s Using It?
What Does a Production Project Look Like?
What’s the Catch?
Are These Skills Transferrable?
Installation
Thin
Up and Running
Breaking Down the Syntax
Testing with Telnet
Rock, Paper, Scissors or “The Shape of Things to Come”
Summary
2. Fundamentals
Routing
Hypertext Transfer Protocol
Verbs
Common Route Definition
Many URLs, Similar Behaviors
Routes with Parameters
Routes with Query String Parameters
Routes with Wildcards
The First Sufficient Match Wins
Routes with Regular Expressions
Halting a Request
Passing a Request
Redirecting a Request
Static Files
Views
Inline Templates
External View Files
External Views in Subfolders
Passing Data into Views
Filters
Handling Errors
404 Not Found
500 Internal Server Error
Configuration
HTTP Headers
The headers Method
Exploring the request Object
Caching
Setting Headers Manually
Settings Headers via expires
ETags
Generating ETags
Weak ETags
Sessions
Destroying a Session
Cookies
Attachments
Streaming
Keeping the Connection Open
Finite Streaming
Summary
3. A Peek Behind the Curtain
Application and Delegation
The Inner Self
Where Does get Come From?
Exploring the Implementation
Helpers and Extensions
Creating Sinatra Extensions
Helpers
Helpers Without Modules
Combining Helpers and Extensions
Request and Response
Rack
Sinatra Without Sinatra
Rack It Up
Middleware
Sinatra and Middleware
Dispatching
Dispatching Redux
Changing Bindings
Summary
4. Modular Applications
Subclassing Sinatra
Running Modular Applications
Using run!
With rackup
About Settings
Settings and Classes
Subclassing Subclasses
Route Inheritance
Architecture
Dynamic Subclass Generation
Better Rack Citizenship
Chaining Classes
Middleware Chain
Cascade
With a Router
On Return Values
Using Sinatra as Router
Extensions and Modular Applications
Helpers
Extensions
Summary
5. Hands On: Your Own Blog Engine
Workflow Concept
File-Based Posts
Git for Distribution
Semistatic Pages
The Implementation
Displaying Blog Posts
Rendering Markdown
Generating articles
Adding an index
Adding a basic layout
Git Integration
Regenerating content
Pulling changes
Proper cache headers
Glueing Everything Together
Rack It Up!
Setting it up on GitHub
Setting it up on Bitbucket
Using a post-receive hook
What about Heroku?
Summary
About the Authors
SPECIAL OFFER: Upgrade this ebook with O’Reilly
Copyright
← Prev
Back
Next →
← Prev
Back
Next →