s33r 0.4.1 → 0.4.2

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 (75) hide show
  1. data/examples/cli/simple.rb +17 -0
  2. data/examples/fores33r/app/controllers/browser_controller.rb +32 -8
  3. data/examples/fores33r/app/views/browser/_create_bucket.rhtml +6 -0
  4. data/examples/fores33r/app/views/browser/_upload.rhtml +5 -0
  5. data/examples/fores33r/app/views/browser/index.rhtml +1 -8
  6. data/examples/fores33r/app/views/browser/plain_bucket.rhtml +3 -0
  7. data/examples/fores33r/app/views/browser/s3_index.rhtml +9 -0
  8. data/examples/fores33r/app/views/browser/show_bucket.rhtml +6 -8
  9. data/examples/fores33r/app/views/layouts/application.rhtml +2 -0
  10. data/examples/fores33r/app/views/layouts/s3_layout.rhtml +14 -0
  11. data/examples/fores33r/config/environment.rb +1 -1
  12. data/examples/fores33r/config/routes.rb +2 -0
  13. data/examples/fores33r/public/stylesheets/core.css +2 -2
  14. data/html/classes/Net/HTTPResponse.html +3 -0
  15. data/html/classes/S33r.html +127 -116
  16. data/html/classes/S33r/BucketListing.html +119 -94
  17. data/html/classes/S33r/Client.html +602 -536
  18. data/html/classes/S33r/LoggingResource.html +3 -3
  19. data/html/classes/S33r/NamedBucket.html +235 -191
  20. data/html/classes/S33r/OrderlyXmlMarkup.html +7 -7
  21. data/html/classes/S33r/S33rException.html +1 -0
  22. data/html/classes/S33r/S33rException/TryingToPutEmptyResource.html +117 -0
  23. data/html/classes/S33r/S3ACL/ACLDoc.html +94 -94
  24. data/html/classes/S33r/S3ACL/AmazonCustomer.html +5 -5
  25. data/html/classes/S33r/S3ACL/CanonicalUser.html +12 -12
  26. data/html/classes/S33r/S3ACL/Grant.html +64 -64
  27. data/html/classes/S33r/S3ACL/Grantee.html +36 -36
  28. data/html/classes/S33r/S3ACL/Group.html +8 -8
  29. data/html/classes/S33r/S3Object.html +387 -79
  30. data/html/classes/XML.html +15 -15
  31. data/html/created.rid +1 -1
  32. data/html/files/CHANGELOG.html +7 -1
  33. data/html/files/MIT-LICENSE.html +1 -1
  34. data/html/files/README_txt.html +3 -7
  35. data/html/files/lib/s33r/bucket_listing_rb.html +1 -9
  36. data/html/files/lib/s33r/builder_rb.html +1 -1
  37. data/html/files/lib/s33r/client_rb.html +1 -1
  38. data/html/files/lib/s33r/core_rb.html +1 -2
  39. data/html/files/lib/s33r/libxml_extensions_rb.html +1 -7
  40. data/html/files/lib/s33r/libxml_loader_rb.html +109 -0
  41. data/html/files/lib/s33r/logging_rb.html +1 -2
  42. data/html/files/lib/s33r/mimetypes_rb.html +1 -1
  43. data/html/files/lib/s33r/named_bucket_rb.html +1 -1
  44. data/html/files/lib/s33r/s33r_exception_rb.html +1 -1
  45. data/html/files/lib/s33r/s33r_http_rb.html +1 -1
  46. data/html/files/lib/s33r/s3_acl_rb.html +1 -2
  47. data/html/files/lib/s33r/s3_obj_rb.html +108 -0
  48. data/html/files/lib/s33r/sync_rb.html +1 -1
  49. data/html/files/lib/s33r_rb.html +1 -1
  50. data/html/fr_class_index.html +1 -0
  51. data/html/fr_file_index.html +2 -0
  52. data/html/fr_method_index.html +80 -71
  53. data/lib/s33r/bucket_listing.rb +30 -55
  54. data/lib/s33r/client.rb +70 -28
  55. data/lib/s33r/core.rb +9 -4
  56. data/lib/s33r/libxml_extensions.rb +2 -0
  57. data/lib/s33r/libxml_loader.rb +6 -0
  58. data/lib/s33r/logging.rb +3 -3
  59. data/lib/s33r/named_bucket.rb +33 -15
  60. data/lib/s33r/s33r_exception.rb +4 -0
  61. data/lib/s33r/s33r_http.rb +1 -1
  62. data/lib/s33r/s3_acl.rb +3 -2
  63. data/lib/s33r/s3_obj.rb +186 -0
  64. data/test/cases/spec_bucket_listing.rb +9 -33
  65. data/test/cases/spec_s3_object.rb +35 -0
  66. data/test/files/suspect_bucket_listing.xml +19 -0
  67. metadata +94 -89
  68. data/examples/fores33r/log/development.log +0 -5960
  69. data/examples/fores33r/log/production.log +0 -0
  70. data/examples/fores33r/log/server.log +0 -0
  71. data/examples/fores33r/log/test.log +0 -0
  72. data/examples/fores33r/tmp/sessions/ruby_sess.2ea325f604aa5fb9 +0 -0
  73. data/examples/fores33r/tmp/sessions/ruby_sess.39d37e054d21d545 +0 -0
  74. data/examples/fores33r/tmp/sessions/ruby_sess.acf71fc73aa74983 +0 -0
  75. data/examples/fores33r/tmp/sessions/ruby_sess.c1697b7d6670f3cd +0 -0
