pho 0.4 → 0.4.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 (57) hide show
  1. data/CHANGES +12 -1
  2. data/Rakefile +2 -2
  3. data/doc/index.html +15 -1
  4. data/doc/rdoc/classes/Pho.html +14 -0
  5. data/doc/rdoc/classes/Pho/DatatypeProperty.html +12 -12
  6. data/doc/rdoc/classes/Pho/Etags.html +36 -36
  7. data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
  8. data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
  9. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +90 -90
  10. data/doc/rdoc/classes/Pho/FieldWeighting.html +12 -12
  11. data/doc/rdoc/classes/Pho/Job.html +64 -64
  12. data/doc/rdoc/classes/Pho/Jobs.html +61 -61
  13. data/doc/rdoc/classes/Pho/Namespaces.html +6 -1
  14. data/doc/rdoc/classes/Pho/QueryProfile.html +61 -61
  15. data/doc/rdoc/classes/Pho/RDFCollection.html +71 -71
  16. data/doc/rdoc/classes/Pho/RDF_JSON.html +118 -0
  17. data/doc/rdoc/classes/Pho/RDF_JSON/SetAlgebra.html +240 -0
  18. data/doc/rdoc/classes/Pho/Snapshot.html +35 -35
  19. data/doc/rdoc/classes/Pho/Status.html +26 -26
  20. data/doc/rdoc/classes/Pho/Store.html +342 -264
  21. data/doc/rdoc/classes/Pho/Update.html +127 -0
  22. data/doc/rdoc/classes/Pho/Update/Changeset.html +520 -0
  23. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +330 -0
  24. data/doc/rdoc/classes/Pho/Update/Changesets.html +204 -0
  25. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +248 -0
  26. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +213 -0
  27. data/doc/rdoc/classes/Pho/Update/Statement.html +302 -0
  28. data/doc/rdoc/classes/String.html +146 -0
  29. data/doc/rdoc/created.rid +1 -1
  30. data/doc/rdoc/files/CHANGES.html +33 -2
  31. data/doc/rdoc/files/lib/pho/changeset_builder_rb.html +108 -0
  32. data/doc/rdoc/files/lib/pho/changeset_rb.html +108 -0
  33. data/doc/rdoc/files/lib/pho/job_rb.html +1 -1
  34. data/doc/rdoc/files/lib/pho/query_profile_rb.html +1 -1
  35. data/doc/rdoc/files/lib/pho/rdf_json_rb.html +101 -0
  36. data/doc/rdoc/files/lib/pho/store_rb.html +1 -1
  37. data/doc/rdoc/files/lib/pho_rb.html +4 -1
  38. data/doc/rdoc/fr_class_index.html +10 -0
  39. data/doc/rdoc/fr_file_index.html +3 -0
  40. data/doc/rdoc/fr_method_index.html +140 -110
  41. data/lib/pho.rb +14 -1
  42. data/lib/pho/changeset.rb +312 -0
  43. data/lib/pho/changeset_builder.rb +118 -0
  44. data/lib/pho/job.rb +1 -1
  45. data/lib/pho/query_profile.rb +1 -1
  46. data/lib/pho/rdf_json.rb +81 -0
  47. data/lib/pho/store.rb +63 -25
  48. data/tests/tc_changeset.rb +273 -0
  49. data/tests/tc_changeset_builder.rb +151 -0
  50. data/tests/tc_changesets.rb +96 -0
  51. data/tests/tc_metabox.rb +20 -2
  52. data/tests/tc_query_profile.rb +4 -2
  53. data/tests/tc_rdf_json.rb +273 -0
  54. data/tests/tc_search.rb +5 -5
  55. data/tests/tc_sparql.rb +12 -0
  56. data/tests/ts_pho.rb +5 -1
  57. metadata +25 -3
