marjoree 0.0.1 → 0.0.9

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 (174) hide show
  1. data/Marjoree.iml +14 -0
  2. data/README +9 -36
  3. data/bin/create_marj_structure.rb +75 -0
  4. data/bin/create_odbc_connections.rb +39 -0
  5. data/bin/odbc_connection_finder.rb +46 -0
  6. data/examples/contains_example.rb +1 -1
  7. data/examples/count_and_insert_example.rb +1 -1
  8. data/examples/select_example.rb +1 -1
  9. data/html/classes/ExpectedResultSet.html +60 -33
  10. data/html/classes/ExpectedResultSet.src/M000002.html +6 -5
  11. data/html/classes/ExpectedResultSet.src/M000003.html +5 -5
  12. data/html/classes/ExpectedResultSet.src/M000004.html +5 -5
  13. data/html/classes/ExpectedResultSet.src/M000005.html +18 -0
  14. data/html/classes/ExpectedResultSet.src/M000006.html +24 -0
  15. data/html/classes/ExpectedResultSet.src/M000007.html +23 -0
  16. data/html/classes/ExpectedResultSet.src/M000008.html +29 -0
  17. data/html/classes/Fixnum.html +287 -0
  18. data/html/classes/Fixnum.src/M000031.html +18 -0
  19. data/html/classes/Fixnum.src/M000034.html +18 -0
  20. data/html/classes/Fixnum.src/M000037.html +18 -0
  21. data/html/classes/Fixnum.src/M000039.html +18 -0
  22. data/html/classes/Fixnum.src/M000041.html +18 -0
  23. data/html/classes/Hash.html +156 -0
  24. data/html/classes/Hash.src/M000009.html +21 -0
  25. data/html/classes/Hash.src/M000010.html +20 -0
  26. data/html/classes/Marjoree.html +268 -151
  27. data/html/classes/Marjoree.src/M000057.html +19 -0
  28. data/html/classes/Marjoree.src/M000058.html +18 -0
  29. data/html/classes/{ExpectedResultSet.src/M000001.html → Marjoree.src/M000059.html} +4 -4
  30. data/html/classes/Marjoree.src/{M000024.html → M000060.html} +4 -4
  31. data/html/classes/Marjoree.src/{M000031.html → M000061.html} +4 -4
  32. data/html/classes/Marjoree.src/{M000026.html → M000062.html} +3 -3
  33. data/html/classes/Marjoree.src/{M000027.html → M000063.html} +3 -3
  34. data/html/classes/Marjoree.src/{M000028.html → M000064.html} +3 -3
  35. data/html/classes/Marjoree.src/{M000029.html → M000065.html} +5 -6
  36. data/html/classes/Marjoree.src/{M000030.html → M000066.html} +5 -5
  37. data/html/classes/Marjoree.src/M000067.html +19 -0
  38. data/html/classes/Marjoree.src/{M000032.html → M000068.html} +3 -3
  39. data/html/classes/{ResultSetWrapper.src/M000009.html → Marjoree.src/M000069.html} +4 -4
  40. data/html/classes/{ResultSetWrapper.src/M000010.html → Marjoree.src/M000070.html} +4 -4
  41. data/html/classes/{ResultSetWrapper.src/M000011.html → Marjoree.src/M000071.html} +4 -4
  42. data/html/classes/Marjoree.src/M000072.html +20 -0
  43. data/html/classes/Marjoree.src/M000073.html +20 -0
  44. data/html/classes/Marjoree.src/M000074.html +20 -0
  45. data/html/classes/Marjoree.src/{M000033.html → M000075.html} +3 -3
  46. data/html/classes/Marjoree.src/{M000034.html → M000076.html} +4 -4
  47. data/html/classes/Marjoree.src/{M000035.html → M000077.html} +2 -2
  48. data/html/classes/Marjoree.src/{M000036.html → M000078.html} +4 -3
  49. data/html/classes/Marjoree.src/{M000037.html → M000079.html} +1 -1
  50. data/html/classes/Marjoree.src/{M000038.html → M000080.html} +3 -3
  51. data/html/classes/Marjoree.src/{M000039.html → M000081.html} +3 -4
  52. data/html/classes/Marjoree.src/{M000040.html → M000082.html} +3 -3
  53. data/html/classes/Marjoree.src/{M000041.html → M000083.html} +3 -3
  54. data/html/classes/{ResultSetWrapper.src/M000008.html → Marjoree.src/M000084.html} +4 -4
  55. data/html/classes/ODBC.html +4 -0
  56. data/html/classes/ODBC/Error.html +12 -12
  57. data/html/classes/ODBC/Error.src/M000047.html +21 -0
  58. data/html/classes/ODBC/Error.src/{M000021.html → M000048.html} +2 -2
  59. data/html/classes/ODBC/TimeStamp.html +48 -18
  60. data/html/classes/ODBC/TimeStamp.src/{M000017.html → M000042.html} +2 -2
  61. data/html/classes/ODBC/TimeStamp.src/M000043.html +22 -0
  62. data/html/classes/ODBC/TimeStamp.src/{M000019.html → M000044.html} +2 -3
  63. data/html/classes/ODBC/TimeStamp.src/M000045.html +18 -0
  64. data/html/classes/ODBC/TimeStamp.src/M000046.html +18 -0
  65. data/html/classes/OdbcConnectionWrapper.html +244 -0
  66. data/html/classes/OdbcConnectionWrapper.src/M000023.html +18 -0
  67. data/html/classes/OdbcConnectionWrapper.src/M000024.html +18 -0
  68. data/html/classes/OdbcConnectionWrapper.src/M000025.html +22 -0
  69. data/html/classes/OdbcConnectionWrapper.src/M000026.html +25 -0
  70. data/html/classes/OdbcConnectionWrapper.src/M000027.html +20 -0
  71. data/html/classes/OdbcConnectionWrapper.src/M000028.html +28 -0
  72. data/html/classes/OdbcConnectionWrapper.src/M000029.html +24 -0
  73. data/html/classes/OdbcConnectionWrapper.src/M000030.html +30 -0
  74. data/html/classes/{ResultSetWrapper.html → ResultSet.html} +71 -94
  75. data/html/classes/ResultSet.src/M000011.html +27 -0
  76. data/html/classes/ResultSet.src/M000012.html +21 -0
  77. data/html/classes/ResultSet.src/M000013.html +23 -0
  78. data/html/classes/ResultSet.src/M000014.html +18 -0
  79. data/html/classes/ResultSet.src/M000015.html +18 -0
  80. data/html/classes/ResultSet.src/M000016.html +18 -0
  81. data/html/classes/ResultSet.src/M000017.html +18 -0
  82. data/html/classes/ResultSet.src/M000018.html +20 -0
  83. data/html/classes/ResultSet.src/M000019.html +18 -0
  84. data/html/classes/ResultSet.src/M000020.html +22 -0
  85. data/html/classes/ResultSet.src/M000021.html +23 -0
  86. data/html/classes/ResultSet.src/M000022.html +22 -0
  87. data/html/classes/Test.html +107 -0
  88. data/html/classes/Test/Unit.html +107 -0
  89. data/html/classes/Test/Unit/TestCase.html +257 -0
  90. data/html/classes/Test/Unit/TestCase.src/M000049.html +18 -0
  91. data/html/classes/Test/Unit/TestCase.src/M000050.html +18 -0
  92. data/html/classes/Test/Unit/TestCase.src/M000051.html +17 -0
  93. data/html/classes/Test/Unit/TestCase.src/M000052.html +17 -0
  94. data/html/classes/Test/Unit/TestCase.src/M000053.html +25 -0
  95. data/html/classes/Test/Unit/TestCase.src/M000054.html +18 -0
  96. data/html/classes/Test/Unit/TestCase.src/M000055.html +18 -0
  97. data/html/classes/Test/Unit/TestCase.src/M000056.html +35 -0
  98. data/html/created.rid +1 -1
  99. data/html/files/README.html +2 -51
  100. data/html/files/lib/expected_result_set_rb.html +1 -16
  101. data/html/files/lib/marjoree/core_rb.html +111 -0
  102. data/html/files/lib/marjoree/fixtures_rb.html +111 -0
  103. data/html/files/lib/marjoree/odbc_connection_wrapper_rb.html +109 -0
  104. data/html/files/lib/marjoree/odbc_rb.html +108 -0
  105. data/html/files/lib/{odbc_overrides_rb.html → marjoree/result_set_rb.html} +5 -5
  106. data/html/files/lib/{result_set_wrapper_rb.html → marjoree/time_rb.html} +5 -5
  107. data/html/files/lib/marjoree_rb.html +3 -4
  108. data/html/files/lib/run_marjoree_rb.html +145 -0
  109. data/html/files/lib/run_marjoree_rb.src/M000001.html +34 -0
  110. data/html/fr_class_index.html +7 -1
  111. data/html/fr_file_index.html +7 -2
  112. data/html/fr_method_index.html +84 -42
  113. data/lib/Marjoree.iml +12 -0
  114. data/lib/expected_result_set.rb +51 -24
  115. data/lib/marjoree.rb +2 -344
  116. data/lib/marjoree/core.rb +388 -0
  117. data/lib/marjoree/fixtures.rb +156 -0
  118. data/lib/marjoree/odbc.rb +45 -0
  119. data/lib/marjoree/odbc_connection_wrapper.rb +79 -0
  120. data/lib/marjoree/result_set.rb +165 -0
  121. data/lib/marjoree/sybase_definitions.rb +223 -0
  122. data/lib/marjoree/time.rb +31 -0
  123. data/lib/proc_param_info.txt +20 -0
  124. data/lib/run_marjoree.rb +31 -0
  125. data/pkg/marjoree-0.0.9.gem +0 -0
  126. data/rakefile.rb +3 -3
  127. data/tests/all_cruby_tests.rb +24 -0
  128. data/tests/all_jruby_tests.rb +22 -0
  129. data/tests/all_tests.rb +9 -6
  130. data/tests/fixtures/A.yml +3 -0
  131. data/tests/fixtures/B.yml +5 -0
  132. data/tests/fixtures/first_db/FIRST.yml +8 -0
  133. data/tests/fixtures/second_db/SECOND.yml +9 -0
  134. data/tests/marjoree/test_assert_results.rb +82 -0
  135. data/tests/marjoree/test_connection_details.rb +44 -0
  136. data/tests/{test_contains.rb → marjoree/test_contains.rb} +0 -0
  137. data/tests/{test_delete.rb → marjoree/test_delete.rb} +0 -0
  138. data/tests/marjoree/test_drop_user_objects.rb +52 -0
  139. data/tests/marjoree/test_expected_result_set.rb +111 -0
  140. data/tests/marjoree/test_fixtures.rb +112 -0
  141. data/tests/{test_insert.rb → marjoree/test_insert.rb} +0 -0
  142. data/tests/{test_marjoree.rb → marjoree/test_marjoree.rb} +14 -2
  143. data/tests/marjoree/test_multiple_db_fixtures.rb +35 -0
  144. data/tests/{test_num_rows.rb → marjoree/test_num_rows.rb} +0 -0
  145. data/tests/marjoree/test_odbc_connection_wrapper.rb +47 -0
  146. data/tests/{test_result_set_wrapper.rb → marjoree/test_result_set_wrapper.rb} +8 -8
  147. data/tests/marjoree/test_select.rb +55 -0
  148. data/tests/marjoree/test_single_odbc_connection_wrapper.rb +39 -0
  149. data/tests/{test_sproc.rb → marjoree/test_sproc.rb} +3 -4
  150. data/tests/marjoree/test_time.rb +25 -0
  151. data/tests/{test_time_stamp.rb → marjoree/test_time_stamp.rb} +10 -1
  152. data/tests/{test_truncate.rb → marjoree/test_truncate.rb} +0 -0
  153. data/tests/{test_update.rb → marjoree/test_update.rb} +14 -14
  154. data/tests/multiple_odbc_config/connections.yml +13 -0
  155. data/tests/single_odbc_config/connections.yml +3 -0
  156. metadata +214 -112
  157. data/html/classes/Marjoree.src/M000022.html +0 -19
  158. data/html/classes/Marjoree.src/M000023.html +0 -20
  159. data/html/classes/Marjoree.src/M000025.html +0 -18
  160. data/html/classes/Marjoree.src/M000042.html +0 -25
  161. data/html/classes/ODBC/Error.src/M000020.html +0 -21
  162. data/html/classes/ODBC/TimeStamp.src/M000018.html +0 -22
  163. data/html/classes/ResultSetWrapper.src/M000005.html +0 -27
  164. data/html/classes/ResultSetWrapper.src/M000006.html +0 -24
  165. data/html/classes/ResultSetWrapper.src/M000007.html +0 -23
  166. data/html/classes/ResultSetWrapper.src/M000012.html +0 -20
  167. data/html/classes/ResultSetWrapper.src/M000013.html +0 -18
  168. data/html/classes/ResultSetWrapper.src/M000014.html +0 -22
  169. data/html/classes/ResultSetWrapper.src/M000015.html +0 -23
  170. data/html/classes/ResultSetWrapper.src/M000016.html +0 -27
  171. data/lib/odbc_overrides.rb +0 -33
  172. data/lib/result_set_wrapper.rb +0 -193
  173. data/tests/test_expected_result_set.rb +0 -40
  174. data/tests/test_select.rb +0 -30