@@ -92,7 +92,7 @@ Variant of XmlMarkup which explicitly orders attributes.
92
92
  <h3 class="section-bar">Methods</h3>
93
93
 
94
94
  <div class="name-list">
95
- <a href="#M000148">_insert_attributes</a>&nbsp;&nbsp;
95
+ <a href="#M000157">_insert_attributes</a>&nbsp;&nbsp;
96
96
  </div>
97
97
  </div>
98
98
 
@@ -114,11 +114,11 @@ Variant of XmlMarkup which explicitly orders attributes.
114
114
  <div id="methods">
115
115
  <h3 class="section-bar">Public Instance methods</h3>
116
116
 
117
- <div id="method-M000148" class="method-detail">
118
- <a name="M000148"></a>
117
+ <div id="method-M000157" class="method-detail">
118
+ <a name="M000157"></a>
119
119
 
120
120
  <div class="method-heading">
121
- <a href="#M000148" class="method-signature">
121
+ <a href="#M000157" class="method-signature">
122
122
  <span class="method-name">_insert_attributes</span><span class="method-args">(attrs, order=[])</span>
123
123
  </a>
124
124
  </div>
@@ -126,12 +126,12 @@ Variant of XmlMarkup which explicitly orders attributes.
126
126
  <div class="method-description">
127
127
  <p>
128
128
  Override Builder <a
129
- href="OrderlyXmlMarkup.html#M000148">_insert_attributes</a> so attributes
129
+ href="OrderlyXmlMarkup.html#M000157">_insert_attributes</a> so attributes
130
130
  are ordered.
131
131
  </p>
132
132
  <p><a class="source-toggle" href="#"
133
- onclick="toggleCode('M000148-source');return false;">[Source]</a></p>
134
- <div class="method-source-code" id="M000148-source">
133
+ onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
134
+ <div class="method-source-code" id="M000157-source">
135
135
  <pre>
136
136
  <span class="ruby-comment cmt"># File lib/s33r/builder.rb, line 8</span>
137
137
  8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_insert_attributes</span>(<span class="ruby-identifier">attrs</span>, <span class="ruby-identifier">order</span>=[])
@@ -98,6 +98,7 @@ Class <a href="S33rException/MissingBucketName.html" class="link">S33r::S33rExce
98
98
  Class <a href="S33rException/MissingRequiredHeaders.html" class="link">S33r::S33rException::MissingRequiredHeaders</a><br />
99
99
  Class <a href="S33rException/MissingResource.html" class="link">S33r::S33rException::MissingResource</a><br />
100
100
  Class <a href="S33rException/S3FallenOver.html" class="link">S33r::S33rException::S3FallenOver</a><br />
101
+ Class <a href="S33rException/TryingToPutEmptyResource.html" class="link">S33r::S33rException::TryingToPutEmptyResource</a><br />
101
102
  Class <a href="S33rException/UnsupportedCannedACL.html" class="link">S33r::S33rException::UnsupportedCannedACL</a><br />