@@ -0,0 +1,330 @@
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: Pho::Update::ChangesetBuilder</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">Pho::Update::ChangesetBuilder</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/pho/changeset_builder_rb.html">
59
+ lib/pho/changeset_builder.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
+ <div id="description">
82
+ <p>
83
+ Utility class providing methods for building <a
84
+ href="Changesets.html">Changesets</a> from triple hashes
85
+ </p>
86
+
87
+ </div>
88
+
89
+
90
+ </div>
91
+
92
+ <div id="method-list">
93
+ <h3 class="section-bar">Methods</h3>
94
+
95
+ <div class="name-list">
96
+ <a href="#M000006">build</a>&nbsp;&nbsp;
97
+ <a href="#M000005">build_batch</a>&nbsp;&nbsp;
98
+ <a href="#M000007">create_statements</a>&nbsp;&nbsp;
99
+ <a href="#M000008">create_statements_for_uri</a>&nbsp;&nbsp;
100
+ </div>
101
+ </div>
102
+
103
+ </div>
104
+
105
+
106
+ <!-- if includes -->
107
+
108
+ <div id="section">
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ <!-- if method_list -->
118
+ <div id="methods">
119
+ <h3 class="section-bar">Public Class methods</h3>
120
+
121
+ <div id="method-M000006" class="method-detail">
122
+ <a name="M000006"></a>
123
+
124
+ <div class="method-heading">
125
+ <a href="#M000006" class="method-signature">
126
+ <span class="method-name">build</span><span class="method-args">(subject_of_change, before, after, creator_name=nil, change_reason=nil)</span>
127
+ </a>
128
+ </div>
129
+
130
+ <div class="method-description">
131
+ <p>
132
+ Build a single changeset
133
+ </p>
134
+ <p>
135
+ This method is suitable for building changesets that describe changes made
136
+ to a single resource If the before/after hashes contain data for other
137
+ subjects, then an error will be thrown.
138
+ </p>
139
+ <p>
140
+ The method will return a single <a href="Changeset.html">Changeset</a>
141
+ object.
142
+ </p>
143
+ <pre>
144
+ subject_of_change:: uri of the resource being updated
145
+ before:: triple hash describing current state of the resource
146
+ after:: triple hash describing updated state of the resource
147
+ creator_name:: name of the creator of the changes
148
+ change_reason:: description of why the changes are being made
149
+ </pre>
150
+ <p><a class="source-toggle" href="#"
151
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
152
+ <div class="method-source-code" id="M000006-source">
153
+ <pre>
154
+ <span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 65</span>
155
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">build</span>(<span class="ruby-identifier">subject_of_change</span>, <span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>, <span class="ruby-identifier">creator_name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">change_reason</span>=<span class="ruby-keyword kw">nil</span>)
156
+ <span class="ruby-identifier">removals</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>)
157
+ <span class="ruby-identifier">additions</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">after</span>, <span class="ruby-identifier">before</span>)
158
+
159
+ <span class="ruby-identifier">cs</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Changeset</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">subject_of_change</span>, <span class="ruby-identifier">creator_name</span>, <span class="ruby-identifier">change_reason</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
160
+ <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_removals</span>( <span class="ruby-identifier">create_statements</span>(<span class="ruby-identifier">removals</span>) )
161
+ <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_additions</span>( <span class="ruby-identifier">create_statements</span>(<span class="ruby-identifier">additions</span>) )
162
+ <span class="ruby-keyword kw">end</span>
163
+
164
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">cs</span>
165
+
166
+ <span class="ruby-keyword kw">end</span>
167
+ </pre>
168
+ </div>
169
+ </div>
170
+ </div>
171
+
172
+ <div id="method-M000005" class="method-detail">
173
+ <a name="M000005"></a>
174
+
175
+ <div class="method-heading">
176
+ <a href="#M000005" class="method-signature">
177
+ <span class="method-name">build_batch</span><span class="method-args">(before, after, creator_name=nil, change_reason=nil)</span>
178
+ </a>
179
+ </div>
180
+
181
+ <div class="method-description">
182
+ <p>
183
+ Build a batch changeset
184
+ </p>
185
+ <p>
186
+ This method is suitable for building an array of changesets that describe
187
+ changes made to a number of different resources.
188
+ </p>
189
+ <p>
190
+ Returns an array of <a href="Changeset.html">Changeset</a> objects
191
+ </p>
192
+ <pre>
193
+ before:: triple hash describing current state of the resource
194
+ after:: triple hash describing updated state of the resource
195
+ creator_name:: name of the creator of the changes
196
+ change_reason:: description of why the changes are being made
197
+ </pre>
198
+ <p><a class="source-toggle" href="#"
199
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
200
+ <div class="method-source-code" id="M000005-source">
201
+ <pre>
202
+ <span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 22</span>
203
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">build_batch</span>(<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>, <span class="ruby-identifier">creator_name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">change_reason</span>=<span class="ruby-keyword kw">nil</span>)
204
+
205
+ <span class="ruby-identifier">removals</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>)
206
+ <span class="ruby-identifier">additions</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">after</span>, <span class="ruby-identifier">before</span>)
207
+
208
+ <span class="ruby-identifier">batch</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
209
+
210
+ <span class="ruby-identifier">removals</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span><span class="ruby-operator">|</span>
211
+ <span class="ruby-identifier">cs</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Changeset</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">creator_name</span>, <span class="ruby-identifier">change_reason</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
212
+ <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_removals</span>( <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>) )
213
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">additions</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">uri</span>)
214
+ <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_additions</span>( <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">additions</span>[<span class="ruby-identifier">uri</span>] ) )
215
+ <span class="ruby-identifier">additions</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">uri</span>)
216
+ <span class="ruby-keyword kw">end</span>
217
+ <span class="ruby-keyword kw">end</span>
218
+ <span class="ruby-identifier">batch</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cs</span>
219
+ <span class="ruby-keyword kw">end</span>
220
+
221
+ <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">additions</span>.<span class="ruby-identifier">empty?</span>
222
+ <span class="ruby-identifier">additions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span><span class="ruby-operator">|</span>
223
+ <span class="ruby-identifier">cs</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Changeset</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">creator_name</span>, <span class="ruby-identifier">change_reason</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
224
+ <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_additions</span>( <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>) )
225
+ <span class="ruby-keyword kw">end</span>
226
+ <span class="ruby-identifier">batch</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cs</span>
227
+ <span class="ruby-keyword kw">end</span>
228
+ <span class="ruby-keyword kw">end</span>
229
+
230
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">batch</span>
231
+
232
+ <span class="ruby-keyword kw">end</span>
233
+ </pre>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+ <div id="method-M000007" class="method-detail">
239
+ <a name="M000007"></a>
240
+
241
+ <div class="method-heading">
242
+ <a href="#M000007" class="method-signature">
243
+ <span class="method-name">create_statements</span><span class="method-args">(triples)</span>
244
+ </a>
245
+ </div>
246
+
247
+ <div class="method-description">
248
+ <p>
249
+ Takes an triple hash and serializes it as an array of <a
250
+ href="Statement.html">Pho::Update::Statement</a> objects
251
+ </p>
252
+ <pre>
253
+ triples:: a hash of triples, conforming to RDF-in-JSON structure
254
+ </pre>
255
+ <p><a class="source-toggle" href="#"
256
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000007-source">
258
+ <pre>
259
+ <span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 81</span>
260
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">create_statements</span>(<span class="ruby-identifier">triples</span>)
261
+ <span class="ruby-identifier">statements</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
262
+ <span class="ruby-identifier">triples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span><span class="ruby-operator">|</span>
263
+ <span class="ruby-identifier">statements</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>)
264
+ <span class="ruby-keyword kw">end</span>
265
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">statements</span>
266
+ <span class="ruby-keyword kw">end</span>
267
+ </pre>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+ <div id="method-M000008" class="method-detail">
273
+ <a name="M000008"></a>
274
+
275
+ <div class="method-heading">
276
+ <a href="#M000008" class="method-signature">
277
+ <span class="method-name">create_statements_for_uri</span><span class="method-args">(uri, properties)</span>
278
+ </a>
279
+ </div>
280
+
281
+ <div class="method-description">
282
+ <p>
283
+ Create statements for a specific uri, using predicate-object values in the
284
+ provided properties hash
285
+ </p>
286
+ <pre>
287
+ uri:: subject of change
288
+ properties:: hash of predicate-object values
289
+ </pre>
290
+ <p><a class="source-toggle" href="#"
291
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
292
+ <div class="method-source-code" id="M000008-source">
293
+ <pre>
294
+ <span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 94</span>
295
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>)
296
+ <span class="ruby-identifier">statements</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
297
+ <span class="ruby-identifier">properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">predicate</span>, <span class="ruby-identifier">val_array</span><span class="ruby-operator">|</span>
298
+ <span class="ruby-identifier">val_array</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
299
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">nil</span>
300
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>[<span class="ruby-value str">&quot;type&quot;</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;literal&quot;</span>
301
+ <span class="ruby-identifier">s</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Statement</span>.<span class="ruby-identifier">create_literal</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">predicate</span>, <span class="ruby-identifier">value</span>[<span class="ruby-value str">&quot;value&quot;</span>], <span class="ruby-identifier">value</span>[<span class="ruby-value str">&quot;lang&quot;</span>], <span class="ruby-identifier">value</span>[<span class="ruby-value str">&quot;datatype&quot;</span>])
302
+ <span class="ruby-keyword kw">else</span>
303
+ <span class="ruby-comment cmt">#TODO bnodes?</span>
304
+ <span class="ruby-identifier">s</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Statement</span>.<span class="ruby-identifier">create_resource</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">predicate</span>, <span class="ruby-identifier">value</span>[<span class="ruby-value str">&quot;value&quot;</span>])
305
+ <span class="ruby-keyword kw">end</span>
306
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
307
+ <span class="ruby-identifier">statements</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
308
+ <span class="ruby-keyword kw">end</span>
309
+ <span class="ruby-keyword kw">end</span>
310
+ <span class="ruby-keyword kw">end</span>
311
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">statements</span>
312
+ <span class="ruby-keyword kw">end</span>
313
+ </pre>
314
+ </div>
315
+ </div>
316
+ </div>
317
+
318
+
319
+ </div>
320
+
321
+
322
+ </div>
323
+
324
+
325
+ <div id="validator-badges">
326
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
327
+ </div>
328
+
329
+ </body>
330
+ </html>
@@ -0,0 +1,204 @@
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: Pho::Update::Changesets</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">Pho::Update::Changesets</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/pho/changeset_rb.html">
59
+ lib/pho/changeset.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
+ <div id="description">
82
+ <p>
83
+ The <a href="Changesets.html">Changesets</a> class provides utility methods
84
+ for manipulating and generating collections of <a
85
+ href="Changeset.html">Changeset</a> objects
86
+ </p>
87
+
88
+ </div>
89
+
90
+
91
+ </div>
92
+
93
+ <div id="method-list">
94
+ <h3 class="section-bar">Methods</h3>
95
+
96
+ <div class="name-list">
97
+ <a href="#M000012">all_to_rdf</a>&nbsp;&nbsp;
98
+ <a href="#M000013">submit_all</a>&nbsp;&nbsp;
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+
104
+
105
+ <!-- if includes -->
106
+
107
+ <div id="section">
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ <!-- if method_list -->
117
+ <div id="methods">
118
+ <h3 class="section-bar">Public Class methods</h3>
119
+
120
+ <div id="method-M000012" class="method-detail">
121
+ <a name="M000012"></a>
122
+
123
+ <div class="method-heading">
124
+ <a href="#M000012" class="method-signature">
125
+ <span class="method-name">all_to_rdf</span><span class="method-args">(changesets)</span>
126
+ </a>
127
+ </div>
128
+
129
+ <div class="method-description">
130
+ <p>
131
+ Convert an array of changesets into an RDF/XML document
132
+ </p>
133
+ <pre>
134
+ changesets:: an array of changesets
135
+ </pre>
136
+ <p><a class="source-toggle" href="#"
137
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
138
+ <div class="method-source-code" id="M000012-source">
139
+ <pre>
140
+ <span class="ruby-comment cmt"># File lib/pho/changeset.rb, line 142</span>
141
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Changesets</span>.<span class="ruby-identifier">all_to_rdf</span>(<span class="ruby-identifier">changesets</span>)
142
+ <span class="ruby-identifier">rdf</span> = <span class="ruby-value str">&quot;&lt;rdf:RDF xmlns:cs=\&quot;http://purl.org/vocab/changeset/schema#\&quot; xmlns:rdf=\&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#\&quot;&gt;&quot;</span>
143
+ <span class="ruby-identifier">changesets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
144
+ <span class="ruby-identifier">rdf</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">to_rdf</span>(<span class="ruby-keyword kw">false</span>)
145
+ <span class="ruby-keyword kw">end</span>
146
+ <span class="ruby-identifier">rdf</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&lt;/rdf:RDF&gt;&quot;</span>
147
+ <span class="ruby-keyword kw">end</span>
148
+ </pre>
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+ <div id="method-M000013" class="method-detail">
154
+ <a name="M000013"></a>
155
+
156
+ <div class="method-heading">
157
+ <a href="#M000013" class="method-signature">
158
+ <span class="method-name">submit_all</span><span class="method-args">(changesets, store, versioned=false)</span>
159
+ </a>
160
+ </div>
161
+
162
+ <div class="method-description">
163
+ <p>
164
+ Submit an array of changests to the Platform. After first converting them
165
+ to an RDF/XML document.
166
+ </p>
167
+ <pre>
168
+ Note that this submits all of the changessets in a single request to the Platform
169
+ If the changeset is too large then it may be rejected. Similarly the Platform may
170
+ respond with a 202 Accepted status if the data is to be processed asynchronously;
171
+ again that depends on the size of the changes.
172
+
173
+ changesets:: an array of changesets
174
+ store:: the store to submit the changesets to
175
+ versioned:: whether this is a versioned changed. Versioned Changesets must have
176
+ change_reason and creator_name properties.
177
+ </pre>
178
+ <p><a class="source-toggle" href="#"
179
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000013-source">
181
+ <pre>
182
+ <span class="ruby-comment cmt"># File lib/pho/changeset.rb, line 162</span>
183
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Changesets</span>.<span class="ruby-identifier">submit_all</span>(<span class="ruby-identifier">changesets</span>, <span class="ruby-identifier">store</span>, <span class="ruby-identifier">versioned</span>=<span class="ruby-keyword kw">false</span>)
184
+ <span class="ruby-identifier">rdf</span> = <span class="ruby-identifier">all_to_rdf</span>(<span class="ruby-identifier">changesets</span>)
185
+ <span class="ruby-identifier">store</span>.<span class="ruby-identifier">submit_changeset</span>(<span class="ruby-identifier">rdf</span>, <span class="ruby-identifier">versioned</span>)
186
+ <span class="ruby-keyword kw">end</span>
187
+ </pre>
188
+ </div>
189
+ </div>
190
+ </div>
191
+
192
+
193
+ </div>
194
+
195
+
196
+ </div>
197
+
198
+
199
+ <div id="validator-badges">
200
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
201
+ </div>
202
+
203
+ </body>
204
+ </html>