From 2c4e08d872869b116d2558256f8daeb0815a6dc0 Mon Sep 17 00:00:00 2001
From: Ryan Bigg <radarlistener@gmail.com>
Date: Wed, 5 Oct 2011 08:37:38 +1100
Subject: [engines guide] initial layout

---
 railties/guides/source/engines.textile | 36 ++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 railties/guides/source/engines.textile

(limited to 'railties/guides/source/engines.textile')

diff --git a/railties/guides/source/engines.textile b/railties/guides/source/engines.textile
new file mode 100644
index 0000000000..dc87ac4095
--- /dev/null
+++ b/railties/guides/source/engines.textile
@@ -0,0 +1,36 @@
+h2. Getting Started with Engines
+
+In this guide you will learn about engines and how they can be used to provide additional functionality to their host applications through a clean and very easy-to-use interface. You will learn the following things in this guide:
+
+* What are engines
+* Generating an engine
+* Building features for the engine
+* Hooking the engine into an application
+* Overriding engine functionality in the application
+
+endprologue.
+
+h3. What are engines?
+
+Engines can be considered miniature applications that provide functionality to their host applications. A Rails application is actually just a "supercharged" engine, with the `Rails::Application` class inheriting from `Rails::Engine`. Therefore, engines and applications share common functionality but are at the same time two separate beasts.
+
+h3. Generating an engine
+
+TODO: The engine that will be generated for this guide will be called "blorgh". It's a blogging engine that provides posts and comments and that's it.
+
+TODO: Describe here the process of generating an engine and what an engine comes with.
+
+h3. Providing engine functionality
+
+TODO: Brief explanation of what this engine is going to be doing and what we will have once we are done.
+TODO: Generate a posts scaffold (maybe?) for the engine
+TODO: Generate a comments scaffold (maybe?) for the engine
+
+h3. Hooking into application
+
+TODO: Application will provide a User foundation class which the engine hooks into through a configuration setting, configurable in the application's initializers. The engine will be mounted at the +/blog+ path in the application.
+
+h3. Overriding engine functionality
+
+TODO: Cover how to override engine functionality in the engine, such as controllers and views.
+IDEA: I like Devise's +devise :controllers => { "sessions" => "sessions" }+ idea. Perhaps we could incorporate that into the guide?
\ No newline at end of file
-- 
cgit v1.2.3

