This repository has been archived by the owner on Jan 2, 2018. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of git://github.com/pvelder/merb-book
dutch 2-getting-started/4-mvc.markdown dutch 2-getting-started/4-mvc.markdown Getting started until section 3-project-structure.markdown improving Dutch sentences improving Dutch sentences adding dutch translation 1-introduction Adding Dutch to the translations. TOC and Front Matter Had to 'thor merb:gem:redeploy' to avoid bus error when launching bin/merb
- Loading branch information
Showing
48 changed files
with
535 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
## Voorwoord | ||
|
||
Door Yehuda Katz, Merb lead developer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Voorwoord | ||
|
||
Terug in de tijd, toen er nog geen Merb stack was, geen locked API, geen georganizeerde documentation en de code base regelmatig wijzigde besloot [Matthew Ford](http://github.com/deimos1986) te werken aan een open source book met een eenvoudig doel: moedige Rubyists te helpen die wilden leven "on the edge" en die besloten om Merb, DataMapper en RSpec een kans te geven. | ||
|
||
Sindsdien, is Merb heel wat volwassener geworden. Starten met Merb is heel wat makkelijker geworden en Merb besloot om een **opinionated** versie te brengen van de stack Merb, DataMapper en RSpec! | ||
|
||
Als een vroege Merb developer, genoot ik er van gebruik te kunnen maken van Matt's boek en heb ik zelfs bijgedragen tot de vroege versie van dit boek. Sindsdien maakte ik deel uit van het Merb team en samen met de rest van het team, concentreerde ik me op de grote 1.0 release die we succesvol brachten in twee stappen, de eerste Release Candidate gedurende [MerbCamp 2008](http://merbcamp.com) en de finale 1.0 gedurende [RubyConf 2008](http://rubyconf.org). | ||
|
||
Een knap framework hebben is fantastisch, maar zoals Jason Seifer van [RailsEnvy.com](http://railsenvy.com) me vertelde nadat 1.0 was uitgebracht: | ||
|
||
> Merb heeft ongelofelijke code documentatie, de code is zo makkelijk te lezen, maar de gebruiksdocumentatie was onvoldoende. | ||
Jason had gelijk, onze gebruiksdocumentatie was niet zo fantastisch. Natuurlijk hebben we de [wiki](http://wiki.merbivore.com) en een aantal boeken beschikbaar, maar ik moet zeggen dat - lettend op andere frameworks zoals [Django](http://www.djangobook.com/) - het hele team wist dat er iets moest gebeuren. | ||
|
||
Ford's pogingen werden vroeg opgemerkt en hij werd gevraagd een boek te schrijven [Merb book for Apress](http://www.apress.com/book/view/9781430218234). Je kan je allicht wel voorstellen, dat het moeilijk werd voor Matt een boek te schrijven voor een uitgever in combinatie met, een voltijdse job, bijdragen aan verschillende Open Source projecten, bij te blijven met Merb en er uiteindelijk voor te zorgen dat het open source book dat hij een tijd terug maakte up to date bleef. Bovendien, wijzigden een aantal dingen voor 1.0 en een groot deel van de bestaande inhoud vereiste een volledig herschrijven. | ||
|
||
Daarom besloot het Merb team dat het tijd was om mee te werken en om de gemeenschap te betrekken bij een gecentralizeerd, gebruikers georienteerd boek. | ||
|
||
Ik ben echt blij dat het Merb team besloot verantwoordelijkheid op te nemen voor dit boek en dat we er zullen voor zorgen dat het goed georganizeerd blijft, up to date en relevant. Nochthans kan dit boek, net zoals Merb, niet groeien en evolueren zonder de hulp van de gemeenschap. Dus, a.u.b., stuur ons correcties, nieuwe voorbeelden, nieuwe hoofdstukken zodat dit boek de gemeenschap kan helpen als geheel. | ||
|
||
[Matt Aimonetti](http://merbist.com), Merb Core team member |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Mensen die hebben bijgedragen | ||
|
||
Zonder de hulp van volgende mensen zou dit boek niet mogelijk geweest zijn. Dank jullie allemaal! | ||
|
||
**In alphabetische volgorde:** | ||
|
||
* [Matt Aimonetti](http://merbist.com) | ||
* [Fabio Akita](http://akitaonrails.com) | ||
* [Dale Campbell](http://corrupt.save-state.net/) | ||
* [Matthew Ford](http://github.com/deimos1986) | ||
* [Mathieu Fosse](http://blog.kawooa.org) | ||
* [Markus Prinz](http://blog.nuclearsquid.com/) | ||
* [Yehuda Katz](http://yehudakatz.com) | ||
* [Makoto Kuwata](http://www.kuwata-lab.com/) | ||
* [Foy Savas](http://foysavas.com/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Ruby | ||
|
||
* This will become a table of contents (this text will be scraped). | ||
{:toc} | ||
|
||
![Ruby](/images/ruby-header.gif){: .no-border} | ||
|
||
**Reference website:** [http://ruby-lang.org](http://ruby-lang.org){: .reference} | ||
|
||
> Coderen in Ruby maakt me gelukkig omdat het een van de kortste paden is tussen mijn hersenen en een computer. Als ik aan iets denk, kan ik het bondig uitdrukken en meestal ook op een vrij elegante wijze in Ruby zonder de vreemde kronkels die nodig zijn in de meeste andere talen. | ||
> - [Dave Thomas, auteur van "Programming Ruby"](http://pragdave.pragprog.com/){: .quote-author} | ||
{: cite=http://www.infoq.com/interviews/ruby-rails-dave-thomas .lead-quote} | ||
|
||
Het zou misdadig zijn te over over het Merb framework te beginnen spreken zonder het eerst te hebben over de echte reden waarom Merb zo flexibel, krachtig, en snel is: **Ruby**. | ||
|
||
## Oorsprong ##{: #origin} | ||
![Yukihiro Matsumoto](/images/Yukihiro_Matsumoto.jpg){: .left} | ||
Ruby is een [Open Source](http://en.wikipedia.org/wiki/Open_Source), [dynamische](http://en.wikipedia.org/wiki/Dynamic), [reflectieve](http://en.wikipedia.org/wiki/Reflection_%28computer_science%29), algemeen-doel, [object-georienteerde](http://en.wikipedia.org/wiki/Object-oriented_programming) [programmeertaal](http://en.wikipedia.org/wiki/Programming_language) geschreven midden de jaren 90 door de japanse [software architect](http://en.wikipedia.org/wiki/Software_architect) [Yukihiro "Matz" Matsumoto-san ( まつもとゆきひろ)](http://en.wikipedia.org/wiki/Yukihiro_Matsumoto). | ||
|
||
Ruby focust op eenvoud en productiviteit. Ruby heeft een elegante syntax die natuurlijk leest en eenvoudig is om te schrijven. | ||
|
||
Matz ontleende ideeën en uitdrukkingen van enkele van zijn favoriete programmeertalen ([Perl](http://en.wikipedia.org/wiki/Perl), [Smalltalk](http://en.wikipedia.org/wiki/Smalltalk), [Eiffel](http://en.wikipedia.org/wiki/Eiffel_%28programming_language%29), [Ada](http://en.wikipedia.org/wiki/Ada_%28programming_language%29), en [Lisp](http://en.wikipedia.org/wiki/Lisp_%28programming_language%29)) tot een nieuwe taal die [functionele programmatie](http://en.wikipedia.org/wiki/Functional_programming) balanceert met [imperatieve programmatie](http://en.wikipedia.org/wiki/Imperative_programming). | ||
|
||
Het resultaat is een aantrekkelijke taal die heel natuurlijk aanvoelt. In de Ruby gemeenschap verwijzen we vaak naar de term POLS (Principle of Least Surprise). Het concept achter dit principe is heel eenvoudig: als je een minimum van Ruby kent, ben je niet verrast door de manier waarop de taal zich gedraagt. | ||
|
||
## Adoptie ##{: #adoption} | ||
Volgens de [TIOBE index](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), zit Ruby in de top 10 van programmeertalen die wereldwijd wordt gebruikt. Een groot deel van de groei is toe te schrijven aan de populariteit van de software die is geschreven in Ruby, in het bijzonder het [Ruby on Rails web framework](http://rubyonrails.org). | ||
|
||
## Sleutelelementen van de taal ##{: #key-elements} | ||
|
||
> Ik wou een scripting-taal die krachtiger was dan Perl, en meer dan de object-georiënteerde Python. | ||
> - Matz | ||
{: cite=http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html} | ||
|
||
* Alles is een object | ||
* Alles is uitbreidbaar en kan gewijzigd worden | ||
* Hoge code leesbaarheid | ||
|
||
Voor meer informatie over de taal Ruby, bekijk de [Officiele Ruby programmeertaal website](http://www.ruby-lang.org/en/about). | ||
|
||
## Code voorbeelden ##{: #code-examples} | ||
|
||
**Print de string "Hello world" 10 keer:** | ||
|
||
10.times do | ||
print "Hello world!" | ||
end | ||
# => "Hello world!Hello world!Hello world!Hello world!Hello world!Hello, world! | ||
Hello world!Hello world!Hello world!Hello world!" | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
**Conditioneel statement:** | ||
|
||
access_allowed = true if DateTime.now > DateTime.parse("2008-12-01") | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
overeenkomstig met: | ||
|
||
if DateTime.now > DateTime.parse("2008-12-01") | ||
access_allowed = true | ||
end | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
**Ternary operator:** | ||
|
||
age_classification = age > 12 ? "adult" : "child" | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
overeenkomstig met: | ||
|
||
if age > 12 | ||
age_classification = "adult" | ||
else | ||
age_classification = "child" | ||
end | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
**Array:** | ||
|
||
drinks = ["Coke", "Pepsi", "Orangina", "DrPepper"] | ||
# => ["Coke", "Pepsi", "Orangina", "DrPepper"] | ||
# Access the Array instance | ||
drinks[0] # => "Coke" | ||
drinks.first # => "Coke" | ||
drinks.last # => "DrPepper" | ||
drinks[3] # => "DrPepper" | ||
drinks[-1] # => "DrPepper" | ||
drinks[drinks.length - 1] # => "DrPepper" | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
|
||
**Kijk of een item bestaat in een Array instance:** | ||
|
||
haystack = ["Mac", "NT", "Irix", "Linux"] | ||
needle = "Windows" | ||
haystack.include?(needle) # => false | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
**Duw een item in een Array instance:** | ||
|
||
haystack = ["Mac", "NT", "Irix", "Linux"] | ||
needle = "Windows" | ||
haystack.push(needle) | ||
# Or do it like this: | ||
haystack << needle | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
**Definieer een methode:** | ||
|
||
def greet_visitor(visitor_name) | ||
"Hi #{visitor_name}!" | ||
end | ||
{:lang=ruby html_use_syntax=true} | ||
|
||
## Merb en Ruby ##{: #merb-and-ruby} | ||
|
||
Merb probeert om zo dicht mogelijk bij de Ruby taal zelf te blijven. Daarom is het belangrijk te begrijpen wat wordt verstaan al de "Ruby Way". | ||
|
||
Gedurende RubyConf 2008, maakte Matz volgende opmerking over Merb: | ||
|
||
> Merb heeft een mooie toekomst voor de mensen die niet tevreden zijn met de vaste manieren van Rails. Ik denk dat Merb gebruikers meer vrijheid zal geven in een Ruby-ish manier van programmeren | ||
> - [Matz, auteur van de Ruby programming language](http://ruby-lang.org/){: .quote-author} | ||
{: cite=http://merbist.com/2008/11/09/merb-1-0-released/} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
## Merb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
## DataMapper |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
## RSpec |
40 changes: 40 additions & 0 deletions
40
book-content/nl/2-getting-started/1-install-instructions.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Aan de slag | ||
Om het framework te gebruiken moeten we eerste Merb installeren. Maar, voor je Merb kan installeren moet je een C compiler, Ruby en [RubyGems](http://www.rubygems.org/) installeren en een database (indien je je modellen wil persisteren). | ||
|
||
## OS X | ||
|
||
### Vereisten | ||
Je zal XCode (aka Developer Tools) moeten installeren van de Mac OS X DVD of downloaden van de [Apple developer website](http://developer.apple.com/technology/xcode.html). | ||
|
||
### Ruby & RubyGems | ||
Heb je OS X 10.5 (Leopard), dan heb je hoogstwaarschijnlijk ook reeds een installatie van Ruby. | ||
|
||
### Merb | ||
$ sudo gem install merb | ||
|
||
|
||
## Linux | ||
|
||
### Vereisten | ||
|
||
$ sudo apt-get install build-essential libxslt-dev libsqlite3-0 libsqlite3-dev | ||
|
||
### Ruby & RubyGems | ||
|
||
$ sudo apt-get ruby ruby1.8-dev rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby \ | ||
libxml-ruby | ||
|
||
$ wget "http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz" | ||
$ tar -xvzf rubygems-1.3.1.tgz | ||
$ rm rubygems-1.3.1.tgz | ||
$ cd rubygems-1.3.1 | ||
$ sudo ruby setup.rb | ||
$ cd .. | ||
$ rm -r rubygems-1.3.1 | ||
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem | ||
$ sudo gem update --system | ||
|
||
|
||
### Merb | ||
|
||
$ sudo gem install merb |
63 changes: 63 additions & 0 deletions
63
book-content/nl/2-getting-started/2-generate-an-application.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Genereer een applicatie | ||
Merb komt met een generator (<tt>merb-gen</tt>) voor het aanmaken van Merb applicaties. | ||
De generator kan verschillende types van Merb applicaties gernereren; om de beschikbare generator opties te zien, typ je | ||
|
||
$ merb-gen -h | ||
|
||
Laat ons het nu even houden op de verschillende types van Merb applicaties die kunnen gegenereerd worden. | ||
|
||
## Types | ||
Merb kan gebruikt worden voor alles varierend van zeer kleine, snelle, enkel-bestand applicaties tot grote, complexe web-diensten. | ||
Verschillende applicatie-structuren kunnen worden gegenereerd, afhankelijk van de noden van de developer. | ||
|
||
De verschillende applicatie-structuren die je kan genereren zijn <tt>app</tt>, <tt>core</tt>, <tt>flat</tt>, en <tt>very_flat</tt>. | ||
|
||
### App | ||
Dit is de opinionated Merb stack. | ||
Dit genereert een volledige applicatie directory structuur met een volledige set van de configuratiebestanden. | ||
Dit voegt ook een <tt>config/dependancies.rb</tt> bestand die alles bevat van <tt>merb-more</tt> en <tt>DataMapper</tt>. | ||
|
||
$ merb-gen app my-application | ||
|
||
Deze applicatie heeft alles wat nodig is om te starten met het bouwen van een eerste klas web-applicatie, dit is het meest vergelijkbaar met de standaard structuur van Rails. | ||
Een groot deel van dit boek zal verder gaan in de veronderstelling dat u bent gestart op deze manier. | ||
|
||
De applicatie kan worden opgestart door <tt>merb</tt> te runnen in de root directory van de applicatie. | ||
Dit commando start Merb op de default poort 4000. | ||
Om je applicatie in actie te zien, open je [http://localhost:4000/](http://localhost:4000/). | ||
|
||
### Core | ||
Core zal de volledige applicatie directory structuur genereren met een volledige set van de configuratiebestanden. | ||
In tegenstelling met <tt>app</tt> -- de opinionated full stack -- worden geen dependencies toegevoegd. | ||
|
||
$ merb-gen core my-application | ||
|
||
Start de applicatie door <tt>merb</tt> te starten de root directory van de applicatie. | ||
Merk op dat, in tegenstelling met de andere drie gegenereerde apps, er geen default inhoud is in core. | ||
Het bezoeken van [http://localhost:4000/](http://localhost:4000/) zal een fout tonen tot de inhoud en routing zijn toegevoegd. | ||
|
||
### Flat | ||
Een flat applicatie bevat alle logica in een enkele file, maar heeft verschillende bestanden voor configuratie en een eigen view directory. | ||
|
||
$ merb-gen flat my-application | ||
|
||
Flat applicatiess worden opgestart, net als de andere gegenereerde merb applicaties, door <tt>merb</tt> te starten in root directory van de applicatie. | ||
Per default, worden alle methodes in de <tt>my-application</tt> class behandeld als acties met <tt>my-application</tt> als de controller. bvb : [http://localhost:4000/my-application/foo](http://localhost:4000/my-application/foo) | ||
|
||
Deze zal <tt>MyApplication#foo</tt> oproepen en rendert de output van de <tt>foo.html.*</tt> template. | ||
|
||
### Very Flat | ||
Een Very Flat applicatie is vergelijkbaar met andere Ruby micro frameworks, waarbij de volledige applicatie zich in een enkel bestand bevindt. | ||
|
||
$ merb-gen very_flat my-applcation | ||
|
||
Om de very flat applicatie te starten, start je Merb met het volgende commando (in je applicatie directory): | ||
|
||
$ merb -I my-applcation.rb | ||
|
||
Dit start Merb op de default port (4000). Om je applicatie in actie zien, bezoek je [http://localhost:4000/](http://localhost:4000/). | ||
|
||
|
||
|
||
|
||
|
92 changes: 92 additions & 0 deletions
92
book-content/nl/2-getting-started/3-project-structure.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# Project structuur | ||
De typische structuur van een nieuwe Merb app (gegenereerd met <tt>merb-gen app</tt>) ziet er ongeveer uit als volgt: | ||
|
||
Application directory (Merb.root) | ||
- app | ||
- controllers | ||
- helpers | ||
- models | ||
- views | ||
- exceptions | ||
- layout | ||
- autotest | ||
- config | ||
- environments | ||
- doc | ||
- gems | ||
- merb | ||
- public | ||
- images | ||
- javascripts | ||
- stylesheets | ||
- spec | ||
- tasks | ||
|
||
Hier volgt een kort beschrijving van elke directory en zijn doel. | ||
|
||
## app | ||
In deze directory zal je het grootste deel van je tijd doorbrengen, omdat het de "kern" van je Merb applicatie bevat. | ||
|
||
### controllers | ||
Al uw applicatie controllers zijn hier opgeslagen (geen verrassing aldaar). | ||
Controllers zijn typisch genoemd in meervoudsvorm. | ||
Bijvoorbeeld, indien de een "<tt>Page</tt>" model hebt, zal de controller file hoogstwaarschijnlijk <tt>pages.rb</tt> worden genoemd. | ||
Dit is eenvoudig een conventie, maar je bent vrij je controllers te noemen zoals je zelf wil. | ||
Zie de [controllers](/getting-started/controllers) sectie voor meer informatie. | ||
|
||
### models | ||
Deze directory bevat je model klassen. | ||
Deze klassen dienen gewoonlijk voor je [ORM](http://en.wikipedia.org/wiki/Object-relational_mapping)s en geven object-georienteerde toegang tot je database tabellen. | ||
Zie de [modellen](/getting-started/models) sectie voor meer info. | ||
|
||
### views | ||
Alle templates worden hier geplaatst. | ||
Standaard bevat deze directory <tt>exceptions</tt> en <tt>layout</tt> subdirectories. | ||
De <tt>exceptions</tt> directory bevat templates die over het algemeen te maken hebben met HTTP errors. | ||
Bijvoorbeeld, een nieuwe Merb app bevat een <tt>not_found.html.{erb,haml}</tt> bestand, die overeenkomt met de 404 HTTP status code. | ||
De <tt>layout</tt> directory bevat de algemene applicatie templates, waarin actie templates kunnen worden gerenderd. | ||
De standaard application layout file noemt <tt>application.html.{erb,haml}</tt>. | ||
Zie de [views](/getting-started/views) sectie voor meer informatie. | ||
|
||
## config | ||
Yep, je raadt het al. | ||
De Merb configuratie-bestanden bevinden zich hier. | ||
De <tt>router.rb</tt> file bevat je applicatie URL [routes](/getting-started/router), die de structuur, volgorde en verschijning van je URLs defineert. | ||
Een andere belangrijke file, <tt>init.rb</tt>, behandeld de basisch Merb configuratie. | ||
Hier configureerd je de ORM, de template engine, en het test framework. | ||
Je kan ook custom configuraties toevoegen aan de <tt>Merb::BootLoader</tt> in zijn <tt>before_app_loads</tt> en <tt>after_app_loads</tt> blocken. | ||
Een ander belangrijk bestand, <tt>dependencies.rb</tt>, is waar je de applicatie afhankelijkheden kan definiëren: andere libraries of gems die je application vereist. | ||
Elke dependency in deze file zal worden geladen bij het opstarten van je Merb app. | ||
|
||
### environments | ||
Hier bevinden zich alle omgevings specifieke configuratie bestanden. | ||
Hier bevinden zich een aantal standaard (pure Ruby) configuratie bestanden; elk een komt overeen met een specifieke Merb omgeving (development, production, etc.). | ||
|
||
## gems | ||
Wanneer je klaar bent om je applicatie te [deployen](/deployment), is het aanbevolen dat je al je afhankelijkheden [bundelt](/deployment/bundle) binnen de applicatie directory. | ||
De <tt>gems</tt> directory is waar deze verpakte afhankelijkheden worden geplaatst. | ||
Tijdens het opstarten van de Merb applicatie, zal elke gem in deze directory, voorrang hebben op de system-wide gem. | ||
|
||
## public | ||
Hier bevinden zich de "statische" bestanden, zoals de <tt>favicon.ico</tt> en <tt>robots.txt</tt> files. | ||
|
||
### images | ||
Alle afbeeldingen die je templates nodig hebben, bevinden zich hier. | ||
|
||
### javascripts | ||
In een standaard "Merb stack", bevat deze directory twee bestanden: <tt>application.js</tt> en <tt>jquery.js</tt>. | ||
Standaard bevat de Merb stack het mooie [jQuery](http://jquery.com/) JavaScript framework. | ||
|
||
Indien je relatief kleine hoeveelheden applicatie-speciefieke JavaScript code hebt, zou je deze in de <tt>application.js</tt> file moeten zetten. | ||
Als dit onwerkbaar blijkt, kan je hulp bestanden toevoegen waar nodig. | ||
|
||
### stylesheets | ||
In overeenstemming met het principe van de "separation of concerns", moeten visuele stijlen in stylesheet worden geplaatst. | ||
Wanneer je een Merb app genereert, wordt een stylesheet bestand aangemaakt (met de naam <tt>master.css</tt>), dat kan worden aangepast zoals je wenst. | ||
|
||
## spec | ||
Gebruik je [rspec](http://rspec.info/) als je [test](/testing-your-application) framework, dan bevat deze directory je testen. | ||
Standaard, bevat deze directory twee bestanden: een lege <tt>spec.opts</tt> file, die je kan gebruiken om command-line argumenten door te geven naar rspec (toevoegen van kleur output, enz.) en <tt>spec_helper.rb</tt>, waar je onder meer de actuele spec runner kan aanpassen . | ||
|
||
## tasks | ||
Deze directory bevat Merb [thor](http://wiki.merbivore.com/faqs/thor) taken. |
Oops, something went wrong.