data/Marjoree.iml ADDED
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module relativePaths="true" type="RUBY_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
4
+ <content url="file://$MODULE_DIR$" />
5
+ <orderEntry type="jdk" jdkName="Ruby SDK 1.8.6" jdkType="RUBY_SDK" />
6
+ <orderEntry type="sourceFolder" forTests="false" />
7
+ <orderEntryProperties />
8
+ </component>
9
+ <component name="RModuleSettingsStorage">
10
+ <RMODULE_SETTINGS_STORAGE_ID NAME="SHOULD_USE_RSPEC_TEST_FRAMEWORK" VALUE="false" />
11
+ <RMODULE_SETTINGS_STORAGE_ID NAME="NUMBER" VALUE="0" />
12
+ </component>
13
+ </module>
14
+
data/README CHANGED
@@ -1,47 +1,20 @@
1
- Say 'Hello' to Marjoree at marjoree.rubyforge.org
1
+ Marjoree:
2
2
 
3
3
  Release 0.0.1
4
+ -------------
4
5
 
5
- Details
6
-
7
- Marjoree is a ruby library which has been created to provide easier access to a database.
8
- The main driver behind the development of Marjoree was to allow easy unit testing, and more specifically test driven development, of stored procedures.
9
- When combined with rUnit, Marjoree provides a suitable unit testing environment.
10
-
11
- Currently the only db vendor that is supported is Sybase and was developed under Ruby v1.8.5
12
-
6
+ Marjoree is a ruby library that can be used to access a database.
7
+ The main driver behind the development of Marjoree was to allow easy unit testing, and more specifically test driven development, of stored procedures.
8
+ When combined with rUnit this provides a suitable unit testing environment.
13
9
 