102
103
  Class <a href="S33rException/UnsupportedHTTPMethod.html" class="link">S33r::S33rException::UnsupportedHTTPMethod</a><br />
103
104
 
@@ -0,0 +1,117 @@
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: S33r::S33rException::TryingToPutEmptyResource</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">S33r::S33rException::TryingToPutEmptyResource</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/s33r/s33r_exception_rb.html">
59
+ lib/s33r/s33r_exception.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
+ Exception
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
+ Raised if you try to do a put with empty body
84
+ </p>
85
+
86
+ </div>
87
+
88
+
89
+ </div>
90
+
91
+
92
+ </div>
93
+
94
+
95
+ <!-- if includes -->
96
+
97
+ <div id="section">
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+ <!-- if method_list -->
107
+
108
+
109
+ </div>
110
+
111
+
112
+ <div id="validator-badges">
113
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
114
+ </div>
115
+
116
+ </body>
117
+ </html>
@@ -179,27 +179,27 @@ Returns nil if the ACL <a href="../../XML.html">XML</a> is nil.
179
179
  onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
180
180
  <div class="method-source-code" id="M000065-source">
181
181
  <pre>
182
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 34</span>
183
- 34: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">acl_xml</span>)
184
- 35: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">acl_xml</span>.<span class="ruby-identifier">nil?</span>
185
- 36:
186
- 37: <span class="ruby-identifier">acl_xml</span> = <span class="ruby-constant">S33r</span>.<span class="ruby-identifier">remove_namespace</span>(<span class="ruby-identifier">acl_xml</span>)
187
- 38: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">XML</span>.<span class="ruby-identifier">get_xml_doc</span>(<span class="ruby-identifier">acl_xml</span>)
188
- 39:
189
- 40: <span class="ruby-identifier">owner_xml</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//Owner'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
190
- 41: <span class="ruby-identifier">owner</span> = <span class="ruby-constant">CanonicalUser</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">owner_xml</span>)
191
- 42:
192
- 43: <span class="ruby-identifier">grants</span> = []
193
- 44: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//AccessControlList/Grant'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
194
- 45: <span class="ruby-identifier">grantee_xml</span> = <span class="ruby-identifier">g</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'Grantee'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
195
- 46: <span class="ruby-identifier">grantee</span> = <span class="ruby-constant">Grantee</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">grantee_xml</span>)
196
- 47: <span class="ruby-identifier">permission</span> = <span class="ruby-identifier">g</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'Permission'</span>)
197
- 48:
198
- 49: <span class="ruby-identifier">grants</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grantee</span>, <span class="ruby-identifier">permission</span>)
199
- 50: <span class="ruby-keyword kw">end</span>
200
- 51:
201
- 52: <span class="ruby-constant">ACLDoc</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">owner</span>, <span class="ruby-identifier">grants</span>)
202
- 53: <span class="ruby-keyword kw">end</span>
182
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 35</span>
183
+ 35: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">acl_xml</span>)
184
+ 36: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">acl_xml</span>.<span class="ruby-identifier">nil?</span>
185
+ 37:
186
+ 38: <span class="ruby-identifier">acl_xml</span> = <span class="ruby-constant">S33r</span>.<span class="ruby-identifier">remove_namespace</span>(<span class="ruby-identifier">acl_xml</span>)
187
+ 39: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">XML</span>.<span class="ruby-identifier">get_xml_doc</span>(<span class="ruby-identifier">acl_xml</span>)
188
+ 40:
189
+ 41: <span class="ruby-identifier">owner_xml</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//Owner'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
190
+ 42: <span class="ruby-identifier">owner</span> = <span class="ruby-constant">CanonicalUser</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">owner_xml</span>)
191
+ 43:
192
+ 44: <span class="ruby-identifier">grants</span> = []
193
+ 45: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//AccessControlList/Grant'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
194
+ 46: <span class="ruby-identifier">grantee_xml</span> = <span class="ruby-identifier">g</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'Grantee'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
195
+ 47: <span class="ruby-identifier">grantee</span> = <span class="ruby-constant">Grantee</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">grantee_xml</span>)
196
+ 48: <span class="ruby-identifier">permission</span> = <span class="ruby-identifier">g</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'Permission'</span>)
197
+ 49:
198
+ 50: <span class="ruby-identifier">grants</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grantee</span>, <span class="ruby-identifier">permission</span>)
199
+ 51: <span class="ruby-keyword kw">end</span>
200
+ 52:
201
+ 53: <span class="ruby-constant">ACLDoc</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">owner</span>, <span class="ruby-identifier">grants</span>)
202
+ 54: <span class="ruby-keyword kw">end</span>
203
203
  </pre>
