marjoree 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. data/README +50 -0
  2. data/examples/contains_example.rb +23 -0
  3. data/examples/count_and_insert_example.rb +20 -0
  4. data/examples/select_example.rb +27 -0
  5. data/html/classes/ExpectedResultSet.html +220 -0
  6. data/html/classes/ExpectedResultSet.src/M000001.html +18 -0
  7. data/html/classes/ExpectedResultSet.src/M000002.html +18 -0
  8. data/html/classes/ExpectedResultSet.src/M000003.html +18 -0
  9. data/html/classes/ExpectedResultSet.src/M000004.html +18 -0
  10. data/html/classes/Marjoree.html +568 -0
  11. data/html/classes/Marjoree.src/M000022.html +19 -0
  12. data/html/classes/Marjoree.src/M000023.html +20 -0
  13. data/html/classes/Marjoree.src/M000024.html +22 -0
  14. data/html/classes/Marjoree.src/M000025.html +18 -0
  15. data/html/classes/Marjoree.src/M000026.html +20 -0
  16. data/html/classes/Marjoree.src/M000027.html +18 -0
  17. data/html/classes/Marjoree.src/M000028.html +18 -0
  18. data/html/classes/Marjoree.src/M000029.html +21 -0
  19. data/html/classes/Marjoree.src/M000030.html +20 -0
  20. data/html/classes/Marjoree.src/M000031.html +19 -0
  21. data/html/classes/Marjoree.src/M000032.html +18 -0
  22. data/html/classes/Marjoree.src/M000033.html +18 -0
  23. data/html/classes/Marjoree.src/M000034.html +19 -0
  24. data/html/classes/Marjoree.src/M000035.html +21 -0
  25. data/html/classes/Marjoree.src/M000036.html +26 -0
  26. data/html/classes/Marjoree.src/M000037.html +22 -0
  27. data/html/classes/Marjoree.src/M000038.html +23 -0
  28. data/html/classes/Marjoree.src/M000039.html +24 -0
  29. data/html/classes/Marjoree.src/M000040.html +18 -0
  30. data/html/classes/Marjoree.src/M000041.html +18 -0
  31. data/html/classes/Marjoree.src/M000042.html +25 -0
  32. data/html/classes/ODBC/Error.html +152 -0
  33. data/html/classes/ODBC/Error.src/M000020.html +21 -0
  34. data/html/classes/ODBC/Error.src/M000021.html +18 -0
  35. data/html/classes/ODBC/TimeStamp.html +182 -0
  36. data/html/classes/ODBC/TimeStamp.src/M000017.html +18 -0
  37. data/html/classes/ODBC/TimeStamp.src/M000018.html +22 -0
  38. data/html/classes/ODBC/TimeStamp.src/M000019.html +19 -0
  39. data/html/classes/ODBC.html +108 -0
  40. data/html/classes/ResultSetWrapper.html +345 -0
  41. data/html/classes/ResultSetWrapper.src/M000005.html +27 -0
  42. data/html/classes/ResultSetWrapper.src/M000006.html +24 -0
  43. data/html/classes/ResultSetWrapper.src/M000007.html +23 -0
  44. data/html/classes/ResultSetWrapper.src/M000008.html +18 -0
  45. data/html/classes/ResultSetWrapper.src/M000009.html +18 -0
  46. data/html/classes/ResultSetWrapper.src/M000010.html +18 -0
  47. data/html/classes/ResultSetWrapper.src/M000011.html +18 -0
  48. data/html/classes/ResultSetWrapper.src/M000012.html +20 -0
  49. data/html/classes/ResultSetWrapper.src/M000013.html +18 -0
  50. data/html/classes/ResultSetWrapper.src/M000014.html +22 -0
  51. data/html/classes/ResultSetWrapper.src/M000015.html +23 -0
  52. data/html/classes/ResultSetWrapper.src/M000016.html +27 -0
  53. data/html/created.rid +1 -0
  54. data/html/files/README.html +159 -0
  55. data/html/files/lib/expected_result_set_rb.html +116 -0
  56. data/html/files/lib/marjoree_rb.html +110 -0
  57. data/html/files/lib/odbc_overrides_rb.html +101 -0
  58. data/html/files/lib/result_set_wrapper_rb.html +101 -0
  59. data/html/fr_class_index.html +32 -0
  60. data/html/fr_file_index.html +31 -0
  61. data/html/fr_method_index.html +68 -0
  62. data/html/index.html +24 -0
  63. data/html/rdoc-style.css +208 -0
  64. data/lib/expected_result_set.rb +35 -0
  65. data/lib/marjoree.rb +344 -0
  66. data/lib/odbc_overrides.rb +33 -0
  67. data/lib/result_set_wrapper.rb +193 -0
  68. data/rakefile.rb +38 -0
  69. data/tests/all_tests.rb +15 -0
  70. data/tests/sprocs/test_error_sproc.sp +11 -0
  71. data/tests/sprocs/test_sproc.sp +5 -0
  72. data/tests/sprocs/test_sproc_with_mixed_params.sp +15 -0
  73. data/tests/sprocs/test_sproc_with_output_params.sp +10 -0
  74. data/tests/sprocs/test_sproc_with_params.sp +9 -0
  75. data/tests/sprocs/test_sproc_with_select_and_ops.sp +12 -0
  76. data/tests/test_contains.rb +27 -0
  77. data/tests/test_delete.rb +47 -0
  78. data/tests/test_expected_result_set.rb +40 -0
  79. data/tests/test_insert.rb +47 -0
  80. data/tests/test_marjoree.rb +91 -0
  81. data/tests/test_num_rows.rb +32 -0
  82. data/tests/test_result_set_wrapper.rb +162 -0
  83. data/tests/test_select.rb +30 -0
  84. data/tests/test_sproc.rb +99 -0
  85. data/tests/test_time_stamp.rb +52 -0
  86. data/tests/test_truncate.rb +31 -0
  87. data/tests/test_update.rb +56 -0
  88. metadata +137 -0
