mack-data_factory 0.7.1 → 0.7.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/lib/mack-data_factory/content_generator.rb +1 -1
  2. data/lib/mack-data_factory/core_extensions/kernel.rb +13 -17
  3. data/lib/mack-data_factory/data_factory.rb +128 -19
  4. data/lib/mack-data_factory/field.rb +1 -1
  5. data/lib/mack-data_factory/field_manager.rb +1 -1
  6. data/lib/mack-data_factory/orm_api_bridge/bridge.rb +69 -1
  7. data/lib/mack-data_factory/orm_api_bridge/orm/active_record.rb +2 -2
  8. data/lib/mack-data_factory/orm_api_bridge/orm/data_mapper.rb +2 -2
  9. data/lib/mack-data_factory/orm_api_bridge/orm/default.rb +1 -1
  10. metadata +2 -30
  11. data/doc/classes/Kernel.html +0 -207
  12. data/doc/classes/Mack.html +0 -137
  13. data/doc/classes/Mack/Data/Bridge.html +0 -269
  14. data/doc/classes/Mack/Data/Factory.html +0 -171
  15. data/doc/classes/Mack/Data/Factory/ClassMethods.html +0 -290
  16. data/doc/classes/Mack/Data/Factory/FieldContentGenerator.html +0 -685
  17. data/doc/classes/Mack/Data/Field.html +0 -271
  18. data/doc/classes/Mack/Data/FieldMgr.html +0 -217
  19. data/doc/classes/Mack/Data/OrmBridge/ActiveRecord.html +0 -267
  20. data/doc/classes/Mack/Data/OrmBridge/DataMapper.html +0 -267
  21. data/doc/classes/Mack/Data/OrmBridge/Default.html +0 -266
  22. data/doc/created.rid +0 -1
  23. data/doc/files/README.html +0 -107
  24. data/doc/files/lib/mack-data_factory/content_generator_rb.html +0 -108
  25. data/doc/files/lib/mack-data_factory/core_extensions/kernel_rb.html +0 -101
  26. data/doc/files/lib/mack-data_factory/data_factory_rb.html +0 -101
  27. data/doc/files/lib/mack-data_factory/field_manager_rb.html +0 -101
  28. data/doc/files/lib/mack-data_factory/field_rb.html +0 -101
  29. data/doc/files/lib/mack-data_factory/orm_api_bridge/bridge_rb.html +0 -101
  30. data/doc/files/lib/mack-data_factory/orm_api_bridge/orm/active_record_rb.html +0 -101
  31. data/doc/files/lib/mack-data_factory/orm_api_bridge/orm/data_mapper_rb.html +0 -101
  32. data/doc/files/lib/mack-data_factory/orm_api_bridge/orm/default_rb.html +0 -101
  33. data/doc/files/lib/mack-data_factory_rb.html +0 -108
  34. data/doc/fr_class_index.html +0 -37
  35. data/doc/fr_file_index.html +0 -37
  36. data/doc/fr_method_index.html +0 -79
  37. data/doc/index.html +0 -24
  38. data/doc/rdoc-style.css +0 -208