14
10
  Running Marjoree:
11
+ -----------------
15
12
 
16
- Marjoree uses ODBC to connect to a dataserver, therefore you need an (Sybase) ODBC connection setup.
17
- * To set up and ODBC connection on Windows,
13
+ Marjoree uses ODBC to connect to a dataserver,
14
+ 1: To set up and ODBC connection on Windows,
18
15
  Go to 'Control Panel', 'Adminstrative Tool', and select 'Data Sources (ODBC)' and enter the appropriate details of your database.
19
16
 
20
-
21
- Tests Suite:
22
-
23
- First you will need to enter the ODBC details in marjoree\tests\all_tests.rb to allow Marjoree to connect to the dataserver.
24
-
25
- To run the tests suite open a command prompt and move to the 'marjoree' dir and run
26
-
27
- rake test
28
-
29
-
30
- Examples:
31
-
32
- These can be found in marjoree\examples, again you will need to enter the ODBC connection details in each file you wish to run.
33
-
34
-
35
- Contacts:
36
-
37
- Peter Aitken ( jiggypete@googlemail.com )
38
-
39
-
40
- Contributers:
41
-
42
- Peter Aitken
43
- Ian Davies
44
- Angus 'Chopper' MacCuish
17
+
45
18
 
46
19
 
47
20
 
