Author: cbegin
Date: Sat May 20 20:52:53 2006
New Revision: 408127
URL: http://svn.apache.org/viewvc?rev=408127view=rev
Log:
First import of iBATIS for Ruby (rBatis)
Added:
ibatis/trunk/rb/rbatis/
ibatis/trunk/rb/rbatis/generators/
ibatis/trunk/rb/rbatis/generators/rbatis/
ibatis/trunk/rb/rbatis/generators/rbatis/USAGE
ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb
ibatis/trunk/rb/rbatis/generators/rbatis/templates/
ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb
ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb
ibatis/trunk/rb/rbatis/init.rb
ibatis/trunk/rb/rbatis/lib/
ibatis/trunk/rb/rbatis/lib/rbatis/
ibatis/trunk/rb/rbatis/lib/rbatis.rb
ibatis/trunk/rb/rbatis/lib/rbatis/rails_integration.rb
ibatis/trunk/rb/rbatis/lib/rbatis/sanitizer.rb
ibatis/trunk/rb/rbatis/test/
ibatis/trunk/rb/rbatis/test/rbatis_test.rb
Added: ibatis/trunk/rb/rbatis/generators/rbatis/USAGE
URL:
http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/USAGE?rev=408127view=auto
==
--- ibatis/trunk/rb/rbatis/generators/rbatis/USAGE (added)
+++ ibatis/trunk/rb/rbatis/generators/rbatis/USAGE Sat May 20 20:52:53 2006
@@ -0,0 +1,8 @@
+Description:
+Generates a RBatis::Base stub.
+
+Examples:
+./script/generate rbatis order
+will generate:
+ /app/models/order.rb
+ /test/unit/order.rb
Added: ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb
URL:
http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb?rev=408127view=auto
==
--- ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb (added)
+++ ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb Sat May 20
20:52:53 2006
@@ -0,0 +1,16 @@
+class RbatisGenerator Rails::Generator::NamedBase
+ def manifest
+record do |m|
+ # Check for class naming collisions.
+ m.class_collisions class_path, class_name, #{class_name}Test
+
+ # Model, test, and fixture directories.
+ m.directory File.join('app/models', class_path)
+ m.directory File.join('test/unit', class_path)
+
+ # Model class, unit test, and fixtures.
+ m.template 'model.rb', File.join('app/models', class_path,
#{file_name}.rb)
+ m.template 'unit_test.rb', File.join('test/unit', class_path,
#{file_name}_test.rb)
+end
+ end
+end
Added: ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb
URL:
http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb?rev=408127view=auto
==
--- ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb (added)
+++ ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb Sat May 20
20:52:53 2006
@@ -0,0 +1,2 @@
+class %= class_name % RBatis::Base
+end
Added: ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb
URL:
http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb?rev=408127view=auto
==
--- ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb (added)
+++ ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb Sat May 20
20:52:53 2006
@@ -0,0 +1,10 @@
+require File.dirname(__FILE__) + '%= '/..' * class_nesting_depth
%/../test_helper'
+
+class %= class_name %Test Test::Unit::TestCase
+ fixtures :%= table_name %
+
+ # Replace this with your real tests.
+ def test_truth
+assert true
+ end
+end
Added: ibatis/trunk/rb/rbatis/init.rb
URL:
http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/init.rb?rev=408127view=auto
==
--- ibatis/trunk/rb/rbatis/init.rb (added)
+++ ibatis/trunk/rb/rbatis/init.rb Sat May 20 20:52:53 2006
@@ -0,0 +1,2 @@
+require 'rbatis'
+require 'rbatis/rails_integration'
Added: ibatis/trunk/rb/rbatis/lib/rbatis.rb
URL:
http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/lib/rbatis.rb?rev=408127view=auto
==
--- ibatis/trunk/rb/rbatis/lib/rbatis.rb (added)
+++ ibatis/trunk/rb/rbatis/lib/rbatis.rb Sat May 20 20:52:53 2006
@@ -0,0 +1,327 @@
+require 'rbatis/sanitizer'
+
+def Fixnum.from_database(record, column)
+ record[column].to_i
+end
+
+def String.from_database(record, column)
+ record[column].to_s
+end
+
+def Time.from_database(record, column)
+ Time.parse(record[column])
+end
+
+module RBatis
+ class BooleanMapper
+def from_database(record, column)
+ return null if record[column].nil?
+ return true if record[column] == '1'
+ return false if record[column] == '0'
+
+ raise can't parse boolean value for