aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_relation/sessions/session.rb
diff options
context:
space:
mode:
authorNick Kallen <nkallen@nick-kallens-computer-2.local>2008-02-23 19:29:18 -0800
committerNick Kallen <nkallen@nick-kallens-computer-2.local>2008-02-23 19:29:18 -0800
commit51fdd769c0cb096d6e6f04afc3ebb91833d625bc (patch)
tree9e6078f474ccf3424495e567cb39b232ce5c5d25 /lib/active_relation/sessions/session.rb
parentf10d3be703cada60783c671866dd48194b800002 (diff)
downloadrails-51fdd769c0cb096d6e6f04afc3ebb91833d625bc.tar.gz
rails-51fdd769c0cb096d6e6f04afc3ebb91833d625bc.tar.bz2
rails-51fdd769c0cb096d6e6f04afc3ebb91833d625bc.zip
Introduced concept of session. It does not yet support multiple databases, nor transactions, but it's a start!
Diffstat (limited to 'lib/active_relation/sessions/session.rb')
-rw-r--r--lib/active_relation/sessions/session.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/active_relation/sessions/session.rb b/lib/active_relation/sessions/session.rb
new file mode 100644
index 0000000000..d6e2ae7169
--- /dev/null
+++ b/lib/active_relation/sessions/session.rb
@@ -0,0 +1,38 @@
+require 'singleton'
+
+module ActiveRelation
+ class Session
+ include Singleton
+
+ module CRUD
+ def connection
+ ActiveRecord::Base.connection
+ end
+
+ def create(insert)
+ connection.insert(insert.to_sql)
+ end
+
+ def read(select)
+ connection.select_all(select.to_sql)
+ end
+
+ def update(update)
+ connection.update(update.to_sql)
+ end
+
+ def delete(delete)
+ connection.delete(delete.to_sql)
+ end
+ end
+ include CRUD
+
+ module Transactions
+ end
+ include Transactions
+
+ module UnitOfWork
+ end
+ include UnitOfWork
+ end
+end \ No newline at end of file