@@ -0,0 +1,75 @@
1
+ require 'odbc_connection_finder'
2
+ include OdbcConnectionFinder
3
+
4
+ def mkdir( path )
5
+ Dir.mkdir path unless File.exists? path
6
+ end
7
+
8
+ def clean_odbc_names( odbc_names )
9
+ default = ["change_me_to_odbc_name"]
10
+ return default if odbc_names.empty?
11
+
12
+ print "\nDo you want to import ALL of your pre-configures odbc connections for testing? "
13
+ print "\n\n"
14
+ print odbc_names.join( ', ' )
15
+ print "\n\ny/n "
16
+ if( gets.rstrip.downcase.eql? 'y' )
17
+ return odbc_names
18
+ end
19
+
20
+ print "\nDo you want to import ANY of your pre-configures odbc connections for testing? "
21
+ print "\n\n"
22
+ print odbc_names.join( ', ' )
23
+ print "\n\ny/n "
24
+ if( !gets.rstrip.downcase.eql? 'y' )
25
+ return default
26
+ end
27
+
28
+ #clean
29
+ result = []
30
+ odbc_names.each do |name|
31
+ print "Import #{name}? y/n "
32
+ if( gets.rstrip.downcase.eql? 'y' )
33
+ result << name
34
+ end
35
+ end
36
+
37
+ if( !result.empty? )
38
+ return result
39
+ else
40
+ return default
41
+ end
42
+ end
43
+ #
44
+ # Allow the user to decide if they want to create dirs for ALL odbc connections, if not let them choose.
45
+ #
46
+ #
47
+
48
+ print "Please enter the dir of your project root: "
49
+ project_root = gets.rstrip
50
+
51
+ marj_dir = "#{project_root}/marjoree_tests"
52
+ test_dir = "#{marj_dir}/tests"
53
+ odbc_config_dir = "#{marj_dir}/odbc_config"
54
+ fixtures_dir = "#{marj_dir}/fixtures"
55
+
56
+ mkdir marj_dir
57
+
58
+ mkdir test_dir
59
+ mkdir odbc_config_dir
60
+ mkdir fixtures_dir
61
+
62
+ all_odbc_names = get_odbc_names
63
+ desired_odbc_names = clean_odbc_names( all_odbc_names )
64
+
65
+ desired_odbc_names.each do |odbc_name|
66
+ mkdir "#{fixtures_dir}/#{odbc_name}"
67
+ end
68
+
69
+ file = File.new( "#{odbc_config_dir}/connections.yml", "w+" )
70
+ file << create_yml_for( desired_odbc_names )
71
+ file.close
72
+ #create odbc_config dir
73
+ #create connections.yml
74
+ #create fixtures dir
75
+ # using the odbc_name create fixtures dirs
@@ -0,0 +1,39 @@
1
+ def create_odbc_connection( details )
2
+
3
+ `odbcconf /A {configdsn "SYBASE ASE ODBC Driver" "DSN=#{details[:odbc_name]}|NA=#{details[:hostname]},#{details[:port]}|Uid=#{details[:username]}|Pwd=#{details[:password]}|Database=#{details[:db_name]}"}`
4
+ end
5
+
6
+ def prompt_for_connection_details
7
+ result = {}
8
+ print "Please enter the odbc name you want to create: "
9
+ result[:odbc_name] = gets.rstrip
10
+
11
+ print "Please enter the hostname of the database you want to connect to: "
12
+ result[:hostname] = gets.rstrip
13
+
14
+ print "Please enter the port number to connect to on #{result[:hostname]}: "
15
+ result[:port] = gets.rstrip
16
+
17
+ print "Please enter db name on #{result[:hostname]}:#{result[:port]} to connect to: "
18
+ result[:db_name] = gets.rstrip
19
+
20
+ print "Please enter the username for #{result[:db_name]}: "
21
+ result[:username] = gets.rstrip
22
+
23
+ print "Please enter the password for #{result[:db_name]}: "
24
+ result[:password] = gets.rstrip
25
+
26
+ return result
27
+ end
28
+
29
+ @more_connections_prompt = "\n\nAlright Chopper, are you ready to create some ODBC connections? y/n "
30
+ def prompt_for_another_connection?
31
+ print @more_connections_prompt
32
+ return gets.rstrip.eql?( 'y' )
33
+ end
34
+
35
+ while( prompt_for_another_connection? )
36
+ @more_connections_prompt = "\n\nWant to create some more ODBC connections? y/n "
37
+ details = prompt_for_connection_details
38
+ create_odbc_connection( details )
39
+ end
@@ -0,0 +1,46 @@
1
+ require 'odbc'
2
+
3
+ module OdbcConnectionFinder
4
+
5
+ def get_odbc_names
6
+ odbc_names = []
7
+ ODBC.datasources.each do |datasource|
8
+ if( datasource.descr.upcase.include?( "SYBASE" ) )
9
+ odbc_names << datasource.name
10
+ end
11
+ end
12
+
13
+ return odbc_names
14
+ end
15
+
16
+ def create_yml_for( odbc_names )
17
+ output = []
18
+ odbc_names = [ "<ODBC_NAME_HERE>" ] if odbc_names.empty?
19
+ odbc_names.each do |odbc_name|
20
+ output << connection_template( odbc_name )
21
+ end
22
+
23
+ output << default_template( odbc_names.first )
24
+
25
+ return output
26
+ end
27
+
28
+ private
29
+
30
+ def connection_template( odbc_name )
31
+ return <<TEMPLATE
32
+ #{odbc_name}:
33
+ username:
34
+ password:
35
+
36
+ TEMPLATE
37
+ end
38
+
39
+ def default_template( default_odbc_name )
40
+ return <<TEMPLATE
41
+ default:
42
+ odbc_connection: #{default_odbc_name}
43
+ TEMPLATE
44
+ end
45
+
46
+ end
@@ -1,7 +1,7 @@
1
1
  require 'marjoree'