204
204
  </div>
205
205
  </div>
@@ -223,11 +223,11 @@ instance
223
223
  onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
224
224
  <div class="method-source-code" id="M000064-source">
225
225
  <pre>
226
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 24</span>
227
- 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">owner</span>, <span class="ruby-identifier">grants</span>=[])
228
- 25: <span class="ruby-ivar">@grants</span> = <span class="ruby-identifier">grants</span>
229
- 26: <span class="ruby-ivar">@owner</span> = <span class="ruby-identifier">owner</span>
230
- 27: <span class="ruby-keyword kw">end</span>
226
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 25</span>
227
+ 25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">owner</span>, <span class="ruby-identifier">grants</span>=[])
228
+ 26: <span class="ruby-ivar">@grants</span> = <span class="ruby-identifier">grants</span>
229
+ 27: <span class="ruby-ivar">@owner</span> = <span class="ruby-identifier">owner</span>
230
+ 28: <span class="ruby-keyword kw">end</span>
231
231
  </pre>
232
232
  </div>
233
233
  </div>
@@ -255,15 +255,15 @@ Returns true if grant was added; false otherwise (grant already exists).
255
255
  onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
256
256
  <div class="method-source-code" id="M000067-source">
257
257
  <pre>
258
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 82</span>
259
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_grant</span>(<span class="ruby-identifier">grant</span>)
260
- 83: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@grants</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">grant</span>)
261
- 84: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
262
- 85: <span class="ruby-keyword kw">else</span>
263
- 86: <span class="ruby-ivar">@grants</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">grant</span>
264
- 87: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
265
- 88: <span class="ruby-keyword kw">end</span>
266
- 89: <span class="ruby-keyword kw">end</span>
258
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 83</span>
259
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_grant</span>(<span class="ruby-identifier">grant</span>)
260
+ 84: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@grants</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">grant</span>)
261
+ 85: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
262
+ 86: <span class="ruby-keyword kw">else</span>
263
+ 87: <span class="ruby-ivar">@grants</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">grant</span>
264
+ 88: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
265
+ 89: <span class="ruby-keyword kw">end</span>
266
+ 90: <span class="ruby-keyword kw">end</span>
267
267
  </pre>
268
268
  </div>
269
269
  </div>
@@ -290,15 +290,15 @@ Returns true if grants added, false otherwise (if already a log target).
290
290
  onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
291
291
  <div class="method-source-code" id="M000072-source">
292
292
  <pre>
293
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 132</span>
294
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_log_target_grants</span>
295
- 133: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">log_targetable?</span>
296
- 134: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
297
- 135: <span class="ruby-keyword kw">else</span>
298
- 136: <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">log_target_grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_grant</span>(<span class="ruby-identifier">g</span>) }
299
- 137: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
300
- 138: <span class="ruby-keyword kw">end</span>
301
- 139: <span class="ruby-keyword kw">end</span>
293
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 133</span>
294
+ 133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_log_target_grants</span>
295
+ 134: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">log_targetable?</span>
296
+ 135: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
297
+ 136: <span class="ruby-keyword kw">else</span>
298
+ 137: <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">log_target_grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_grant</span>(<span class="ruby-identifier">g</span>) }
299
+ 138: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
300
+ 139: <span class="ruby-keyword kw">end</span>
301
+ 140: <span class="ruby-keyword kw">end</span>
302
302
  </pre>
303
303
  </div>
304
304
  </div>
@@ -321,10 +321,10 @@ Add a public READ permission to this instance.
321
321
  onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
322
322
  <div class="method-source-code" id="M000070-source">
323
323
  <pre>
