summaryrefslogtreecommitdiff
path: root/DEVELOP.md
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2012-10-08 09:18:35 +0200
committerAzul <azul@leap.se>2012-10-08 09:18:35 +0200
commitc882d882a6506039bf0f2e4c3a673eb30ae9e58d (patch)
tree36949591c58225891c9f7d9ace5a9c3419e193f3 /DEVELOP.md
parent44c06bea22d2824037a7bd3b08ddf0a4c7c9116b (diff)
minor: markdown improvements
Diffstat (limited to 'DEVELOP.md')
-rw-r--r--DEVELOP.md46
1 files changed, 23 insertions, 23 deletions
diff --git a/DEVELOP.md b/DEVELOP.md
index 6a65285..a483fb7 100644
--- a/DEVELOP.md
+++ b/DEVELOP.md
@@ -1,52 +1,51 @@
-# Development #
-
+# Development #
## Engines ##
-Leap Web consists of different Engines. They live in their own subdirectory and are included through bundler via their path. This way changes to the engines immediately affect the server as if they were in the main '''app''' directory.
+Leap Web consists of different Engines. They live in their own subdirectory and are included through bundler via their path. This way changes to the engines immediately affect the server as if they were in the main `app` directory.
Currently Leap Web consists of 4 Engines:
* [core](https://github.com/leapcode/leap_web/blob/master/core) - ships some dependencies that are used accross all engines. This might be removed at some point.
* [users](https://github.com/leapcode/leap_web/blob/master/users) - user registration and authorization
* [certs](https://github.com/leapcode/leap_web/blob/master/certs) - Cert distribution for the EIP client
-* [help](https://github.com/leapcode/leap_web/blob/master/help)- Help ticket management
+* [help](https://github.com/leapcode/leap_web/blob/master/help) - Help ticket management
## Creating a new engine ##
### Rails plugin new ###
Create the basic tree structure for an engine using
-<code>
+```
rails plugin new ENGINE_NAME -O --full
-</code>
+```
-'''-O''' will skip active record and not add a dev dependency on sqlite.
-'''-full''' will create a directory structure with config/routes and app and a basic engine file.
+`-O` will skip active record and not add a dev dependency on sqlite.
+`-full` will create a directory structure with config/routes and app and a basic engine file.
See http://guides.rubyonrails.org/engines.html for more general info about engines.
### Require Leap Web Core ###
You need to add leap_web_core to your .gemspec:
-<code>
+```ruby
Gem::Specification.new do |s|
- ...
- s.add_dependency "rails" ...
+ # ...
+ s.add_dependency "rails"
s.add_dependency "leap_web_core", "~> 0.0.1"
end
-</code>
+```
You also need to require it before you define your engine in lib/my_engine/engine.rb:
-<code>
+```ruby
require "leap_web_core"
module MyEngine
class Engine < ::Rails::Engine
- ...
+ # ...
end
end
-</code>
+```
### Require UI Gems ###
@@ -54,32 +53,33 @@ Leap Web Core provides a basic set of UI gems that should be used accross the en
Do you want to add views, javascript and the like to your engine? Then you should use the common gems. In order to do so you need to add them to your gemspec:
-<code>
+```ruby
require "my_engine/version"
require "leap_web_core/dependencies"
- ...
+ # ...
Gem::Specification.new do |s|
- ...
- s.add_dependency "rails" ...
+ # ...
+ s.add_dependency "rails"
s.add_dependency "leap_web_core", "~> 0.0.1"
LeapWebCore::Dependencies.add_ui_gems_to_spec(s)
end
-</code>
+```
You also need to require them before you define your engine in lib/my_engine/engine.rb:
-<code>
+
+```ruby
require "leap_web_core"
LeapWebCore::Dependencies.require_ui_gems
module MyEngine
class Engine < ::Rails::Engine
- ...
+ # ...
end
end
-</code>
+```
## Creating Models ##