2
2
  include Marjoree
3
3
 
4
- connect('ODBC_DATASOURCE_NAME', 'USERNAME', 'PASSWORD' )
4
+ connect( 'EMT_LOCAL', 'sa', '' )
5
5
  Kernel.at_exit { disconnect }
6
6
  puts
7
7
 
@@ -1,7 +1,7 @@
1
1
  require 'marjoree'
2
2
  include Marjoree
3
3
 
4
- connect('ODBC_DATASOURCE_NAME', 'USERNAME', 'PASSWORD' )
4
+ connect( 'EMT_LOCAL', 'sa', '' )
5
5
  Kernel.at_exit { disconnect }
6
6
  puts
7
7
 
@@ -1,7 +1,7 @@
1
1
  require 'marjoree'
2
2
  include Marjoree
3
3
 
4
- connect('ODBC_DATASOURCE_NAME', 'USERNAME', 'PASSWORD' )
4
+ connect( 'EMT_LOCAL', 'sa', '' )
5
5
  Kernel.at_exit { disconnect }
6
6
  puts
7
7
 
@@ -78,21 +78,6 @@
78
78
 
79
79
  <div id="contextContent">
80
80
 
81
- <div id="description">
82
- <p>
83
- A class, as the name suggests, to setup and expected result set.
84
- </p>
85
- <p>
86
- Typical usage
87
- </p>
88
- <pre>
89
- expected = ExpectedResultSet.new
90
- expected.columns = ['first_column_name', 'second_column_name']
91
- expected.rows &lt;&lt; [ 'first item', 1 ]
92
- expected.rows &lt;&lt; [ 'second item', 2 ]
93
- </pre>
94
-
95
- </div>
96
81
 