324
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 115</span>
325
- 115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_public_read_grant</span>
326
- 116: <span class="ruby-identifier">add_grant</span>(<span class="ruby-constant">Grant</span>.<span class="ruby-identifier">public_read_grant</span>)
327
- 117: <span class="ruby-keyword kw">end</span>
324
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 116</span>
325
+ 116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_public_read_grant</span>
326
+ 117: <span class="ruby-identifier">add_grant</span>(<span class="ruby-constant">Grant</span>.<span class="ruby-identifier">public_read_grant</span>)
327
+ 118: <span class="ruby-keyword kw">end</span>
328
328
  </pre>
329
329
  </div>
330
330
  </div>
@@ -347,12 +347,12 @@ Does the ACL make the associated resource available as a log target?
347
347
  onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
348
348
  <div class="method-source-code" id="M000071-source">
349
349
  <pre>
350
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 120</span>
351
- 120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_targetable?</span>
352
- 121: <span class="ruby-identifier">log_target_grants</span> = <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">log_target_grants</span>
353
- 122: <span class="ruby-identifier">log_target_grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">grants</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">g</span>) }
354
- 123: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
355
- 124: <span class="ruby-keyword kw">end</span>
350
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 121</span>
351
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_targetable?</span>
352
+ 122: <span class="ruby-identifier">log_target_grants</span> = <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">log_target_grants</span>
353
+ 123: <span class="ruby-identifier">log_target_grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">grants</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">g</span>) }
354
+ 124: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
355
+ 125: <span class="ruby-keyword kw">end</span>
356
356
  </pre>
357
357
  </div>
358
358
  </div>
@@ -376,14 +376,14 @@ href="Grant.html">Grant</a> object for :all_users with :read permission)
376
376
  onclick="toggleCode('M000069-source');return false;">[Source]</a></p>
377
377
  <div class="method-source-code" id="M000069-source">
378
378
  <pre>
379
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 106</span>
380
- 106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">public_readable?</span>
381
- 107: <span class="ruby-identifier">pr_grant</span> = <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">public_read_grant</span>
382
- 108: <span class="ruby-identifier">grants</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
383
- 109: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pr_grant</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">g</span>
384
- 110: <span class="ruby-keyword kw">end</span>
385
- 111: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
386
- 112: <span class="ruby-keyword kw">end</span>
379
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 107</span>
380
+ 107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">public_readable?</span>
381
+ 108: <span class="ruby-identifier">pr_grant</span> = <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">public_read_grant</span>
382
+ 109: <span class="ruby-identifier">grants</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
383
+ 110: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pr_grant</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">g</span>
384
+ 111: <span class="ruby-keyword kw">end</span>
385
+ 112: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
386
+ 113: <span class="ruby-keyword kw">end</span>
387
387
  </pre>
388
388
  </div>
389
389
  </div>
@@ -417,10 +417,10 @@ document.
417
417
  onclick="toggleCode('M000068-source');return false;">[Source]</a></p>
418
418
  <div class="method-source-code" id="M000068-source">
419
419
  <pre>
420
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 100</span>
421
- 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_grant</span>(<span class="ruby-identifier">grant</span>)
422
- 101: <span class="ruby-ivar">@grants</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">grant</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">g</span> }
423
- 102: <span class="ruby-keyword kw">end</span>
420
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 101</span>
421
+ 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_grant</span>(<span class="ruby-identifier">grant</span>)
422
+ 102: <span class="ruby-ivar">@grants</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">grant</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">g</span> }
423
+ 103: <span class="ruby-keyword kw">end</span>
424
424
  </pre>
425
425
  </div>
426
426
  </div>
@@ -451,12 +451,12 @@ to check whether a bucket can be used as a log target.
451
451
  onclick="toggleCode('M000073-source');return false;">[Source]</a></p>
452
452
  <div class="method-source-code" id="M000073-source">
453
453
  <pre>
