README.md in tuning-1.0.0 vs README.md in tuning-4.0.0.0
- old
+ new
@@ -5,10 +5,17 @@
# Tuning
Common tools used in rails extracted into a gem.
+## Why
+
+I did this gem to:
+
+- Make features I commonly need work nice together.
+- Have an extensible container to continue adding new general purpose tools.
+
## Install
Put this line in your Gemfile:
```ruby
gem 'tuning'
@@ -17,12 +24,14 @@
Then bundle:
```
$ bundle
```
-## Controllers
+## Usage
+### Controllers
+
New callbacks before, after, around render are available:
```ruby
class ProductsController < ApplicationController
before_action :set_product
@@ -42,11 +51,11 @@
end
end
```
-## Mailers
+### Mailers
Text email templates will normalize spaces and new lines like html:
```erb
<% if @order.confirmed? %>
Your order has been confirmed.
@@ -60,11 +69,11 @@
Your order has been confirmed.
Will be delivered right the way.
```
-## Views
+### Views
New content_tag_if method to wrap content into some tag if certain condition it's true:
```erb
<%= content_tag_if request.path == home_path, :h1 do %>
<%= link_to 'Home', home_path, id: 'logo' %>
@@ -81,44 +90,44 @@
<%= extending :application do %>
<p>content</p>
<% end %>
```
-## Records
+### Records
Empty strings will be nilify in the database to avoid sql errors or complex queries:
```ruby
shop = Shop.new(name: '')
shop.save
shop.name # Will be nil
```
New method validate is available to allow a more expressive syntax:
```ruby
-record.validate # Same as valid?
+record.validate
```
-## Validations
+### Validations
-Complexity validator to avoid weak passwords:
+New complexity validator to avoid weak passwords:
```ruby
class User < ActiveRecord::Base
validates_complexity_of :password
end
```
-Count validator to express count messages instead of length messages:
+New time validator to validate Date/Time using after, after_or_equal_to, before or before_or_equal_to:
```ruby
-class Product < ActiveRecord::Base
- validates_count_of :pictures, minimum: 1, maximum: 4 # Or in/within: 1..4
+class Schedule < ActiveRecord::Base
+ validates_time_of :opens_at
+ validates_time_of :closes_at, after: :opens_at
end
```
-Time validator to validate Date/Time values:
+New count validator to express count messages using minimum, maximum, in o within:
```ruby
-class Schedule < ActiveRecord::Base
- validates_time_of :opens_at
- validates_time_of :closes_at, after: :opens_at # Or before, after_or_equal_to or before_or_equal_to
+class Product < ActiveRecord::Base
+ validates_count_of :pictures, minimum: 1, maximum: 4
end
```
NOTE: Take a look at lib/tuning/locales to know the i18n keys.