97
82
 
98
83
  </div>
@@ -101,10 +86,13 @@ Typical usage
101
86
  <h3 class="section-bar">Methods</h3>
102
87
 
103
88
  <div class="name-list">
104
- <a href="#M000002">columns=</a>&nbsp;&nbsp;
105
- <a href="#M000001">new</a>&nbsp;&nbsp;
106
- <a href="#M000003">row_hash</a>&nbsp;&nbsp;
107
- <a href="#M000004">row_hashes</a>&nbsp;&nbsp;
89
+ <a href="#M000006">add_fixture</a>&nbsp;&nbsp;
90
+ <a href="#M000003">columns=</a>&nbsp;&nbsp;
91
+ <a href="#M000007">get_value_from_maps</a>&nbsp;&nbsp;
92
+ <a href="#M000002">new</a>&nbsp;&nbsp;
93
+ <a href="#M000004">row_hash</a>&nbsp;&nbsp;
94
+ <a href="#M000005">row_hashes</a>&nbsp;&nbsp;
95
+ <a href="#M000008">with_row</a>&nbsp;&nbsp;
108
96
  </div>
109
97
  </div>
110
98
 
@@ -144,13 +132,13 @@ Typical usage
144
132
  <div id="methods">
145
133
  <h3 class="section-bar">Public Class methods</h3>