454
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 149</span>
455
- 149: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_log_target_grants</span>
456
- 150: <span class="ruby-identifier">ok</span> = <span class="ruby-keyword kw">true</span>
457
- 151: <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">log_target_grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ok</span> = <span class="ruby-identifier">ok</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">remove_grant</span>(<span class="ruby-identifier">g</span>) }
458
- 152: <span class="ruby-identifier">ok</span>
459
- 153: <span class="ruby-keyword kw">end</span>
454
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 150</span>
455
+ 150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_log_target_grants</span>
456
+ 151: <span class="ruby-identifier">ok</span> = <span class="ruby-keyword kw">true</span>
457
+ 152: <span class="ruby-constant">Grant</span>.<span class="ruby-identifier">log_target_grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ok</span> = <span class="ruby-identifier">ok</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">remove_grant</span>(<span class="ruby-identifier">g</span>) }
458
+ 153: <span class="ruby-identifier">ok</span>
459
+ 154: <span class="ruby-keyword kw">end</span>
460
460
  </pre>
461
461
  </div>
462
462
  </div>
@@ -479,28 +479,28 @@ Generate AccessControlPolicy <a href="../../XML.html">XML</a> document.
479
479
  onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
480
480
  <div class="method-source-code" id="M000066-source">
481
481
  <pre>
482
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 56</span>
483
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_xml</span>
484
- 57: <span class="ruby-identifier">xml_str</span> = <span class="ruby-value str">&quot;&quot;</span>
485
- 58: <span class="ruby-identifier">xml</span> = <span class="ruby-constant">Builder</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMarkup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:target</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">xml_str</span>, <span class="ruby-identifier">:indent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
486
- 59:
487
- 60: <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">instruct!</span>
488
- 61:
489
- 62: <span class="ruby-comment cmt"># Access control policy XML.</span>
490
- 63: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">AccessControlPolicy</span>({<span class="ruby-value str">&quot;xmlns&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">RESPONSE_NAMESPACE_URI</span>}) {
491
- 64: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">Owner</span> {
492
- 65: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">ID</span> <span class="ruby-identifier">owner</span>.<span class="ruby-identifier">user_id</span>
493
- 66: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">DisplayName</span> <span class="ruby-identifier">owner</span>.<span class="ruby-identifier">display_name</span>
494
- 67: }
495
- 68: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">AccessControlList</span> {
496
- 69: <span class="ruby-identifier">grants</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">grant</span><span class="ruby-operator">|</span>
497
- 70: <span class="ruby-identifier">xml</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">grant</span>.<span class="ruby-identifier">to_xml</span>
498
- 71: <span class="ruby-keyword kw">end</span>
499
- 72: }
500
- 73: }
501
- 74:
502
- 75: <span class="ruby-identifier">xml_str</span>
503
- 76: <span class="ruby-keyword kw">end</span>
482
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 57</span>
483
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_xml</span>
484
+ 58: <span class="ruby-identifier">xml_str</span> = <span class="ruby-value str">&quot;&quot;</span>
485
+ 59: <span class="ruby-identifier">xml</span> = <span class="ruby-constant">Builder</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMarkup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:target</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">xml_str</span>, <span class="ruby-identifier">:indent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>)
486
+ 60:
487
+ 61: <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">instruct!</span>
488
+ 62:
489
+ 63: <span class="ruby-comment cmt"># Access control policy XML.</span>
490
+ 64: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">AccessControlPolicy</span>({<span class="ruby-value str">&quot;xmlns&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">RESPONSE_NAMESPACE_URI</span>}) {
491
+ 65: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">Owner</span> {
492
+ 66: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">ID</span> <span class="ruby-identifier">owner</span>.<span class="ruby-identifier">user_id</span>
493
+ 67: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">DisplayName</span> <span class="ruby-identifier">owner</span>.<span class="ruby-identifier">display_name</span>
494
+ 68: }
495
+ 69: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">AccessControlList</span> {
496
+ 70: <span class="ruby-identifier">grants</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">grant</span><span class="ruby-operator">|</span>
497
+ 71: <span class="ruby-identifier">xml</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">grant</span>.<span class="ruby-identifier">to_xml</span>
498
+ 72: <span class="ruby-keyword kw">end</span>
499
+ 73: }
500
+ 74: }
501
+ 75:
502
+ 76: <span class="ruby-identifier">xml_str</span>
503
+ 77: <span class="ruby-keyword kw">end</span>
504
504
  </pre>
505
505
  </div>
506
506
  </div>