@@ -0,0 +1,162 @@
1
+ require 'test/unit'
2
+ require 'odbc'
3
+ require 'result_set_wrapper'
4
+
5
+ class TestResultSetWrapper < Test::Unit::TestCase
6
+ include Marjoree
7
+
8
+ class StubStatement
9
+ def initialize( result_set_rows )
10
+ @result_set_rows = result_set_rows
11
+ end
12
+
13
+ def each_hash
14
+ @result_set_rows.each { |row| yield row }
15
+ end
16
+
17
+ def columns
18
+ return {"first"=>"val", "second"=>"val", "third"=>"val" }
19
+ #return ["first", "second", "third"]
20
+ end
21
+ end
22
+
23
+ def setup
24
+ $db.do( "CREATE TABLE TEST_TABLE( id int NOT NULL, value int NOT NULL )" )
25
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 0, 10 )" )
26
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 1, 11 )" )
27
+
28
+ statement_rows = [{"id"=>1},{"id"=>2},{"id"=>3},{"id"=>4},{"id"=>5},{"id"=>6}]
29
+ @statement = StubStatement.new( statement_rows )
30
+ @result_set = ResultSetWrapper.new @statement
31
+ load_sproc 'test_sproc.sp'
32
+ load_sproc 'test_sproc_with_output_params.sp'
33
+ end
34
+
35
+ def teardown
36
+ $db.do( "TRUNCATE TABLE TEST_TABLE" )
37
+ $db.do( "DROP TABLE TEST_TABLE" )
38
+ $db.do( "DROP PROCEDURE test_sproc")
39
+ $db.do( "DROP PROCEDURE test_sproc_with_output_params")
40
+ end
41
+
42
+ def test_contains_where_expected_has_more_than_one_item
43
+ result_set = run_sproc 'test_sproc'
44
+ assert( result_set.contains?( { :id => 0, :value => 10 } ) )
45
+ assert( result_set.contains?( { :id => 1, :value => 11 } ) )
46
+ end
47
+
48
+ def test_error_thrown_when_output_param_does_not_exist
49
+ result_set = run_sproc 'test_sproc'
50
+
51
+ begin
52
+ result_set.non_existant_sproc_output_param
53
+ fail
54
+ rescue NoMethodError
55
+ end
56
+
57
+ end
58
+
59
+ def test_contains_sunny_case
60
+ expected_row = {:id => 5}
61
+ assert( @result_set.contains?( expected_row ) )
62
+ end
63
+
64
+ def test_columns
65
+ assert_equal( @statement.columns, @result_set.columns )
66
+ end
67
+
68
+ def test_does_not_contain_bad_value
69
+ actual_row = [{"id" => 1}]
70
+ unexpected_row = {"id" => 10}
71
+ assert( !@result_set.contains?( actual_row, unexpected_row ) )
72
+ end
73
+
74
+ def test_does_not_contain_bad_column_name
75
+ actual_result = [{:id => 1}]
76
+ unexpected_row = {:rubbish => 1}
77
+
78
+ assert( !@result_set.contains?( actual_result, unexpected_row ) )
79
+ end
80
+
81
+ def test_does_not_contain_bad_value_type
82
+ actual_result = [{:id => 1}]
83
+ unexpected_row = {"id" => '1'}
84
+
85
+ assert( !@result_set.contains?( actual_result, unexpected_row ) )
86
+ end
87
+
88
+ def test_sunny_case_with_larger_map
89
+ result_set_rows = [{"id" => 1, "value" => 'Hello'}]
90
+ expected_row = {:id => 1, :value => 'Hello' }
91
+ @result_set = ResultSetWrapper.new( StubStatement.new( result_set_rows ) )
92
+
93
+ assert( @result_set.contains?( expected_row ) )
94
+ end
95
+
96
+ def test_sunny_case_with_subset_of_larger_map
97
+ result_set_rows = [{"id" => 1, "value" => 'Hello'}]
98
+ expected_row = {:id => 1 }
99
+ @result_set = ResultSetWrapper.new( StubStatement.new( result_set_rows ) )
100
+
101
+ assert( @result_set.contains?( expected_row ) )
102
+ end
103
+
104
+ def test_invalid_case_with_larger_map
105
+ result_set_rows = [{"id" => 1, "value" => 'Hello'}]
106
+ unexpected_row = {"id" => 1, "value" => 'Monkey Hell' }
107
+ @result_set = ResultSetWrapper.new( StubStatement.new( result_set_rows ) )
108
+
109
+ assert( !@result_set.contains?( unexpected_row ) )
110
+ end
111
+
112
+ def test_invalid_case_with_multiple_rows
113
+ expected_rows = [{:id => 1}, {:id => 2 }]
114
+ assert( @result_set.contains?( expected_rows ) )
115
+ end
116
+
117
+ def test_with_valid_expected_result_set
118
+ expected = ExpectedResultSet.new
119
+ expected.columns = ["id"]
120
+ expected.rows << [1]
121
+
122
+ assert( @result_set.contains?({:id => 1}) )
123
+ assert_equal({"id" => 1}, expected.row_hash(0))
124
+
125
+ assert( @result_set.has?( expected ) )
126
+ end
127
+
128
+ def test_with_valid_expected_result_set_2
129
+ expected = ExpectedResultSet.new
130
+ expected.columns = ["id"]
131
+ expected.rows << [1]
132
+ expected.rows << [3]
133
+
134
+ assert( @result_set.contains?({:id => 1}) )
135
+ assert_equal({"id" => 1}, expected.row_hash(0))
136
+ assert( @result_set.has?( expected ) )
137
+ end
138
+
139
+ def test_to_s
140
+ result_set_rows = [{"first" => 1, "second" => 'first row', "third" => "first value"},
141
+ {"first" => 2, "second" => 'second row', "third" => "second value"}]
142
+
143
+ @result_set = ResultSetWrapper.new( StubStatement.new( result_set_rows ) )
144
+
145
+ expected = "| third | second | first |"
146
+ expected << "\n -------------- ------------ ------- "
147
+ expected << "\n| first value | first row | 1 |"
148
+ expected << "\n| second value | second row | 2 |"
149
+
150
+ assert_equal( expected, @result_set.to_s )
151
+ end
152
+
153
+
154
+ private
155
+
156
+ def load_sproc( sproc_name )
157
+ dir = File.dirname(__FILE__)
158
+ sproc_contents = IO.readlines( "#{dir}/sprocs/#{sproc_name}" ).join
159
+ $db.do sproc_contents
160
+ end
161
+
162
+ end
@@ -0,0 +1,30 @@
1
+ require 'test/unit'
2
+
3
+ class TestSelect < Test::Unit::TestCase
4
+ include Marjoree
5
+
6
+ def setup
7
+ $db.do( "CREATE TABLE TEST_TABLE( id int NOT NULL, value int NOT NULL )" )
8
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 0, 10 )" )
9
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 1, 11 )" )
10
+ end
11
+
12
+ def test_select
13
+ result_set = select( "TEST_TABLE" )
14
+
15
+ assert_equal( 2, result_set.count )
16
+ end
17
+
18
+ def test_select_with_bad_table
19
+ begin
20
+ resultSet = select( "TABLE_NOT_INT_DB" )
21
+ fail
22
+ rescue ODBC::Error
23
+ end
24
+ end
25
+
26
+ def teardown
27
+ $db.do( "TRUNCATE TABLE TEST_TABLE" )
28
+ $db.do( "DROP TABLE TEST_TABLE" )
29
+ end
30
+ end
@@ -0,0 +1,99 @@
1
+ require 'test/unit'
2
+
3
+ class TestSproc < Test::Unit::TestCase
4
+ include Marjoree
5
+
6
+ def setup
7
+ $db.do( "CREATE TABLE TEST_TABLE( id int NOT NULL, value int NOT NULL )" )
8
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 0, 10 )" )
9
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 1, 11 )" )
10
+ load_sproc 'test_sproc.sp'
11
+ load_sproc 'test_sproc_with_params.sp'
12
+ load_sproc 'test_error_sproc.sp'
13
+ load_sproc 'test_sproc_with_output_params.sp'
14
+ load_sproc 'test_sproc_with_mixed_params.sp'
15
+ load_sproc 'test_sproc_with_select_and_ops.sp'
16
+ end
17
+
18
+ def test_result_set
19
+ expectedResultSet = ExpectedResultSet.new
20
+ expectedResultSet.columns = [:id, :value]
21
+ expectedResultSet.rows << [0, 10]
22
+ expectedResultSet.rows << [1, 11]
23
+
24
+ result_set = run_sproc( "test_sproc" )
25
+ assert( result_set.is_a?( ResultSetWrapper ) )
26
+ assert_results( expectedResultSet, result_set )
27
+ end
28
+
29
+ def test_calling_sproc_with_params
30
+ expectedResultSet = ExpectedResultSet.new
31
+ expectedResultSet.columns = ["id", "value"]
32
+ expectedResultSet.rows << [0, 10]
33
+
34
+ assert_results( expectedResultSet, run_sproc( "test_sproc_with_params", :id => 0, :value => 10 ) )
35
+ end
36
+
37
+ def test_getting_error_codes_from_result
38
+ begin
39
+ run_sproc 'test_error_sproc', {:error_code => 20000, :error_message => "Catstrophic Failure" }
40
+ rescue ODBC::Error
41
+ exception = $!
42
+
43
+ assert_equal( 20000, exception.error_code )
44
+ assert_equal( "Catstrophic Failure", exception.error_message )
45
+ end
46
+ end
47
+
48
+ def test_using_new_assert_method_with_block
49
+ assert_error_thrown( 20202, 'my error' ) do
50
+ run_sproc 'test_error_sproc', {:error_code => 20202, :error_message => "my error" }
51
+ end
52
+ end
53
+
54
+ def test_output_params_put_onto_result_object
55
+ sql = "DECLARE @number int \n"
56
+ sql << "DECLARE @text varchar(10) \n"
57
+ sql << "EXEC test_sproc_with_output_params @output_number = @number output, @output_text = @text output \n"
58
+ sql << "select @number \n"
59
+ sql << "select @text \n"
60
+ response = execute( sql )
61
+ results = ResultSetWrapper.new( response, ["@output_number", "@output_text" ] )
62
+
63
+ assert_equal( 15, results.output_number )
64
+ assert_equal( 'results', results.output_text )
65
+ end
66
+
67
+ def test_run_sproc_applies_output_params_to_result_object
68
+ result_set = run_sproc 'test_sproc_with_output_params'
69
+ assert_equal( 15, result_set.output_number )
70
+ assert_equal( 'results', result_set.output_text )
71
+ end
72
+
73
+ def test_output_params_put_onto_result_object_when_sproc_has_input_params
74
+ result_set = run_sproc( 'test_sproc_with_mixed_params', { :input_text => "INPUT", :input_first_number => 50, :input_second_number => 60} )
75
+
76
+ assert_equal( 15, result_set.output_number )
77
+ assert_equal( 'results', result_set.output_text )
78
+ end
79
+
80
+
81
+ def teardown
82
+ $db.do( "TRUNCATE TABLE TEST_TABLE" )
83
+ $db.do( "DROP TABLE TEST_TABLE" )
84
+ $db.do( "DROP PROCEDURE test_sproc")
85
+ $db.do( "DROP PROCEDURE test_sproc_with_params")
86
+ $db.do( "DROP PROCEDURE test_error_sproc")
87
+ $db.do( "DROP PROCEDURE test_sproc_with_output_params")
88
+ $db.do( "DROP PROCEDURE test_sproc_with_mixed_params")
89
+ $db.do( "DROP PROCEDURE test_sproc_with_select_and_ops")
90
+ end
91
+
92
+ private
93
+
94
+ def load_sproc( sproc_name )
95
+ dir = File.dirname(__FILE__)
96
+ sproc_contents = IO.readlines( "#{dir}/sprocs/#{sproc_name}" ).join
97
+ $db.do sproc_contents
98
+ end
99
+ end
@@ -0,0 +1,52 @@
1
+ require 'test/unit'
2
+
3
+ class TestTimeStamp < Test::Unit::TestCase
4
+ include Marjoree
5
+
6
+ def setup
7
+ @timestamp = '2006-09-22 11:31:35.923'
8
+ $db.do( "CREATE TABLE TEST_TABLE( time DATETIME NOT NULL )" )
9
+ $db.do( "INSERT INTO TEST_TABLE ( time ) VALUES( '#{@timestamp}' )" )
10
+ end
11
+
12
+ def test_timestamp_correct
13
+ expected = ExpectedResultSet.new
14
+ expected.columns = [:time]
15
+ expected.rows << [ODBC::TimeStamp.new( @timestamp )]
16
+
17
+ result_set = select "TEST_TABLE"
18
+ assert_results( expected, result_set)
19
+ end
20
+
21
+ def test_timestamp_incorrect
22
+ expected = ExpectedResultSet.new
23
+ expected.columns = [:time]
24
+ expected.rows << [ODBC::TimeStamp.new( '2006-09-23' )]
25
+
26
+
27
+ result_set = select "TEST_TABLE"
28
+ assert_not_equal_results( expected, result_set)
29
+ end
30
+
31
+ def test_timestamp_formatting
32
+ time_text = '2006-09-22 11:31:35'
33
+ testee = ODBC::TimeStamp.new( time_text )
34
+ assert_equal( time_text, testee.to_s )
35
+
36
+ time_text = '2006-09-22 11:31:35.923'
37
+ testee = ODBC::TimeStamp.new( time_text )
38
+ assert_equal( time_text, testee.to_s )
39
+ end
40
+
41
+ def test_from_date
42
+ date = Time.parse '10/10/06'
43
+
44
+ testee = ODBC::TimeStamp.from_date(date)
45
+
46
+ assert_equal '2006-10-10 00:00:00', testee.to_s
47
+ end
48
+
49
+ def teardown
50
+ $db.do( "DROP TABLE TEST_TABLE" )
51
+ end
52
+ end
@@ -0,0 +1,31 @@
1
+ require 'test/unit'
2
+
3
+ class TestTruncateOnMarjoree < Test::Unit::TestCase
4
+ include Marjoree
5
+
6
+ def setup
7
+ $db.do( "CREATE TABLE TEST_TABLE( id int NOT NULL, value int NOT NULL )" )
8
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 0, 10 )" )
9
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 1, 11 )" )
10
+ end
11
+
12
+ def test_truncate
13
+ assert( num_rows( "TEST_TABLE" ) > 0 )
14
+
15
+ truncate( "TEST_TABLE" )
16
+ assert_equal( 0, num_rows( "TEST_TABLE" ) )
17
+ end
18
+
19
+ def test_truncate_with_bad_table
20
+ begin
21
+ truncate( "TABLE_NOT_IN_DB" )
22
+ fail
23
+ rescue ODBC::Error
24
+ end
25
+ end
26
+
27
+ def teardown
28
+ $db.do( "TRUNCATE TABLE TEST_TABLE" )
29
+ $db.do( "DROP TABLE TEST_TABLE" )
30
+ end
31
+ end
@@ -0,0 +1,56 @@
1
+ require 'test/unit'
2
+
3
+ class TestUpdateOnMarjoree < Test::Unit::TestCase
4
+ include Marjoree
5
+
6
+ def setup
7
+ $db.do( "CREATE TABLE TEST_TABLE( id int NOT NULL, value int NOT NULL )" )
8
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 0, 10 )" )
9
+ $db.do( "INSERT INTO TEST_TABLE ( id, value ) VALUES( 1, 11 )" )
10
+ end
11
+
12
+ def test_update
13
+ assert( contains?( "TEST_TABLE", :id => 0, :value => 10 ) )
14
+
15
+ update( "TEST_TABLE", { :id => 0 }, :value => 20 )
16
+ assert( !contains?( "TEST_TABLE", :id => 0, :value => 10 ) )
17
+ assert( contains?( "TEST_TABLE", :id => 0, :value => 20 ) )
18
+ end
19
+
20
+ def test_update_with_no_where_clause
21
+ assert( contains?( "TEST_TABLE", :id => 0, :value => 10 ) )
22
+
23
+ update( "TEST_TABLE", {}, :value => 20 )
24
+ assert( !contains?( "TEST_TABLE", :id => 0, :value => 10 ) )
25
+ assert( contains?( "TEST_TABLE", :id => 0, :value => 20 ) )
26
+ end
27
+
28
+ def test_update_with_bad_table
29
+ begin
30
+ update( "TABLE_NOT_INT_DB", { :id => 0 }, :value => 20 )
31
+ fail
32
+ rescue ODBC::Error
33
+ end
34
+ end
35
+
36
+ def test_update_with_bad_column_header
37
+ begin
38
+ update( "TEST_TABLE", { :jimmy => 0 }, :value => 20 )
39
+ fail
40
+ rescue ODBC::Error
41
+ end
42
+ end
43
+
44
+ def test_update_with_column_value_type
45
+ begin
46
+ update( "TEST_TABLE", { :id => 'bad' }, :value => 20 )
47
+ fail
48
+ rescue ODBC::Error
49
+ end
50
+ end
51
+
52
+ def teardown
53
+ $db.do( "TRUNCATE TABLE TEST_TABLE" )
54
+ $db.do( "DROP TABLE TEST_TABLE" )
55
+ end
56
+ end
metadata ADDED
@@ -0,0 +1,137 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.10
3
+ specification_version: 1
4
+ name: marjoree
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.0.1
7
+ date: 2006-11-14
8
+ summary: Marjoree is the Stored Procedure Testing Library
9
+ require_paths:
10
+ - lib
11
+ email: jiggypete@googlemail.com
12
+ homepage: http://www.jiggypete.com
13
+ rubyforge_project:
14
+ description:
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ -
22
+ - ">"
23
+ - !ruby/object:Gem::Version
24
+ version: 0.0.0
25
+ version:
26
+ platform: ruby
27
+ authors:
28
+ - "Peter Aitken, Ian Davies, Gus MacCuish"
29
+ files:
30
+ - "./examples"
31
+ - "./html"
32
+ - "./lib"
33
+ - "./rakefile.rb"
34
+ - "./README"
35
+ - "./tests"
36
+ - "./examples/contains_example.rb"
37
+ - "./examples/count_and_insert_example.rb"
38
+ - "./examples/select_example.rb"
39
+ - "./html/classes"
40
+ - "./html/created.rid"
41
+ - "./html/files"
42
+ - "./html/fr_class_index.html"
43
+ - "./html/fr_file_index.html"
44
+ - "./html/fr_method_index.html"
45
+ - "./html/index.html"
46
+ - "./html/rdoc-style.css"
47
+ - "./html/classes/ExpectedResultSet.html"
48
+ - "./html/classes/ExpectedResultSet.src"
49
+ - "./html/classes/Marjoree.html"
50
+ - "./html/classes/Marjoree.src"
51
+ - "./html/classes/ODBC"
52
+ - "./html/classes/ODBC.html"
53
+ - "./html/classes/ResultSetWrapper.html"
54
+ - "./html/classes/ResultSetWrapper.src"
55
+ - "./html/classes/ExpectedResultSet.src/M000001.html"
56
+ - "./html/classes/ExpectedResultSet.src/M000002.html"
57
+ - "./html/classes/ExpectedResultSet.src/M000003.html"
58
+ - "./html/classes/ExpectedResultSet.src/M000004.html"
59
+ - "./html/classes/Marjoree.src/M000022.html"
60
+ - "./html/classes/Marjoree.src/M000023.html"
61
+ - "./html/classes/Marjoree.src/M000024.html"
62
+ - "./html/classes/Marjoree.src/M000025.html"
63
+ - "./html/classes/Marjoree.src/M000026.html"
64
+ - "./html/classes/Marjoree.src/M000027.html"
65
+ - "./html/classes/Marjoree.src/M000028.html"
66
+ - "./html/classes/Marjoree.src/M000029.html"
67
+ - "./html/classes/Marjoree.src/M000030.html"
68
+ - "./html/classes/Marjoree.src/M000031.html"
69
+ - "./html/classes/Marjoree.src/M000032.html"
70
+ - "./html/classes/Marjoree.src/M000033.html"
71
+ - "./html/classes/Marjoree.src/M000034.html"
72
+ - "./html/classes/Marjoree.src/M000035.html"
73
+ - "./html/classes/Marjoree.src/M000036.html"
74
+ - "./html/classes/Marjoree.src/M000037.html"
75
+ - "./html/classes/Marjoree.src/M000038.html"
76
+ - "./html/classes/Marjoree.src/M000039.html"
77
+ - "./html/classes/Marjoree.src/M000040.html"
78
+ - "./html/classes/Marjoree.src/M000041.html"
79
+ - "./html/classes/Marjoree.src/M000042.html"
80
+ - "./html/classes/ODBC/Error.html"
81
+ - "./html/classes/ODBC/Error.src"
82
+ - "./html/classes/ODBC/TimeStamp.html"
83
+ - "./html/classes/ODBC/TimeStamp.src"
84
+ - "./html/classes/ODBC/Error.src/M000020.html"
85
+ - "./html/classes/ODBC/Error.src/M000021.html"
86
+ - "./html/classes/ODBC/TimeStamp.src/M000017.html"
87
+ - "./html/classes/ODBC/TimeStamp.src/M000018.html"
88
+ - "./html/classes/ODBC/TimeStamp.src/M000019.html"
89
+ - "./html/classes/ResultSetWrapper.src/M000005.html"
90
+ - "./html/classes/ResultSetWrapper.src/M000006.html"
91
+ - "./html/classes/ResultSetWrapper.src/M000007.html"
92
+ - "./html/classes/ResultSetWrapper.src/M000008.html"
93
+ - "./html/classes/ResultSetWrapper.src/M000009.html"
94
+ - "./html/classes/ResultSetWrapper.src/M000010.html"
95
+ - "./html/classes/ResultSetWrapper.src/M000011.html"
96
+ - "./html/classes/ResultSetWrapper.src/M000012.html"
97
+ - "./html/classes/ResultSetWrapper.src/M000013.html"
98
+ - "./html/classes/ResultSetWrapper.src/M000014.html"
99
+ - "./html/classes/ResultSetWrapper.src/M000015.html"
100
+ - "./html/classes/ResultSetWrapper.src/M000016.html"
101
+ - "./html/files/lib"
102
+ - "./html/files/README.html"
103
+ - "./html/files/lib/expected_result_set_rb.html"
104
+ - "./html/files/lib/marjoree_rb.html"
105
+ - "./html/files/lib/odbc_overrides_rb.html"
106
+ - "./html/files/lib/result_set_wrapper_rb.html"
107
+ - "./lib/expected_result_set.rb"
108
+ - "./lib/marjoree.rb"
109
+ - "./lib/odbc_overrides.rb"
110
+ - "./lib/result_set_wrapper.rb"
111
+ - "./tests/all_tests.rb"
112
+ - "./tests/sprocs"
113
+ - "./tests/test_contains.rb"
114
+ - "./tests/test_delete.rb"
115
+ - "./tests/test_expected_result_set.rb"
116
+ - "./tests/test_insert.rb"
117
+ - "./tests/test_marjoree.rb"
118
+ - "./tests/test_num_rows.rb"
119
+ - "./tests/test_result_set_wrapper.rb"
120
+ - "./tests/test_select.rb"
121
+ - "./tests/test_sproc.rb"
122
+ - "./tests/test_time_stamp.rb"
123
+ - "./tests/test_truncate.rb"
124
+ - "./tests/test_update.rb"
125
+ - "./tests/sprocs/test_error_sproc.sp"
126
+ - "./tests/sprocs/test_sproc.sp"
127
+ - "./tests/sprocs/test_sproc_with_mixed_params.sp"
128
+ - "./tests/sprocs/test_sproc_with_output_params.sp"
129
+ - "./tests/sprocs/test_sproc_with_params.sp"
130
+ - "./tests/sprocs/test_sproc_with_select_and_ops.sp"
131
+ test_files: []
132
+ rdoc_options: []
133
+ extra_rdoc_files: []
134
+ executables: []
135
+ extensions: []
136
+ requirements: []
137
+ dependencies: []