146
134
 
147
- <div id="method-M000001" class="method-detail">
148
- <a name="M000001"></a>
135
+ <div id="method-M000002" class="method-detail">
136
+ <a name="M000002"></a>
149
137
 
150
138
  <div class="method-heading">
151
- <a href="ExpectedResultSet.src/M000001.html" target="Code" class="method-signature"
152
- onclick="popupCode('ExpectedResultSet.src/M000001.html');return false;">
153
- <span class="method-name">new</span><span class="method-args">()</span>
139
+ <a href="ExpectedResultSet.src/M000002.html" target="Code" class="method-signature"
140
+ onclick="popupCode('ExpectedResultSet.src/M000002.html');return false;">
141
+ <span class="method-name">new</span><span class="method-args">(*names)</span>
154
142
  </a>
155
143
  </div>
156
144
 
@@ -160,20 +148,17 @@ Typical usage
160
148
 
161
149
  <h3 class="section-bar">Public Instance methods</h3>
162
150
 
163
- <div id="method-M000002" class="method-detail">
164
- <a name="M000002"></a>
151
+ <div id="method-M000006" class="method-detail">
152
+ <a name="M000006"></a>
165
153
 
166
154
  <div class="method-heading">
167
- <a href="ExpectedResultSet.src/M000002.html" target="Code" class="method-signature"
168
- onclick="popupCode('ExpectedResultSet.src/M000002.html');return false;">
169
- <span class="method-name">columns=</span><span class="method-args">(value)</span>
155
+ <a href="ExpectedResultSet.src/M000006.html" target="Code" class="method-signature"
156
+ onclick="popupCode('ExpectedResultSet.src/M000006.html');return false;">
157
+ <span class="method-name">add_fixture</span><span class="method-args">( *fixture_map )</span>
170
158
  </a>
171
159
  </div>
172
160
 
173
161
  <div class="method-description">
174
- <p>
175
- columns should be given an array of strings.
176
- </p>
177
162
  </div>
178
163
  </div>
179
164
 
@@ -183,7 +168,21 @@ columns should be given an array of strings.
183
168
  <div class="method-heading">
184
169
  <a href="ExpectedResultSet.src/M000003.html" target="Code" class="method-signature"
