Skip to content

Commit c33842c

Browse files
committed
add detailed readme
1 parent 81cd738 commit c33842c

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,27 @@
11
# RailsLite
2+
3+
RailsLite is a lightweight version of Ruby-on-Rails built from scratch, featuring some of the basic functionality from Rails.
4+
5+
This particular construction includes a lightweight version of Active Record that includes model associations and table modification/lookup methods.
6+
7+
The goal of this project was to gain a thorough understanding of Ruby-on-Rails, Active Record, and backend frameworks in general.
8+
9+
## Features
10+
11+
### RailsLite
12+
13+
-HTTPSServer via WEBrick ruby server module.
14+
-Replicates ActionController::Base with ControllerBase class, including render and redirect methods.
15+
-Reads, evaluates, and renders ERB templates.
16+
-Stores serialized session data in WEBrick cookie.
17+
-Evaluates and stores params from URL, request body, and query string.
18+
-Includes a router that tracks multiple routes, and matches them to their respective controller methods for execution.
19+
20+
### Active Record
21+
22+
-Automated table naming based on Active Record conventions.
23+
-Getter and setter methods for table columns.
24+
-Table modification methods: #add, #insert, #save, #update.
25+
-Table Lookup methods: #all, #find, #where, #includes.
26+
-Fully featured associations: belongs_to, has_many, has_one :through, has_many :through.
27+
-Uses a Relation class to make #where lazy and stackable.

0 commit comments

Comments
 (0)