1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix grammar in README

* Fixes grammatical errors
* Fixes capitalization
* Fixes punctuation
This commit is contained in:
Jeff Cole 2016-02-28 10:13:42 -07:00
parent f45b5f9dc8
commit 97dcd5133c

View file

@ -8,8 +8,8 @@ Arel Really Exasperates Logicians
Arel is a SQL AST manager for Ruby. It Arel is a SQL AST manager for Ruby. It
1. Simplifies the generation of complex SQL queries 1. simplifies the generation of complex SQL queries, and
2. Adapts to various RDBMSes 2. adapts to various RDBMSes.
It is intended to be a framework framework; that is, you can build your own ORM It is intended to be a framework framework; that is, you can build your own ORM
with it, focusing on innovative object and collection modeling as opposed to with it, focusing on innovative object and collection modeling as opposed to
@ -17,7 +17,7 @@ database compatibility and query generation.
## Status ## Status
For the moment, Arel uses Active Record's connection adapters to connect to the various engines, connection pooling, perform quoting, and do type conversion. For the moment, Arel uses Active Record's connection adapters to connect to the various engines and perform connection pooling, quoting, and type conversion.
## A Gentle Introduction ## A Gentle Introduction
@ -27,7 +27,7 @@ Generating a query with Arel is simple. For example, in order to produce
SELECT * FROM users SELECT * FROM users
``` ```
you construct a table relation and convert it to sql: you construct a table relation and convert it to SQL:
```ruby ```ruby
users = Arel::Table.new(:users) users = Arel::Table.new(:users)
@ -107,7 +107,7 @@ users.join(photos).on(users[:id].eq(photos[:user_id]))
# => SELECT * FROM users INNER JOIN photos ON users.id = photos.user_id # => SELECT * FROM users INNER JOIN photos ON users.id = photos.user_id
``` ```
Left Joins Left joins:
```ruby ```ruby
users.join(photos, Arel::Nodes::OuterJoin).on(users[:id].eq(photos[:user_id])) users.join(photos, Arel::Nodes::OuterJoin).on(users[:id].eq(photos[:user_id]))
@ -128,7 +128,7 @@ users.project(users[:name]).group(users[:name])
# => SELECT users.name FROM users GROUP BY users.name # => SELECT users.name FROM users GROUP BY users.name
``` ```
The best property of arel is its "composability", or closure under all operations. For example, to restrict AND project, just "chain" the method invocations: The best property of Arel is its "composability," or closure under all operations. For example, to restrict AND project, just "chain" the method invocations:
```ruby ```ruby
users \ users \
@ -182,7 +182,7 @@ users.project(users[:age].average.as("mean_age"))
### The Crazy Features ### The Crazy Features
The examples above are fairly simple and other libraries match or come close to matching the expressiveness of Arel (e.g., `Sequel` in Ruby). The examples above are fairly simple and other libraries match or come close to matching the expressiveness of Arel (e.g. `Sequel` in Ruby).
#### Inline math operations #### Inline math operations
@ -232,7 +232,7 @@ comments_with_replies = \
This will return the reply for the first comment. This will return the reply for the first comment.
[Common Table Expressions(CTE)](https://en.wikipedia.org/wiki/Common_table_expressions#Common_table_expression) support via: [Common Table Expressions (CTE)](https://en.wikipedia.org/wiki/Common_table_expressions#Common_table_expression) support via:
Create a `CTE` Create a `CTE`
@ -275,7 +275,7 @@ photos.project(photo_clicks.as("photo_clicks"))
## Contributing to Arel ## Contributing to Arel
Arel is work of many contributors. You're encouraged to submit pull requests, propose Arel is the work of many contributors. You're encouraged to submit pull requests, propose
features and discuss issues. features and discuss issues.
See [CONTRIBUTING](CONTRIBUTING.md). See [CONTRIBUTING](CONTRIBUTING.md).