185
170
  onclick="popupCode('ExpectedResultSet.src/M000003.html');return false;">
186
- <span class="method-name">row_hash</span><span class="method-args">(index)</span>
171
+ <span class="method-name">columns=</span><span class="method-args">(value)</span>
172
+ </a>
173
+ </div>
174
+
175
+ <div class="method-description">
176
+ </div>
177
+ </div>
178
+
179
+ <div id="method-M000007" class="method-detail">
180
+ <a name="M000007"></a>
181
+
182
+ <div class="method-heading">
183
+ <a href="ExpectedResultSet.src/M000007.html" target="Code" class="method-signature"
184
+ onclick="popupCode('ExpectedResultSet.src/M000007.html');return false;">
185
+ <span class="method-name">get_value_from_maps</span><span class="method-args">( key, fixture_maps)</span>
187
186
  </a>
188
187
  </div>
189
188
 
@@ -197,6 +196,20 @@ columns should be given an array of strings.
197
196
  <div class="method-heading">
198
197
  <a href="ExpectedResultSet.src/M000004.html" target="Code" class="method-signature"
199
198
  onclick="popupCode('ExpectedResultSet.src/M000004.html');return false;">
199
+ <span class="method-name">row_hash</span><span class="method-args">(index)</span>
200
+ </a>
201
+ </div>
202
+
203
+ <div class="method-description">
204
+ </div>
205
+ </div>
206
+
207
+ <div id="method-M000005" class="method-detail">
208
+ <a name="M000005"></a>
209
+
210
+ <div class="method-heading">
211
+ <a href="ExpectedResultSet.src/M000005.html" target="Code" class="method-signature"
212
+ onclick="popupCode('ExpectedResultSet.src/M000005.html');return false;">
200
213
  <span class="method-name">row_hashes</span><span class="method-args">()</span>
201
214
  </a>
202
215
  </div>
@@ -205,6 +218,20 @@ columns should be given an array of strings.
205
218
  </div>
206
219
  </div>
207
220
 
221
+ <div id="method-M000008" class="method-detail">
222
+ <a name="M000008"></a>
223
+
224
+ <div class="method-heading">
225
+ <a href="ExpectedResultSet.src/M000008.html" target="Code" class="method-signature"
226
+ onclick="popupCode('ExpectedResultSet.src/M000008.html');return false;">
227
+ <span class="method-name">with_row</span><span class="method-args">(row_hash)</span>
228
+ </a>
229
+ </div>
230
+
231
+ <div class="method-description">
232
+ </div>
233
+ </div>
234
+
208
235
 
209
236
  </div>
210
237
 
@@ -5,14 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>columns= (ExpectedResultSet)</title>
8
+ <title>new (ExpectedResultSet)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/expected_result_set.rb, line 16</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columns=</span>(<span class="ruby-identifier">value</span>)
15
- <span class="ruby-ivar">@columns</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">to_s</span>}
16
- <span class="ruby-keyword kw">end</span></pre>
13
+ <pre><span class="ruby-comment cmt"># File lib/expected_result_set.rb, line 4</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">names</span>)
15
+ <span class="ruby-ivar">@columns</span> = <span class="ruby-identifier">names</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">to_s</span>}
16
+ <span class="ruby-ivar">@rows</span> = []
17
+ <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>row_hash (ExpectedResultSet)</title>
8
+ <title>columns= (ExpectedResultSet)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/expected_result_set.rb, line 20</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">row_hash</span>(<span class="ruby-identifier">index</span>)
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">to_hash</span>( <span class="ruby-ivar">@rows</span>[<span class="ruby-identifier">index</span>] )
16
- <span class="ruby-keyword kw">end</span></pre>
13
+ <pre><span class="ruby-comment cmt"># File lib/expected_result_set.rb, line 9</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columns=</span>(<span class="ruby-identifier">value</span>)
15
+ <span class="ruby-ivar">@columns</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">to_s</span>}
16
+ <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>