Sha256: 14a9367b5b956353815f796dc58f8c5acb5206e8428f041322d0ce304cb43216

Contents?: true

Size: 1.15 KB

Versions: 8

Compression:

Stored size: 1.15 KB

Contents

# BetterAr

BetterAr replaces the .all, .first and .count methods for ActiveRecord.


## Install

Bundler:

    gem 'better_ar'

Command line:

    gem install better_ar

## Usage

Now a single hash can be passed to ActiveRecord::Base.all that contains not only the where values but also other scopes like 'limit' and 'order' and also implicit joins

    User.all(:age => 10, :limit! => 5, :offset! => 10, :order! => :name, :records => {:name => 'test'})

is the same as

    User.joins(:records).where(:age => 10, :records => {:name => 'test'}).limit(5).offset(10).order(:name)

It also works on association collections:

    User.first.records.all(:level => 2, :limit! => 5, :offset! => 10, :order! => :name, :reports => {:name => 'test'})

This would be the same as:

    User.first.records.joins(:reports).where(:level => 2, :reports => {:name => 'test'}).limit(5).offset(10).order(:name)

While this may seem less concise the advantage is being able to dynamically construct the query with a single hash in code.

### Legacy

If the params contain :condition it will fall back to the legacy method.

## Other

Brian Cardarella (c) 2011

License: MIT (see MIT-LICENSE.txt)

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
better_ar-0.2.2 README.markdown
better_ar-0.2.1 README.markdown
better_ar-0.2.0 README.markdown
better_ar-0.1.1 README.markdown
better_ar-0.1.0 README.markdown
better_ar-0.0.11 README.markdown
better_ar-0.0.8 README.markdown
better_ar-0.0.7 README.markdown