pho 0.2 → 0.3

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 (140) hide show
  1. data/CHANGES +19 -0
  2. data/Rakefile +6 -4
  3. data/doc/index.html +6 -0
  4. data/doc/rdoc/classes/Pho.html +250 -0
  5. data/doc/rdoc/classes/Pho/Analyzers.html +288 -0
  6. data/doc/rdoc/classes/Pho/DatatypeProperty.html +209 -0
  7. data/doc/rdoc/classes/Pho/DatatypeProperty.src/M000034.html +21 -0
  8. data/doc/rdoc/classes/Pho/DatatypeProperty.src/M000035.html +29 -0
  9. data/doc/rdoc/classes/Pho/Etags.html +238 -0
  10. data/doc/rdoc/classes/Pho/Etags.src/M000088.html +23 -0
  11. data/doc/rdoc/classes/Pho/Etags.src/M000089.html +28 -0
  12. data/doc/rdoc/classes/Pho/Etags.src/M000090.html +21 -0
  13. data/doc/rdoc/classes/Pho/Etags.src/M000091.html +18 -0
  14. data/doc/rdoc/classes/Pho/Etags.src/M000092.html +18 -0
  15. data/doc/rdoc/classes/Pho/Etags.src/M000093.html +18 -0
  16. data/doc/rdoc/classes/Pho/Facet.html +119 -0
  17. data/doc/rdoc/classes/Pho/Facet/Results.html +225 -0
  18. data/doc/rdoc/classes/Pho/Facet/Results.src/M000001.html +20 -0
  19. data/doc/rdoc/classes/Pho/Facet/Results.src/M000002.html +27 -0
  20. data/doc/rdoc/classes/Pho/Facet/Results.src/M000003.html +54 -0
  21. data/doc/rdoc/classes/Pho/Facet/Term.html +166 -0
  22. data/doc/rdoc/classes/Pho/Facet/Term.src/M000004.html +20 -0
  23. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +461 -0
  24. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000005.html +38 -0
  25. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000006.html +28 -0
  26. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000007.html +20 -0
  27. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000008.html +18 -0
  28. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000009.html +23 -0
  29. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000010.html +23 -0
  30. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000011.html +18 -0
  31. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000012.html +18 -0
  32. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000013.html +18 -0
  33. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000014.html +18 -0
  34. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000015.html +18 -0
  35. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000016.html +21 -0
  36. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000017.html +21 -0
  37. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000018.html +38 -0
  38. data/doc/rdoc/classes/Pho/FieldPredicateMap.src/M000019.html +18 -0
  39. data/doc/rdoc/classes/Pho/FieldWeighting.html +202 -0
  40. data/doc/rdoc/classes/Pho/FieldWeighting.src/M000075.html +20 -0
  41. data/doc/rdoc/classes/Pho/FieldWeighting.src/M000076.html +26 -0
  42. data/doc/rdoc/classes/Pho/Job.html +147 -0
  43. data/doc/rdoc/classes/Pho/Job.src/M000074.html +21 -0
  44. data/doc/rdoc/classes/Pho/Namespaces.html +128 -0
  45. data/doc/rdoc/classes/Pho/QueryProfile.html +355 -0
  46. data/doc/rdoc/classes/Pho/QueryProfile.src/M000024.html +39 -0
  47. data/doc/rdoc/classes/Pho/QueryProfile.src/M000025.html +24 -0
  48. data/doc/rdoc/classes/Pho/QueryProfile.src/M000026.html +20 -0
  49. data/doc/rdoc/classes/Pho/QueryProfile.src/M000027.html +18 -0
  50. data/doc/rdoc/classes/Pho/QueryProfile.src/M000028.html +18 -0
  51. data/doc/rdoc/classes/Pho/QueryProfile.src/M000029.html +21 -0
  52. data/doc/rdoc/classes/Pho/QueryProfile.src/M000030.html +18 -0
  53. data/doc/rdoc/classes/Pho/QueryProfile.src/M000031.html +18 -0
  54. data/doc/rdoc/classes/Pho/QueryProfile.src/M000032.html +38 -0
  55. data/doc/rdoc/classes/Pho/QueryProfile.src/M000033.html +18 -0
  56. data/doc/rdoc/classes/Pho/RDFCollection.html +353 -0
  57. data/doc/rdoc/classes/Pho/RDFCollection.src/M000077.html +23 -0
  58. data/doc/rdoc/classes/Pho/RDFCollection.src/M000078.html +22 -0
  59. data/doc/rdoc/classes/Pho/RDFCollection.src/M000079.html +24 -0
  60. data/doc/rdoc/classes/Pho/RDFCollection.src/M000080.html +23 -0
  61. data/doc/rdoc/classes/Pho/RDFCollection.src/M000081.html +18 -0
  62. data/doc/rdoc/classes/Pho/RDFCollection.src/M000082.html +22 -0
  63. data/doc/rdoc/classes/Pho/RDFCollection.src/M000083.html +22 -0
  64. data/doc/rdoc/classes/Pho/RDFCollection.src/M000084.html +26 -0
  65. data/doc/rdoc/classes/Pho/RDFCollection.src/M000085.html +23 -0
  66. data/doc/rdoc/classes/Pho/RDFCollection.src/M000086.html +18 -0
  67. data/doc/rdoc/classes/Pho/RDFCollection.src/M000087.html +18 -0
  68. data/doc/rdoc/classes/Pho/Snapshot.html +271 -0
  69. data/doc/rdoc/classes/Pho/Snapshot.src/M000070.html +31 -0
  70. data/doc/rdoc/classes/Pho/Snapshot.src/M000071.html +21 -0
  71. data/doc/rdoc/classes/Pho/Snapshot.src/M000072.html +18 -0
  72. data/doc/rdoc/classes/Pho/Snapshot.src/M000073.html +37 -0
  73. data/doc/rdoc/classes/Pho/Status.html +245 -0
  74. data/doc/rdoc/classes/Pho/Status.src/M000020.html +20 -0
  75. data/doc/rdoc/classes/Pho/Status.src/M000021.html +31 -0
  76. data/doc/rdoc/classes/Pho/Status.src/M000022.html +18 -0
  77. data/doc/rdoc/classes/Pho/Status.src/M000023.html +18 -0
  78. data/doc/rdoc/classes/Pho/Store.html +1055 -0
  79. data/doc/rdoc/classes/Pho/Store.src/M000036.html +22 -0
  80. data/doc/rdoc/classes/Pho/Store.src/M000037.html +18 -0
  81. data/doc/rdoc/classes/Pho/Store.src/M000038.html +25 -0
  82. data/doc/rdoc/classes/Pho/Store.src/M000039.html +20 -0
  83. data/doc/rdoc/classes/Pho/Store.src/M000040.html +20 -0
  84. data/doc/rdoc/classes/Pho/Store.src/M000041.html +28 -0
  85. data/doc/rdoc/classes/Pho/Store.src/M000042.html +23 -0
  86. data/doc/rdoc/classes/Pho/Store.src/M000043.html +18 -0
  87. data/doc/rdoc/classes/Pho/Store.src/M000044.html +18 -0
  88. data/doc/rdoc/classes/Pho/Store.src/M000045.html +18 -0
  89. data/doc/rdoc/classes/Pho/Store.src/M000046.html +18 -0
  90. data/doc/rdoc/classes/Pho/Store.src/M000047.html +23 -0
  91. data/doc/rdoc/classes/Pho/Store.src/M000048.html +22 -0
  92. data/doc/rdoc/classes/Pho/Store.src/M000049.html +26 -0
  93. data/doc/rdoc/classes/Pho/Store.src/M000050.html +24 -0
  94. data/doc/rdoc/classes/Pho/Store.src/M000051.html +20 -0
  95. data/doc/rdoc/classes/Pho/Store.src/M000052.html +20 -0
  96. data/doc/rdoc/classes/Pho/Store.src/M000053.html +25 -0
  97. data/doc/rdoc/classes/Pho/Store.src/M000054.html +20 -0
  98. data/doc/rdoc/classes/Pho/Store.src/M000055.html +30 -0
  99. data/doc/rdoc/classes/Pho/Store.src/M000056.html +21 -0
  100. data/doc/rdoc/classes/Pho/Store.src/M000057.html +23 -0
  101. data/doc/rdoc/classes/Pho/Store.src/M000058.html +28 -0
  102. data/doc/rdoc/classes/Pho/Store.src/M000059.html +18 -0
  103. data/doc/rdoc/classes/Pho/Store.src/M000060.html +18 -0
  104. data/doc/rdoc/classes/Pho/Store.src/M000061.html +18 -0
  105. data/doc/rdoc/classes/Pho/Store.src/M000062.html +31 -0
  106. data/doc/rdoc/classes/Pho/Store.src/M000063.html +21 -0
  107. data/doc/rdoc/classes/Pho/Store.src/M000064.html +20 -0
  108. data/doc/rdoc/classes/Pho/Store.src/M000065.html +20 -0
  109. data/doc/rdoc/classes/Pho/Store.src/M000066.html +20 -0
  110. data/doc/rdoc/classes/Pho/Store.src/M000067.html +20 -0
  111. data/doc/rdoc/classes/Pho/Store.src/M000068.html +20 -0
  112. data/doc/rdoc/classes/Pho/Store.src/M000069.html +20 -0
  113. data/doc/rdoc/created.rid +1 -1
  114. data/doc/rdoc/files/CHANGES.html +140 -0
  115. data/doc/rdoc/files/README.html +9 -8
  116. data/doc/rdoc/files/lib/pho/etags_rb.html +108 -0
  117. data/doc/rdoc/files/lib/pho/facet_rb.html +101 -0
  118. data/doc/rdoc/files/lib/pho/field_predicate_map_rb.html +101 -0
  119. data/doc/rdoc/files/lib/pho/job_rb.html +101 -0
  120. data/doc/rdoc/files/lib/pho/query_profile_rb.html +101 -0
  121. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +101 -0
  122. data/doc/rdoc/files/lib/pho/snapshot_rb.html +108 -0
  123. data/doc/rdoc/files/lib/pho/status_rb.html +101 -0
  124. data/doc/rdoc/files/lib/pho/store_rb.html +101 -0
  125. data/doc/rdoc/files/lib/pho_rb.html +120 -0
  126. data/doc/rdoc/fr_class_index.html +16 -0
  127. data/doc/rdoc/fr_file_index.html +11 -0
  128. data/doc/rdoc/fr_method_index.html +93 -0
  129. data/examples/status.rb +3 -3
  130. data/lib/pho.rb +11 -2
  131. data/lib/pho/facet.rb +101 -0
  132. data/lib/pho/field_predicate_map.rb +4 -4
  133. data/lib/pho/query_profile.rb +170 -0
  134. data/lib/pho/status.rb +65 -0
  135. data/lib/pho/store.rb +26 -13
  136. data/tests/tc_facet.rb +91 -0
  137. data/tests/tc_query_profile.rb +196 -0
  138. data/tests/tc_status.rb +56 -0
  139. data/tests/ts_pho.rb +3 -0
  140. metadata +148 -3