@@ -143,11 +143,11 @@ An Amazon customer for the purposes of assigning permissions.
143
143
  onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
144
144
  <div class="method-source-code" id="M000063-source">
145
145
  <pre>
146
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 289</span>
147
- 289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">email_address</span>)
148
- 290: <span class="ruby-ivar">@grantee_type</span> = <span class="ruby-constant">GRANTEE_TYPES</span>[<span class="ruby-identifier">:amazon_customer</span>]
149
- 291: <span class="ruby-ivar">@email_address</span> = <span class="ruby-identifier">email_address</span>
150
- 292: <span class="ruby-keyword kw">end</span>
146
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 290</span>
147
+ 290: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">email_address</span>)
148
+ 291: <span class="ruby-ivar">@grantee_type</span> = <span class="ruby-constant">GRANTEE_TYPES</span>[<span class="ruby-identifier">:amazon_customer</span>]
149
+ 292: <span class="ruby-ivar">@email_address</span> = <span class="ruby-identifier">email_address</span>
150
+ 293: <span class="ruby-keyword kw">end</span>
151
151
  </pre>
152
152
  </div>
153
153
  </div>
@@ -154,12 +154,12 @@ represent users this way.)
154
154
  onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
155
155
  <div class="method-source-code" id="M000062-source">
156
156
  <pre>
157
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 312</span>
158
- 312: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">user_xml_doc</span>)
159
- 313: <span class="ruby-identifier">user_id</span> = <span class="ruby-identifier">user_xml_doc</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'ID'</span>)
160
- 314: <span class="ruby-identifier">display_name</span> = <span class="ruby-identifier">user_xml_doc</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'DisplayName'</span>)
161
- 315: <span class="ruby-identifier">new</span>(<span class="ruby-identifier">user_id</span>, <span class="ruby-identifier">display_name</span>)
162
- 316: <span class="ruby-keyword kw">end</span>
157
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 313</span>
158
+ 313: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_xml</span>(<span class="ruby-identifier">user_xml_doc</span>)
159
+ 314: <span class="ruby-identifier">user_id</span> = <span class="ruby-identifier">user_xml_doc</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'ID'</span>)
160
+ 315: <span class="ruby-identifier">display_name</span> = <span class="ruby-identifier">user_xml_doc</span>.<span class="ruby-identifier">xget</span>(<span class="ruby-value str">'DisplayName'</span>)
161
+ 316: <span class="ruby-identifier">new</span>(<span class="ruby-identifier">user_id</span>, <span class="ruby-identifier">display_name</span>)
162
+ 317: <span class="ruby-keyword kw">end</span>
163
163
  </pre>
164
164
  </div>
165
165
  </div>
@@ -186,12 +186,12 @@ or an ACL &lt;<a href="Grantee.html">Grantee</a>&gt; element.
186
186
  onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
187
187
  <div class="method-source-code" id="M000061-source">
188
188
  <pre>
189
- <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 303</span>
190
- 303: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">user_id</span>, <span class="ruby-identifier">display_name</span>)
191
- 304: <span class="ruby-ivar">@grantee_type</span> = <span class="ruby-constant">GRANTEE_TYPES</span>[<span class="ruby-identifier">:canonical_user</span>]
192
- 305: <span class="ruby-ivar">@user_id</span> = <span class="ruby-identifier">user_id</span>
193
- 306: <span class="ruby-ivar">@display_name</span> = <span class="ruby-identifier">display_name</span>
194
- 307: <span class="ruby-keyword kw">end</span>
189
+ <span class="ruby-comment cmt"># File lib/s33r/s3_acl.rb, line 304</span>
190
+ 304: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">user_id</span>, <span class="ruby-identifier">display_name</span>)
191
+ 305: <span class="ruby-ivar">@grantee_type</span> = <span class="ruby-constant">GRANTEE_TYPES</span>[<span class="ruby-identifier">:canonical_user</span>]
192
+ 306: <span class="ruby-ivar">@user_id</span> = <span class="ruby-identifier">user_id</span>
193
+ 307: <span class="ruby-ivar">@display_name</span> = <span class="ruby-identifier">display_name</span>
194
+ 308: <span class="ruby-keyword kw">end</span>
195
195
  </pre>
196
196
  </div>
197
197
  </div>