From 7959e55ead84be096247d9622404d1c60ca21c88 Mon Sep 17 00:00:00 2001 From: Snuggs Date: Sat, 16 Oct 2010 17:40:45 -0400 Subject: Created syntactic sugar Table(...) method --- History.txt | 6 ++++++ lib/arel/table.rb | 6 +++++- spec/table_spec.rb | 23 ++++++++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/History.txt b/History.txt index bcec68b6cf..7a66436709 100644 --- a/History.txt +++ b/History.txt @@ -1,3 +1,9 @@ +== 2.0.0 / 2010-08-01 +* Enhancements + + * Recreate library using the Visitor pattern. + http://en.wikipedia.org/wiki/Visitor_pattern + == 0.3.0 / 2010-03-10 * Enhancements diff --git a/lib/arel/table.rb b/lib/arel/table.rb index 171d165bc2..76ced079ba 100644 --- a/lib/arel/table.rb +++ b/lib/arel/table.rb @@ -1,4 +1,8 @@ -module Arel +def Table(name, engine = Arel::Table.engine) + Arel::Table.new(name, engine) +end + +module Arel class Table include Arel::Crud diff --git a/spec/table_spec.rb b/spec/table_spec.rb index d0ba46ae56..77a600877e 100644 --- a/spec/table_spec.rb +++ b/spec/table_spec.rb @@ -1,6 +1,27 @@ require 'spec_helper' -module Arel +describe '#Table' do + it 'creates a base relation variable' do + name = :foo + Table(name) == Arel::Table.new(name) + end + + it 'should have a default engine' do + Table(:foo).engine.should == Arel::Table.engine + end + + it 'can take an engine' do + engine = Arel::Table.engine + Table(:foo, engine).engine.should be engine + end + it 'can take an options hash' do + engine = Arel::Table.engine + options = { :engine => engine } + Table(:foo, options).engine.should be engine + end +end + +module Arel describe Table do before do @relation = Table.new(:users) -- cgit v1.2.3