@@ -0,0 +1,31 @@
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>
7
+ <head>
8
+ <title>parse (Pho::Snapshot)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 33</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Snapshot</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">resp</span>)
15
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">200</span>)
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Response was not successful. Status code was: #{resp.status}&quot;</span>
17
+ <span class="ruby-keyword kw">end</span>
18
+ <span class="ruby-identifier">content</span> = <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">content</span>
19
+
20
+ <span class="ruby-identifier">snapshot_url</span> = <span class="ruby-identifier">content</span>.<span class="ruby-identifier">match</span>(<span class="ruby-value str">&quot;&lt;a href=\&quot;(http://api.talis.com/stores/\.+/snapshots/\.+tar)\&quot;&gt;\.+&lt;/a&gt;&quot;</span>)[<span class="ruby-value">1</span>]
21
+
22
+ <span class="ruby-identifier">metadata</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;&lt;a href=\&quot;(http://api.talis.com/stores/\.+/snapshots/\.+tar\.md5)\&quot;&gt;\.+&lt;/a&gt;\n\s+\-\s+([0-9]+) ([a-zA-Z]+)&quot;</span>, <span class="ruby-value str">&quot;m&quot;</span>)
23
+ <span class="ruby-identifier">snapshot_md5_url</span> = <span class="ruby-identifier">metadata</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">content</span>)[<span class="ruby-value">1</span>]
24
+ <span class="ruby-identifier">snapshot_size</span> = <span class="ruby-identifier">metadata</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">content</span>)[<span class="ruby-value">2</span>]
25
+ <span class="ruby-identifier">snapshot_units</span> = <span class="ruby-identifier">metadata</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">content</span>)[<span class="ruby-value">3</span>]
26
+
27
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Snapshot</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">snapshot_url</span>, <span class="ruby-identifier">snapshot_md5_url</span>, <span class="ruby-identifier">snapshot_size</span>, <span class="ruby-identifier">snapshot_units</span>)
28
+
29
+ <span class="ruby-keyword kw">end</span></pre>
30
+ </body>
31
+ </html>
@@ -0,0 +1,21 @@
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>
7
+ <head>
8
+ <title>new (Pho::Snapshot)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 50</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">md5_url</span>, <span class="ruby-identifier">size</span>, <span class="ruby-identifier">units</span>)
15
+ <span class="ruby-ivar">@url</span> = <span class="ruby-identifier">url</span>
16
+ <span class="ruby-ivar">@md5_url</span> = <span class="ruby-identifier">md5_url</span>
17
+ <span class="ruby-ivar">@size</span> = <span class="ruby-identifier">size</span>
18
+ <span class="ruby-ivar">@units</span> = <span class="ruby-identifier">units</span>
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>read_md5 (Pho::Snapshot)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 59</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_md5</span>(<span class="ruby-identifier">client</span>=<span class="ruby-constant">HttpClient</span>.<span class="ruby-identifier">new</span>())
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">client</span>.<span class="ruby-identifier">get_content</span>(<span class="ruby-ivar">@md5_url</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,37 @@
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>
7
+ <head>
8
+ <title>download (Pho::Snapshot)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 69</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">download</span>(<span class="ruby-identifier">dir</span>, <span class="ruby-identifier">client</span>=<span class="ruby-constant">HTTPClient</span>.<span class="ruby-identifier">new</span>())
15
+
16
+ <span class="ruby-identifier">published_md5</span> = <span class="ruby-identifier">read_md5</span>(<span class="ruby-identifier">client</span>)
17
+
18
+ <span class="ruby-identifier">digest</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">new</span>()
19
+
20
+ <span class="ruby-identifier">filename</span> = <span class="ruby-ivar">@url</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;/&quot;</span>).<span class="ruby-identifier">last</span>
21
+ <span class="ruby-identifier">file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">dir</span>, <span class="ruby-identifier">filename</span>), <span class="ruby-value str">&quot;w&quot;</span> ) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
22
+
23
+ <span class="ruby-comment cmt">#FIXME: this is not efficient as the snapshot may be very large and this</span>
24
+ <span class="ruby-comment cmt">#will just read all of the data into memory</span>
25
+ <span class="ruby-identifier">content</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">get_content</span>(<span class="ruby-ivar">@url</span>)
26
+ <span class="ruby-identifier">file</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">content</span>)
27
+ <span class="ruby-identifier">digest</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">content</span>
28
+
29
+ <span class="ruby-keyword kw">end</span>
30
+
31
+ <span class="ruby-identifier">calc_md5</span> = <span class="ruby-identifier">digest</span>.<span class="ruby-identifier">hexdigest</span>
32
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">calc_md5</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">published_md5</span>)
33
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Calculated digest of #{calc_md5} but does not match published md5 #{published_md5}&quot;</span>
34
+ <span class="ruby-keyword kw">end</span>
35
+ <span class="ruby-keyword kw">end</span></pre>
36
+ </body>
37
+ </html>
@@ -0,0 +1,245 @@
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::Status</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::Status</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/pho/status_rb.html">
59
+ lib/pho/status.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
+ Captures status information relating to a store
84
+ </p>
85
+
86
+ </div>
87
+
88
+
89
+ </div>
90
+
91
+ <div id="method-list">
92
+ <h3 class="section-bar">Methods</h3>
93
+
94
+ <div class="name-list">
95
+ <a href="#M000020">new</a>&nbsp;&nbsp;
96
+ <a href="#M000021">read_from_store</a>&nbsp;&nbsp;
97
+ <a href="#M000022">readable?</a>&nbsp;&nbsp;
98
+ <a href="#M000023">writeable?</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
+ <div id="attribute-list">
114
+ <h3 class="section-bar">Attributes</h3>
115
+
116
+ <div class="name-list">
117
+ <table>
118
+ <tr class="top-aligned-row context-row">
119
+ <td class="context-item-name">access_mode</td>
120
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
121
+ <td class="context-item-desc">
122
+ Current access mode uri
123
+
124
+ <p>
125
+ This will be one of Pho::READ_ONLY, Pho::READ_WRITE, or Pho::UNAVAILABLE.
126
+ Use the readable and writeable methods to test for the different modes
127
+ </p>
128
+ </td>
129
+ </tr>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">retry_interval</td>
132
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
133
+ <td class="context-item-desc">
134
+ Interval before status should be requested again.
135
+
136
+ </td>
137
+ </tr>
138
+ <tr class="top-aligned-row context-row">
139
+ <td class="context-item-name">status_message</td>
140
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
141
+ <td class="context-item-desc">
142
+ <a href="Status.html">Status</a> message
143
+
144
+ </td>
145
+ </tr>
146
+ </table>
147
+ </div>
148
+ </div>
149
+
150
+
151
+
152
+ <!-- if method_list -->
153
+ <div id="methods">
154
+ <h3 class="section-bar">Public Class methods</h3>
155
+
156
+ <div id="method-M000020" class="method-detail">
157
+ <a name="M000020"></a>
158
+
159
+ <div class="method-heading">
160
+ <a href="Status.src/M000020.html" target="Code" class="method-signature"
161
+ onclick="popupCode('Status.src/M000020.html');return false;">
162
+ <span class="method-name">new</span><span class="method-args">(retry_interval, status_message, access_mode)</span>
163
+ </a>
164
+ </div>
165
+
166
+ <div class="method-description">
167
+ </div>
168
+ </div>
169
+
170
+ <div id="method-M000021" class="method-detail">
171
+ <a name="M000021"></a>
172
+
173
+ <div class="method-heading">
174
+ <a href="Status.src/M000021.html" target="Code" class="method-signature"
175
+ onclick="popupCode('Status.src/M000021.html');return false;">
176
+ <span class="method-name">read_from_store</span><span class="method-args">(store)</span>
177
+ </a>
178
+ </div>
179
+
180
+ <div class="method-description">
181
+ <p>
182
+ Create a <a href="Status.html">Status</a> object by reading the response
183
+ from a store access status request
184
+ </p>
185
+ <p>
186
+ The code parses the JSON output from the Platform API to create a <a
187
+ href="Status.html">Status</a> object.
188
+ </p>
189
+ <table>
190
+ <tr><td valign="top">store:</td><td>the store whose status is to be read
191
+
192
+ </td></tr>
193
+ </table>
194
+ </div>
195
+ </div>
196
+
197
+ <h3 class="section-bar">Public Instance methods</h3>
198
+
199
+ <div id="method-M000022" class="method-detail">
200
+ <a name="M000022"></a>
201
+
202
+ <div class="method-heading">
203
+ <a href="Status.src/M000022.html" target="Code" class="method-signature"
204
+ onclick="popupCode('Status.src/M000022.html');return false;">
205
+ <span class="method-name">readable?</span><span class="method-args">()</span>
206
+ </a>
207
+ </div>
208
+
209
+ <div class="method-description">
210
+ <p>
211
+ Is the store <a href="Status.html#M000022">readable?</a>
212
+ </p>
213
+ </div>
214
+ </div>
215
+
216
+ <div id="method-M000023" class="method-detail">
217
+ <a name="M000023"></a>
218
+
219
+ <div class="method-heading">
220
+ <a href="Status.src/M000023.html" target="Code" class="method-signature"
221
+ onclick="popupCode('Status.src/M000023.html');return false;">
222
+ <span class="method-name">writeable?</span><span class="method-args">()</span>
223
+ </a>
224
+ </div>
225
+
226
+ <div class="method-description">
227
+ <p>
228
+ Is the store <a href="Status.html#M000023">writeable?</a>
229
+ </p>
230
+ </div>
231
+ </div>
232
+
233
+
234
+ </div>
235
+
236
+
237
+ </div>
238
+
239
+
240
+ <div id="validator-badges">
241
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
242
+ </div>
243
+
244
+ </body>
245
+ </html>
@@ -0,0 +1,20 @@
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>
7
+ <head>
8
+ <title>new (Pho::Status)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/status.rb, line 25</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">retry_interval</span>, <span class="ruby-identifier">status_message</span>, <span class="ruby-identifier">access_mode</span>)
15
+ <span class="ruby-ivar">@retry_interval</span> = <span class="ruby-identifier">retry_interval</span>
16
+ <span class="ruby-ivar">@status_message</span> = <span class="ruby-identifier">status_message</span>
17
+ <span class="ruby-ivar">@access_mode</span> = <span class="ruby-identifier">access_mode</span>
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,31 @@
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>
7
+ <head>
8
+ <title>read_from_store (Pho::Status)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/status.rb, line 36</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Status</span>.<span class="ruby-identifier">read_from_store</span>(<span class="ruby-identifier">store</span>)
15
+ <span class="ruby-identifier">response</span> = <span class="ruby-identifier">store</span>.<span class="ruby-identifier">get_status</span>()
16
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">response</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">!=</span> <span class="ruby-value">200</span>)
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Cannot read store status&quot;</span>
18
+ <span class="ruby-keyword kw">end</span>
19
+
20
+ <span class="ruby-identifier">u</span> = <span class="ruby-identifier">store</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/config/access-status&quot;</span>)
21
+ <span class="ruby-identifier">json</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>( <span class="ruby-identifier">response</span>.<span class="ruby-identifier">content</span> )
22
+ <span class="ruby-identifier">retry_interval</span> = <span class="ruby-identifier">json</span>[<span class="ruby-identifier">u</span>][<span class="ruby-value str">&quot;http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#retryInterval&quot;</span>][<span class="ruby-value">0</span>][<span class="ruby-value str">&quot;value&quot;</span>]
23
+ <span class="ruby-identifier">status_message</span> = <span class="ruby-identifier">json</span>[<span class="ruby-identifier">u</span>][<span class="ruby-value str">&quot;http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#statusMessage&quot;</span>][<span class="ruby-value">0</span>][<span class="ruby-value str">&quot;value&quot;</span>]
24
+ <span class="ruby-identifier">access_mode</span> = <span class="ruby-identifier">json</span>[<span class="ruby-identifier">u</span>][<span class="ruby-value str">&quot;http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#accessMode&quot;</span>][<span class="ruby-value">0</span>][<span class="ruby-value str">&quot;value&quot;</span>]
25
+
26
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">Status</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">retry_interval</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">status_message</span>, <span class="ruby-identifier">access_mode</span>)
27
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">state</span>
28
+
29
+ <span class="ruby-keyword kw">end</span></pre>
30
+ </body>
31
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>readable? (Pho::Status)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/status.rb, line 54</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">readable?</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@access_mode</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">UNAVAILABLE</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>writeable? (Pho::Status)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/pho/status.rb, line 59</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">writeable?</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@access_mode</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">READ_WRITE</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>