diff --git a/lib/ambition.rb b/lib/ambition.rb index a268c78..1d6bc1a 100644 --- a/lib/ambition.rb +++ b/lib/ambition.rb @@ -10,5 +10,7 @@ require 'ambition/sort_processor' require 'ambition/simple_processor' require 'ambition/query' require 'ambition/database_statements' +require 'ambition/scoped_context' ActiveRecord::Base.extend Ambition::API +ActiveRecord::Base.extend Ambition::API::ScopedContext diff --git a/lib/ambition/query.rb b/lib/ambition/query.rb index 45fe597..a57adad 100644 --- a/lib/ambition/query.rb +++ b/lib/ambition/query.rb @@ -8,6 +8,10 @@ module Ambition @clauses = [] end + def clauses + @clauses || [] + end + def add(clause) @clauses << clause self @@ -27,6 +31,11 @@ module Ambition ret end + def merge!(other_context) + @clauses += other_context.clauses + self + end + def to_hash keyed = keyed_clauses hash = {}