@@ -1,271 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Mack::Data::Field</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Mack::Data::Field</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/mack-data_factory/field_rb.html">
59
- lib/mack-data_factory/field.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
-
82
-
83
- </div>
84
-
85
- <div id="method-list">
86
- <h3 class="section-bar">Methods</h3>
87
-
88
- <div class="name-list">
89
- <a href="#M000045">get_value</a>&nbsp;&nbsp;
90
- <a href="#M000044">new</a>&nbsp;&nbsp;
91
- </div>
92
- </div>
93
-
94
- </div>
95
-
96
-
97
- <!-- if includes -->
98
-
99
- <div id="section">
100
-
101
-
102
-
103
-
104
-
105
- <div id="attribute-list">
106
- <h3 class="section-bar">Attributes</h3>
107
-
108
- <div class="name-list">
109
- <table>
110
- <tr class="top-aligned-row context-row">
111
- <td class="context-item-name">field_name</td>
112
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
113
- <td class="context-item-desc"></td>
114
- </tr>
115
- <tr class="top-aligned-row context-row">
116
- <td class="context-item-name">field_rules</td>
117
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
118
- <td class="context-item-desc"></td>
119
- </tr>
120
- <tr class="top-aligned-row context-row">
121
- <td class="context-item-name">field_value</td>
122
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
123
- <td class="context-item-desc"></td>
124
- </tr>
125
- <tr class="top-aligned-row context-row">
126
- <td class="context-item-name">field_value_producer</td>
127
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
128
- <td class="context-item-desc"></td>
129
- </tr>
130
- </table>
131
- </div>
132
- </div>
133
-
134
-
135
-
136
- <!-- if method_list -->
137
- <div id="methods">
138
- <h3 class="section-bar">Public Class methods</h3>
139
-
140
- <div id="method-M000044" class="method-detail">
141
- <a name="M000044"></a>
142
-
143
- <div class="method-heading">
144
- <a href="#M000044" class="method-signature">
145
- <span class="method-name">new</span><span class="method-args">(hash = {})</span>
146
- </a>
147
- </div>
148
-
149
- <div class="method-description">
150
- <p><a class="source-toggle" href="#"
151
- onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
152
- <div class="method-source-code" id="M000044-source">
153
- <pre>
154
- <span class="ruby-comment cmt"># File lib/mack-data_factory/field.rb, line 13</span>
155
- 13: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">hash</span> = {})
156
- 14: <span class="ruby-comment cmt">#puts &quot;Inititalizing DataFactory's Field object:&quot;</span>
157
- 15:
158
- 16: <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
159
- 17: <span class="ruby-comment cmt">#puts &quot;--&gt; Setting #{v} to #{k}&quot;</span>
160
- 18: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>, <span class="ruby-identifier">v</span>)
161
- 19: <span class="ruby-keyword kw">end</span>
162
- 20:
163
- 21: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_rules</span> = {
164
- 22: <span class="ruby-identifier">:default</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&quot;</span>,
165
- 23: <span class="ruby-identifier">:immutable</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>,
166
- 24: <span class="ruby-identifier">:length</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">256</span>,
167
- 25: <span class="ruby-identifier">:add_space</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>,
168
- 26: <span class="ruby-identifier">:content</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:alpha_numeric</span>,
169
- 27: <span class="ruby-identifier">:null_frequency</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">nil</span>
170
- 28: }.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:field_rules</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:field_rules</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
171
- 29:
172
- 30: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_rules</span>[<span class="ruby-identifier">:default</span>]
173
- 31:
174
- 32: <span class="ruby-comment cmt"># transform the content type based on the given default value</span>
175
- 33: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Integer</span>)
176
- 34: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_rules</span>[<span class="ruby-identifier">:content</span>] = <span class="ruby-identifier">:numeric</span>
177
- 35: <span class="ruby-keyword kw">end</span>
178
- 36:
179
- 37: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value_producer</span> = <span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span><span class="ruby-operator">::</span><span class="ruby-constant">Factory</span><span class="ruby-operator">::</span><span class="ruby-constant">FieldContentGenerator</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{self.field_rules[:content]}_generator&quot;</span>)
180
- 38: <span class="ruby-keyword kw">end</span>
181
- </pre>
182
- </div>
183
- </div>
184
- </div>
185
-
186
- <h3 class="section-bar">Public Instance methods</h3>
187
-
188
- <div id="method-M000045" class="method-detail">
189
- <a name="M000045"></a>
190
-
191
- <div class="method-heading">
192
- <a href="#M000045" class="method-signature">
193
- <span class="method-name">get_value</span><span class="method-args">(index = 0)</span>
194
- </a>
195
- </div>
196
-
197
- <div class="method-description">
198
- <p><a class="source-toggle" href="#"
199
- onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
200
- <div class="method-source-code" id="M000045-source">
201
- <pre>
202
- <span class="ruby-comment cmt"># File lib/mack-data_factory/field.rb, line 40</span>
203
- 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">index</span> = <span class="ruby-value">0</span>)
204
- 41: <span class="ruby-comment cmt"># return the field_value immediately if the rule states that it's immutable</span>
205
- 42: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_rules</span>[<span class="ruby-identifier">:immutable</span>]
206
- 43:
207
- 44: <span class="ruby-comment cmt"># </span>
208
- 45: <span class="ruby-comment cmt"># if the value is a hash, then it's a relationship mapping</span>
209
- 46: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span>[<span class="ruby-identifier">:df_assoc_map</span>]
210
- 47: <span class="ruby-identifier">map_data</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span>[<span class="ruby-identifier">:df_assoc_map</span>]
211
- 48: <span class="ruby-identifier">owner</span> = <span class="ruby-identifier">map_data</span>.<span class="ruby-identifier">keys</span>[<span class="ruby-value">0</span>]
212
- 49: <span class="ruby-identifier">key</span> = <span class="ruby-identifier">map_data</span>[<span class="ruby-identifier">owner</span>]
213
- 50: <span class="ruby-keyword kw">begin</span>
214
- 51: <span class="ruby-identifier">owner_model</span> = <span class="ruby-identifier">owner</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">camelcase</span>.<span class="ruby-identifier">constantize</span>
215
- 52: <span class="ruby-identifier">bridge</span> = <span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span><span class="ruby-operator">::</span><span class="ruby-constant">Bridge</span>.<span class="ruby-identifier">new</span>
216
- 53:
217
- 54: <span class="ruby-identifier">assoc_rules</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_rules</span>[<span class="ruby-identifier">:assoc</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">:spread</span>
218
- 55: <span class="ruby-identifier">assoc_rules</span> = <span class="ruby-identifier">:spread</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span>([<span class="ruby-identifier">:first</span>, <span class="ruby-identifier">:last</span>, <span class="ruby-identifier">:random</span>, <span class="ruby-identifier">:spread</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">assoc_rules</span>))
219
- 56: <span class="ruby-comment cmt"># cache the query once</span>
220
- 57: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span><span class="ruby-operator">::</span><span class="ruby-constant">RegistryMap</span>.<span class="ruby-identifier">registered_items</span>[<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_name</span>.<span class="ruby-identifier">to_sym</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
221
- 58: <span class="ruby-identifier">all_owner_models</span> = <span class="ruby-identifier">bridge</span>.<span class="ruby-identifier">get_all</span>(<span class="ruby-identifier">owner_model</span>)
222
- 59: <span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span><span class="ruby-operator">::</span><span class="ruby-constant">RegistryMap</span>.<span class="ruby-identifier">add</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_name</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">all_owner_models</span>)
223
- 60: <span class="ruby-keyword kw">end</span>
224
- 61:
225
- 62: <span class="ruby-identifier">all_owner_models</span> = <span class="ruby-constant">Mack</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span><span class="ruby-operator">::</span><span class="ruby-constant">RegistryMap</span>.<span class="ruby-identifier">registered_items</span>[<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_name</span>.<span class="ruby-identifier">to_sym</span>][<span class="ruby-value">0</span>]
226
- 63:
227
- 64: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">assoc_rules</span>
228
- 65: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:first</span>
229
- 66: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">all_owner_models</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">send</span>(<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>)
230
- 67: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:last</span>
231
- 68: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">all_owner_models</span>[<span class="ruby-identifier">all_owner_models</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>].<span class="ruby-identifier">send</span>(<span class="ruby-identifier">key</span>)
232
- 69: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:random</span>
233
- 70: <span class="ruby-identifier">my_index</span> = <span class="ruby-identifier">rand</span>((<span class="ruby-identifier">all_owner_models</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>))
234
- 71: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">all_owner_models</span>[<span class="ruby-identifier">my_index</span>].<span class="ruby-identifier">send</span>(<span class="ruby-identifier">key</span>)
235
- 72: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:spread</span>
236
- 73: <span class="ruby-comment cmt"># if index &gt;= all_owner_models.size </span>
237
- 74: <span class="ruby-comment cmt"># my_index = rand((all_owner_models.size - 1))</span>
238
- 75: <span class="ruby-comment cmt"># else</span>
239
- 76: <span class="ruby-comment cmt"># my_index = index</span>
240
- 77: <span class="ruby-comment cmt"># end</span>
241
- 78: <span class="ruby-identifier">my_index</span> = <span class="ruby-identifier">index</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">all_owner_models</span>.<span class="ruby-identifier">size</span>
242
- 79: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">all_owner_models</span>[<span class="ruby-identifier">my_index</span>].<span class="ruby-identifier">send</span>(<span class="ruby-identifier">key</span>)
243
- 80: <span class="ruby-keyword kw">end</span>
244
- 81:
245
- 82: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">value</span>
246
- 83: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
247
- 84: <span class="ruby-constant">Mack</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;WARNING: DataFactory: id_map for #{field_name} is not set properly because data relationship defined is not correct&quot;</span>
248
- 85: <span class="ruby-keyword kw">end</span>
249
- 86: <span class="ruby-keyword kw">end</span>
250
- 87:
251
- 88: <span class="ruby-comment cmt"># must generate random string and also respect the rules</span>
252
- 89: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value_producer</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_value</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">field_rules</span>, <span class="ruby-identifier">index</span>)
253
- 90: <span class="ruby-keyword kw">end</span>
254
- </pre>
255
- </div>
256
- </div>
257
- </div>
258
-
259
-
260
- </div>
261
-
262
-
263
- </div>
264
-
265
-
266
- <div id="validator-badges">
267
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
268
- </div>
269
-
270
- </body>
271
- </html>
@@ -1,217 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Mack::Data::FieldMgr</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Mack::Data::FieldMgr</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/mack-data_factory/field_manager_rb.html">
59
- lib/mack-data_factory/field_manager.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
-
82
-
83
- </div>
84
-
85
- <div id="method-list">
86
- <h3 class="section-bar">Methods</h3>
87
-
88
- <div class="name-list">
89
- <a href="#M000042">add</a>&nbsp;&nbsp;
90
- <a href="#M000043">fields</a>&nbsp;&nbsp;
91
- <a href="#M000041">new</a>&nbsp;&nbsp;
92
- </div>
93
- </div>
94
-
95
- </div>
96
-
97
-
98
- <!-- if includes -->
99
-
100
- <div id="section">
101
-
102
-
103
-
104
-
105
-
106
- <div id="attribute-list">
107
- <h3 class="section-bar">Attributes</h3>
108
-
109
- <div class="name-list">
110
- <table>
111
- <tr class="top-aligned-row context-row">
112
- <td class="context-item-name">scopes</td>
113
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
114
- <td class="context-item-desc"></td>
115
- </tr>
116
- </table>
117
- </div>
118
- </div>
119
-
120
-
121
-
122
- <!-- if method_list -->
123
- <div id="methods">
124
- <h3 class="section-bar">Public Class methods</h3>
125
-
126
- <div id="method-M000041" class="method-detail">
127
- <a name="M000041"></a>
128
-
129
- <div class="method-heading">
130
- <a href="#M000041" class="method-signature">
131
- <span class="method-name">new</span><span class="method-args">()</span>
132
- </a>
133
- </div>
134
-
135
- <div class="method-description">
136
- <p><a class="source-toggle" href="#"
137
- onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
138
- <div class="method-source-code" id="M000041-source">
139
- <pre>
140
- <span class="ruby-comment cmt"># File lib/mack-data_factory/field_manager.rb, line 6</span>
141
- 6: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
142
- 7: <span class="ruby-ivar">@scopes</span> = {}
143
- 8: <span class="ruby-keyword kw">end</span>
144
- </pre>
145
- </div>
146
- </div>
147
- </div>
148
-
149
- <h3 class="section-bar">Public Instance methods</h3>
150
-
151
- <div id="method-M000042" class="method-detail">
152
- <a name="M000042"></a>
153
-
154
- <div class="method-heading">
155
- <a href="#M000042" class="method-signature">
156
- <span class="method-name">add</span><span class="method-args">(scope, field_name, options = {}, &amp;block)</span>
157
- </a>
158
- </div>
159
-
160
- <div class="method-description">
161
- <p><a class="source-toggle" href="#"
162
- onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000042-source">
164
- <pre>
165
- <span class="ruby-comment cmt"># File lib/mack-data_factory/field_manager.rb, line 10</span>
166
- 10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">scope</span>, <span class="ruby-identifier">field_name</span>, <span class="ruby-identifier">options</span> = {}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
167
- 11: <span class="ruby-comment cmt">#default_value = options[:default] || &quot;&quot;</span>
168
- 12: <span class="ruby-identifier">field_list</span> = <span class="ruby-identifier">fields</span>(<span class="ruby-identifier">scope</span>)
169
- 13: <span class="ruby-identifier">field_list</span>[<span class="ruby-identifier">field_name</span>] = <span class="ruby-constant">Field</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">:field_name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">field_name</span>,
170
- 14: <span class="ruby-identifier">:field_rules</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>)
171
- 15: <span class="ruby-identifier">field_list</span>[<span class="ruby-identifier">field_name</span>].<span class="ruby-identifier">field_value_producer</span> = <span class="ruby-identifier">block</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
172
- 16: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">field_list</span>
173
- 17: <span class="ruby-keyword kw">end</span>
174
- </pre>
175
- </div>
176
- </div>
177
- </div>
178
-
179
- <div id="method-M000043" class="method-detail">
180
- <a name="M000043"></a>
181
-
182
- <div class="method-heading">
183
- <a href="#M000043" class="method-signature">
184
- <span class="method-name">fields</span><span class="method-args">(scope = :default)</span>
185
- </a>
186
- </div>
187
-
188
- <div class="method-description">
189
- <p><a class="source-toggle" href="#"
190
- onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
191
- <div class="method-source-code" id="M000043-source">
192
- <pre>
193
- <span class="ruby-comment cmt"># File lib/mack-data_factory/field_manager.rb, line 19</span>
194
- 19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fields</span>(<span class="ruby-identifier">scope</span> = <span class="ruby-identifier">:default</span>)
195
- 20: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scopes</span>[<span class="ruby-identifier">scope</span>].<span class="ruby-identifier">nil?</span>
196
- 21: <span class="ruby-ivar">@scopes</span>[<span class="ruby-identifier">scope</span>] = {}
197
- 22: <span class="ruby-keyword kw">end</span>
198
- 23: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scopes</span>[<span class="ruby-identifier">scope</span>]
199
- 24: <span class="ruby-keyword kw">end</span>
200
- </pre>
201
- </div>
202
- </div>
203
- </div>
204
-
205
-
206
- </div>
207
-
208
-
209
- </div>
210
-
211
-
212
- <div id="validator-badges">
213
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
214
- </div>
215
-
216
- </body>
217
- </html>