s33r 0.4.2 → 0.5

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 (114) hide show
  1. data/examples/cli/instant_download_server.rb +88 -0
  2. data/examples/cli/s3cli.rb +31 -52
  3. data/examples/cli/simple.rb +16 -6
  4. data/examples/fores33r/app/controllers/browser_controller.rb +12 -10
  5. data/examples/fores33r/app/helpers/application_helper.rb +2 -1
  6. data/examples/fores33r/app/views/browser/_upload.rhtml +1 -1
  7. data/examples/fores33r/app/views/browser/index.rhtml +4 -4
  8. data/examples/fores33r/config/environment.rb +5 -3
  9. data/examples/fores33r/log/development.log +2259 -0
  10. data/examples/fores33r/log/mongrel.log +59 -0
  11. data/examples/s3.yaml +2 -6
  12. data/lib/s33r/bucket.rb +103 -0
  13. data/lib/s33r/bucket_listing.rb +33 -76
  14. data/lib/s33r/client.rb +305 -446
  15. data/lib/s33r/networking.rb +197 -0
  16. data/lib/s33r/s33r_exception.rb +29 -18
  17. data/lib/s33r/s33r_http.rb +36 -18
  18. data/lib/s33r/s3_acl.rb +32 -52
  19. data/lib/s33r/s3_logging.rb +117 -0
  20. data/lib/s33r/s3_obj.rb +124 -69
  21. data/lib/s33r/utility.rb +447 -0
  22. data/test/cases/spec_acl.rb +10 -40
  23. data/test/cases/spec_bucket_listing.rb +12 -32
  24. data/test/cases/spec_logging.rb +47 -0
  25. data/test/cases/spec_networking.rb +11 -0
  26. data/test/cases/spec_s3_object.rb +44 -5
  27. data/test/cases/spec_utility.rb +264 -0
  28. data/test/files/acl.xml +0 -6
  29. data/test/files/config.yaml +5 -0
  30. data/test/files/logging_status_disabled.xml +3 -0
  31. data/test/files/logging_status_enabled.xml +7 -0
  32. data/test/test_setup.rb +7 -2
  33. metadata +16 -94
  34. data/examples/cli/acl_x.rb +0 -41
  35. data/examples/cli/logging_x.rb +0 -20
  36. data/examples/fores33r/README +0 -183
  37. data/html/classes/MIME.html +0 -120
  38. data/html/classes/MIME/InvalidContentType.html +0 -119
  39. data/html/classes/MIME/Type.html +0 -1173
  40. data/html/classes/MIME/Types.html +0 -566
  41. data/html/classes/Net.html +0 -108
  42. data/html/classes/Net/HTTPGenericRequest.html +0 -233
  43. data/html/classes/Net/HTTPResponse.html +0 -271
  44. data/html/classes/S33r.html +0 -986
  45. data/html/classes/S33r/BucketListing.html +0 -434
  46. data/html/classes/S33r/Client.html +0 -1575
  47. data/html/classes/S33r/LoggingResource.html +0 -222
  48. data/html/classes/S33r/NamedBucket.html +0 -693
  49. data/html/classes/S33r/OrderlyXmlMarkup.html +0 -165
  50. data/html/classes/S33r/S33rException.html +0 -124
  51. data/html/classes/S33r/S33rException/BucketListingMaxKeysError.html +0 -111
  52. data/html/classes/S33r/S33rException/BucketNotLogTargetable.html +0 -119
  53. data/html/classes/S33r/S33rException/InvalidBucketListing.html +0 -111
  54. data/html/classes/S33r/S33rException/InvalidPermission.html +0 -111
  55. data/html/classes/S33r/S33rException/InvalidS3GroupType.html +0 -111
  56. data/html/classes/S33r/S33rException/MalformedBucketName.html +0 -111
  57. data/html/classes/S33r/S33rException/MethodNotAvailable.html +0 -111
  58. data/html/classes/S33r/S33rException/MissingBucketName.html +0 -111
  59. data/html/classes/S33r/S33rException/MissingRequiredHeaders.html +0 -111
  60. data/html/classes/S33r/S33rException/MissingResource.html +0 -111
  61. data/html/classes/S33r/S33rException/S3FallenOver.html +0 -111
  62. data/html/classes/S33r/S33rException/TryingToPutEmptyResource.html +0 -117
  63. data/html/classes/S33r/S33rException/UnsupportedCannedACL.html +0 -111
  64. data/html/classes/S33r/S33rException/UnsupportedHTTPMethod.html +0 -111
  65. data/html/classes/S33r/S3ACL.html +0 -125
  66. data/html/classes/S33r/S3ACL/ACLDoc.html +0 -521
  67. data/html/classes/S33r/S3ACL/AmazonCustomer.html +0 -168
  68. data/html/classes/S33r/S3ACL/CanonicalUser.html +0 -212
  69. data/html/classes/S33r/S3ACL/Grant.html +0 -403
  70. data/html/classes/S33r/S3ACL/Grantee.html +0 -239
  71. data/html/classes/S33r/S3ACL/Group.html +0 -178
  72. data/html/classes/S33r/S3Object.html +0 -618
  73. data/html/classes/S33r/Sync.html +0 -152
  74. data/html/classes/XML.html +0 -202
  75. data/html/classes/XML/Document.html +0 -125
  76. data/html/classes/XML/Node.html +0 -124
  77. data/html/created.rid +0 -1
  78. data/html/files/CHANGELOG.html +0 -107
  79. data/html/files/MIT-LICENSE.html +0 -129
  80. data/html/files/README_txt.html +0 -259
  81. data/html/files/lib/s33r/bucket_listing_rb.html +0 -101
  82. data/html/files/lib/s33r/builder_rb.html +0 -108
  83. data/html/files/lib/s33r/client_rb.html +0 -111
  84. data/html/files/lib/s33r/core_rb.html +0 -113
  85. data/html/files/lib/s33r/libxml_extensions_rb.html +0 -101
  86. data/html/files/lib/s33r/libxml_loader_rb.html +0 -109
  87. data/html/files/lib/s33r/logging_rb.html +0 -108
  88. data/html/files/lib/s33r/mimetypes_rb.html +0 -120
  89. data/html/files/lib/s33r/named_bucket_rb.html +0 -101
  90. data/html/files/lib/s33r/s33r_exception_rb.html +0 -101
  91. data/html/files/lib/s33r/s33r_http_rb.html +0 -108
  92. data/html/files/lib/s33r/s3_acl_rb.html +0 -108
  93. data/html/files/lib/s33r/s3_obj_rb.html +0 -108
  94. data/html/files/lib/s33r/sync_rb.html +0 -101
  95. data/html/files/lib/s33r_rb.html +0 -101
  96. data/html/fr_class_index.html +0 -66
  97. data/html/fr_file_index.html +0 -44
  98. data/html/fr_method_index.html +0 -183
  99. data/html/index.html +0 -24
  100. data/html/rdoc-style.css +0 -208
  101. data/lib/s33r/core.rb +0 -296
  102. data/lib/s33r/logging.rb +0 -43
  103. data/lib/s33r/named_bucket.rb +0 -148
  104. data/lib/s33r/sync.rb +0 -13
  105. data/test/cases/spec_all_buckets.rb +0 -28
  106. data/test/cases/spec_client.rb +0 -101
  107. data/test/cases/spec_core.rb +0 -128
  108. data/test/cases/spec_namedbucket.rb +0 -46
  109. data/test/cases/spec_sync.rb +0 -34
  110. data/test/files/all_buckets.xml +0 -21
  111. data/test/files/client_config.yml +0 -5
  112. data/test/files/namedbucket_config.yml +0 -8
  113. data/test/files/namedbucket_config2.yml +0 -8
  114. data/test/test_bucket_setup.rb +0 -41
@@ -1,222 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: S33r::LoggingResource</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::LoggingResource</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/s33r/logging_rb.html">
59
- lib/s33r/logging.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
- For manipulating logging directives on resources (see <a
84
- href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/LoggingHowTo.html">docs.amazonwebservices.com/AmazonS3/2006-03-01/LoggingHowTo.html</a>).
85
- </p>
86
- <p>
87
- Creating a <a href="LoggingResource.html">LoggingResource</a> instance
88
- using new and no arguments will generate a &quot;blank&quot; instance; this
89
- can be put to the ?logging URL for a resource to remove logging from it.
90
- </p>
91
-
92
- </div>
93
-
94
-
95
- </div>
96
-
97
- <div id="method-list">
98
- <h3 class="section-bar">Methods</h3>
99
-
100
- <div class="name-list">
101
- <a href="#M000085">new</a>&nbsp;&nbsp;
102
- <a href="#M000086">to_xml</a>&nbsp;&nbsp;
103
- </div>
104
- </div>
105
-
106
- </div>
107
-
108
-
109
- <!-- if includes -->
110
-
111
- <div id="section">
112
-
113
-
114
-
115
-
116
-
117
- <div id="attribute-list">
118
- <h3 class="section-bar">Attributes</h3>
119
-
120
- <div class="name-list">
121
- <table>
122
- <tr class="top-aligned-row context-row">
123
- <td class="context-item-name">log_prefix</td>
124
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
125
- <td class="context-item-desc"></td>
126
- </tr>
127
- <tr class="top-aligned-row context-row">
128
- <td class="context-item-name">log_target</td>
129
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
130
- <td class="context-item-desc"></td>
131
- </tr>
132
- </table>
133
- </div>
134
- </div>
135
-
136
-
137
-
138
- <!-- if method_list -->
139
- <div id="methods">
140
- <h3 class="section-bar">Public Class methods</h3>
141
-
142
- <div id="method-M000085" class="method-detail">
143
- <a name="M000085"></a>
144
-
145
- <div class="method-heading">
146
- <a href="#M000085" class="method-signature">
147
- <span class="method-name">new</span><span class="method-args">(log_target=nil, log_prefix=nil)</span>
148
- </a>
149
- </div>
150
-
151
- <div class="method-description">
152
- <p><a class="source-toggle" href="#"
153
- onclick="toggleCode('M000085-source');return false;">[Source]</a></p>
154
- <div class="method-source-code" id="M000085-source">
155
- <pre>
156
- <span class="ruby-comment cmt"># File lib/s33r/logging.rb, line 14</span>
157
- 14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">log_target</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">log_prefix</span>=<span class="ruby-keyword kw">nil</span>)
158
- 15: <span class="ruby-ivar">@log_target</span> = <span class="ruby-identifier">log_target</span>
159
- 16: <span class="ruby-ivar">@log_prefix</span> = <span class="ruby-identifier">log_prefix</span>
160
- 17: <span class="ruby-keyword kw">end</span>
161
- </pre>
162
- </div>
163
- </div>
164
- </div>
165
-
166
- <h3 class="section-bar">Public Instance methods</h3>
167
-
168
- <div id="method-M000086" class="method-detail">
169
- <a name="M000086"></a>
170
-
171
- <div class="method-heading">
172
- <a href="#M000086" class="method-signature">
173
- <span class="method-name">to_xml</span><span class="method-args">()</span>
174
- </a>
175
- </div>
176
-
177
- <div class="method-description">
178
- <p>
179
- Generate a BucketLoggingStatus <a href="../XML.html">XML</a> document for
180
- putting to the ?logging URL for a resource.
181
- </p>
182
- <p><a class="source-toggle" href="#"
183
- onclick="toggleCode('M000086-source');return false;">[Source]</a></p>
184
- <div class="method-source-code" id="M000086-source">
185
- <pre>
186
- <span class="ruby-comment cmt"># File lib/s33r/logging.rb, line 23</span>
187
- 23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_xml</span>
188
- 24: <span class="ruby-identifier">xml_str</span> = <span class="ruby-value str">&quot;&quot;</span>
189
- 25: <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>)
190
- 26:
191
- 27: <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">instruct!</span>
192
- 28:
193
- 29: <span class="ruby-comment cmt"># BucketLoggingStatus XML.</span>
194
- 30: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">BucketLoggingStatus</span>({<span class="ruby-value str">&quot;xmlns&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">RESPONSE_NAMESPACE_URI</span>}) {
195
- 31: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@log_target</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@log_prefix</span>.<span class="ruby-identifier">nil?</span>
196
- 32: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">LoggingEnabled</span> {
197
- 33: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">TargetBucket</span> <span class="ruby-ivar">@log_target</span>
198
- 34: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">TargetPrefix</span> <span class="ruby-ivar">@log_prefix</span>
199
- 35: }
200
- 36: <span class="ruby-keyword kw">end</span>
201
- 37: }
202
- 38:
203
- 39: <span class="ruby-identifier">xml_str</span>
204
- 40: <span class="ruby-keyword kw">end</span>
205
- </pre>
206
- </div>
207
- </div>
208
- </div>
209
-
210
-
211
- </div>
212
-
213
-
214
- </div>
215
-
216
-
217
- <div id="validator-badges">
218
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
219
- </div>
220
-
221
- </body>
222
- </html>
@@ -1,693 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: S33r::NamedBucket</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::NamedBucket</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/s33r/named_bucket_rb.html">
59
- lib/s33r/named_bucket.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
- <a href="Client.html">
69
- Client
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- Wraps the <a href="Client.html">S33r::Client</a> class to make it more
86
- convenient for use with a single bucket.
87
- </p>
88
-
89
- </div>
90
-
91
-
92
- </div>
93
-
94
- <div id="method-list">
95
- <h3 class="section-bar">Methods</h3>
96
-
97
- <div class="name-list">
98
- <a href="#M000102">[]</a>&nbsp;&nbsp;
99
- <a href="#M000113">delete</a>&nbsp;&nbsp;
100
- <a href="#M000106">destroy</a>&nbsp;&nbsp;
101
- <a href="#M000108">each_object</a>&nbsp;&nbsp;
102
- <a href="#M000105">exists?</a>&nbsp;&nbsp;
103
- <a href="#M000103">get_raw</a>&nbsp;&nbsp;
104
- <a href="#M000098">init</a>&nbsp;&nbsp;
105
- <a href="#M000109">key_exists?</a>&nbsp;&nbsp;
106
- <a href="#M000107">keys</a>&nbsp;&nbsp;
107
- <a href="#M000104">listing</a>&nbsp;&nbsp;
108
- <a href="#M000099">new</a>&nbsp;&nbsp;
109
- <a href="#M000100">public_contents?</a>&nbsp;&nbsp;
110
- <a href="#M000111">put_file</a>&nbsp;&nbsp;
111
- <a href="#M000112">put_stream</a>&nbsp;&nbsp;
112
- <a href="#M000110">put_text</a>&nbsp;&nbsp;
113
- <a href="#M000114">s3_authenticated_url</a>&nbsp;&nbsp;
114
- <a href="#M000101">strict?</a>&nbsp;&nbsp;
115
- </div>
116
- </div>
117
-
118
- </div>
119
-
120
-
121
- <!-- if includes -->
122
-
123
- <div id="section">
124
-
125
-
126
-
127
-
128
-
129
- <div id="attribute-list">
130
- <h3 class="section-bar">Attributes</h3>
131
-
132
- <div class="name-list">
133
- <table>
134
- <tr class="top-aligned-row context-row">
135
- <td class="context-item-name">dump_requests</td>
136
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
137
- <td class="context-item-desc"></td>
138
- </tr>
139
- <tr class="top-aligned-row context-row">
140
- <td class="context-item-name">name</td>
141
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
142
- <td class="context-item-desc"></td>
143
- </tr>
144
- <tr class="top-aligned-row context-row">
145
- <td class="context-item-name">public_contents</td>
146
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
147
- <td class="context-item-desc"></td>
148
- </tr>
149
- <tr class="top-aligned-row context-row">
150
- <td class="context-item-name">strict</td>
151
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
152
- <td class="context-item-desc"></td>
153
- </tr>
154
- </table>
155
- </div>
156
- </div>
157
-
158
-
159
-
160
- <!-- if method_list -->
161
- <div id="methods">
162
- <h3 class="section-bar">Public Class methods</h3>
163
-
164
- <div id="method-M000098" class="method-detail">
165
- <a name="M000098"></a>
166
-
167
- <div class="method-heading">
168
- <a href="#M000098" class="method-signature">
169
- <span class="method-name">init</span><span class="method-args">(config_file)</span>
170
- </a>
171
- </div>
172
-
173
- <div class="method-description">
174
- <p>
175
- Initialize an instance from a config_file. The config. file can include a
176
- separate <tt>options</tt> section specifying options specific to <a
177
- href="NamedBucket.html">NamedBucket</a> instances (see the initialize
178
- method for more details). Other options are as for <a
179
- href="Client.html#M000117">S33r::Client.init</a>.
180
- </p>
181
- <p><a class="source-toggle" href="#"
182
- onclick="toggleCode('M000098-source');return false;">[Source]</a></p>
183
- <div class="method-source-code" id="M000098-source">
184
- <pre>
185
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 17</span>
186
- 17: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">init</span>(<span class="ruby-identifier">config_file</span>)
187
- 18: <span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span> = <span class="ruby-keyword kw">super</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">load_config</span>(<span class="ruby-identifier">config_file</span>)
188
- 19: <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
189
- 20: <span class="ruby-keyword kw">end</span>
190
- </pre>
191
- </div>
192
- </div>
193
- </div>
194
-
195
- <div id="method-M000099" class="method-detail">
196
- <a name="M000099"></a>
197
-
198
- <div class="method-heading">
199
- <a href="#M000099" class="method-signature">
200
- <span class="method-name">new</span><span class="method-args">(aws_access_key, aws_secret_access_key, options={}) {|self if block_given?| ...}</span>
201
- </a>
202
- </div>
203
-
204
- <div class="method-description">
205
- <p>
206
- Initialize a <a href="NamedBucket.html">NamedBucket</a> instance.
207
- </p>
208
- <p>
209
- <tt>options</tt> is a hash of options for this instance:
210
- </p>
211
- <ul>
212
- <li><tt>:default_bucket =&gt; &#8216;xxxx&#8217;</tt>: name of the bucket this
213
- client is attached to.
214
-
215
- </li>
216
- <li><tt>:public_contents =&gt; true</tt>: all items put into bucket are made
217
- public (can be overridden per request).
218
-
219
- </li>
220
- <li><tt>:strict =&gt; true</tt>: check whether the bucket exists before
221
- attempting to initialize; initialization # fails if the bucket does not
222
- exist
223
-
224
- </li>
225
- </ul>
226
- <p><a class="source-toggle" href="#"
227
- onclick="toggleCode('M000099-source');return false;">[Source]</a></p>
228
- <div class="method-source-code" id="M000099-source">
229
- <pre>
230
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 29</span>
231
- 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>={}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
232
- 30: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
233
- 31:
234
- 32: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:default_bucket</span>]
235
- 33: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@name</span>.<span class="ruby-identifier">nil?</span>
236
- 34: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">MissingBucketName</span>, <span class="ruby-value str">&quot;NamedBucket cannot be initialised without specifying\
237
- 35: a :default_bucket option&quot;</span>
238
- 36: <span class="ruby-keyword kw">end</span>
239
- 37:
240
- 38: <span class="ruby-comment cmt"># all content inside the bucket should be created as public-read</span>
241
- 39: <span class="ruby-ivar">@public_contents</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:public_contents</span>])
242
- 40: <span class="ruby-ivar">@client_headers</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">canned_acl_header</span>(<span class="ruby-value str">'public-read'</span>)) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@public_contents</span>
243
- 41:
244
- 42: <span class="ruby-ivar">@strict</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:strict</span>])
245
- 43: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@strict</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-ivar">@name</span>)
246
- 44: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">MissingResource</span>, <span class="ruby-node">&quot;Non-existent bucket #{@bucket_name} specified&quot;</span>
247
- 45: <span class="ruby-keyword kw">end</span>
248
- 46:
249
- 47: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
250
- 48: <span class="ruby-keyword kw">end</span>
251
- </pre>
252
- </div>
253
- </div>
254
- </div>
255
-
256
- <h3 class="section-bar">Public Instance methods</h3>
257
-
258
- <div id="method-M000102" class="method-detail">
259
- <a name="M000102"></a>
260
-
261
- <div class="method-heading">
262
- <a href="#M000102" class="method-signature">
263
- <span class="method-name">[]</span><span class="method-args">(key, eager=false)</span>
264
- </a>
265
- </div>
266
-
267
- <div class="method-description">
268
- <p>
269
- Get a single object from a bucket as an <a
270
- href="S3Object.html">S3Object</a>.
271
- </p>
272
- <p>
273
- To get a bare object (with no content):
274
- </p>
275
- <pre>
276
- bucket['key']
277
- </pre>
278
- <p>
279
- To get the object and load its content:
280
- </p>
281
- <pre>
282
- bucket['key', :load]
283
- </pre>
284
- <p><a class="source-toggle" href="#"
285
- onclick="toggleCode('M000102-source');return false;">[Source]</a></p>
286
- <div class="method-source-code" id="M000102-source">
287
- <pre>
288
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 69</span>
289
- 69: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">eager</span>=<span class="ruby-keyword kw">false</span>)
290
- 70: <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">contents</span>[<span class="ruby-identifier">key</span>]
291
- 71: <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">named_bucket</span> = <span class="ruby-keyword kw">self</span>
292
- 72: <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">load</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">:load</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">eager</span>
293
- 73: <span class="ruby-identifier">obj</span>
294
- 74: <span class="ruby-keyword kw">end</span>
295
- </pre>
296
- </div>
297
- </div>
298
- </div>
299
-
300
- <div id="method-M000113" class="method-detail">
301
- <a name="M000113"></a>
302
-
303
- <div class="method-heading">
304
- <a href="#M000113" class="method-signature">
305
- <span class="method-name">delete</span><span class="method-args">(key, headers={})</span>
306
- </a>
307
- </div>
308
-
309
- <div class="method-description">
310
- <p>
311
- Delete an object from the bucket. NB S3 doesn&#8217;t discriminate between
312
- successfully deleting a key and trying to delete a non-existent key (both
313
- return a 204). If you want to test for existence first, use <a
314
- href="NamedBucket.html#M000109">key_exists?</a>.
315
- </p>
316
- <p><a class="source-toggle" href="#"
317
- onclick="toggleCode('M000113-source');return false;">[Source]</a></p>
318
- <div class="method-source-code" id="M000113-source">
319
- <pre>
320
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 136</span>
321
- 136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">headers</span>={})
322
- 137: <span class="ruby-identifier">delete_resource</span>(<span class="ruby-ivar">@name</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">headers</span>)
323
- 138: <span class="ruby-keyword kw">end</span>
324
- </pre>
325
- </div>
326
- </div>
327
- </div>
328
-
329
- <div id="method-M000106" class="method-detail">
330
- <a name="M000106"></a>
331
-
332
- <div class="method-heading">
333
- <a href="#M000106" class="method-signature">
334
- <span class="method-name">destroy</span><span class="method-args">(headers={}, options={})</span>
335
- </a>
336
- </div>
337
-
338
- <div class="method-description">
339
- <p>
340
- Delete the bucket.
341
- </p>
342
- <p><a class="source-toggle" href="#"
343
- onclick="toggleCode('M000106-source');return false;">[Source]</a></p>
344
- <div class="method-source-code" id="M000106-source">
345
- <pre>
346
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 94</span>
347
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">destroy</span>(<span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
348
- 95: <span class="ruby-identifier">delete_bucket</span>(<span class="ruby-ivar">@name</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">options</span>)
349
- 96: <span class="ruby-keyword kw">end</span>
350
- </pre>
351
- </div>
352
- </div>
353
- </div>
354
-
355
- <div id="method-M000108" class="method-detail">
356
- <a name="M000108"></a>
357
-
358
- <div class="method-heading">
359
- <a href="#M000108" class="method-signature">
360
- <span class="method-name">each_object</span><span class="method-args">() {|obj| ...}</span>
361
- </a>
362
- </div>
363
-
364
- <div class="method-description">
365
- <p>
366
- List content of the bucket, and attach each item to this <a
367
- href="NamedBucket.html">NamedBucket</a> instance as it is yielded (to
368
- enable easier manipulation directly from the <a
369
- href="S3Object.html">S3Object</a>). Note that the objects are incomplete,
370
- as the data associated with them has not been &quot;got&quot; from S3 yet.
371
- </p>
372
- <p><a class="source-toggle" href="#"
373
- onclick="toggleCode('M000108-source');return false;">[Source]</a></p>
374
- <div class="method-source-code" id="M000108-source">
375
- <pre>
376
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 107</span>
377
- 107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_object</span>
378
- 108: <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">contents</span>.<span class="ruby-identifier">each_value</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">obj</span><span class="ruby-operator">|</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">named_bucket</span> = <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">obj</span> }
379
- 109: <span class="ruby-keyword kw">end</span>
380
- </pre>
381
- </div>
382
- </div>
383
- </div>
384
-
385
- <div id="method-M000105" class="method-detail">
386
- <a name="M000105"></a>
387
-
388
- <div class="method-heading">
389
- <a href="#M000105" class="method-signature">
390
- <span class="method-name">exists?</span><span class="method-args">()</span>
391
- </a>
392
- </div>
393
-
394
- <div class="method-description">
395
- <p>
396
- Does this bucket exist? Returns true if the bucket this <a
397
- href="NamedBucket.html">NamedBucket</a> is mapped to exists.
398
- </p>
399
- <p><a class="source-toggle" href="#"
400
- onclick="toggleCode('M000105-source');return false;">[Source]</a></p>
401
- <div class="method-source-code" id="M000105-source">
402
- <pre>
403
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 89</span>
404
- 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exists?</span>
405
- 90: <span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-ivar">@name</span>)
406
- 91: <span class="ruby-keyword kw">end</span>
407
- </pre>
408
- </div>
409
- </div>
410
- </div>
411
-
412
- <div id="method-M000103" class="method-detail">
413
- <a name="M000103"></a>
414
-
415
- <div class="method-heading">
416
- <a href="#M000103" class="method-signature">
417
- <span class="method-name">get_raw</span><span class="method-args">(key, headers={})</span>
418
- </a>
419
- </div>
420
-
421
- <div class="method-description">
422
- <p>
423
- Get a raw response for a key inside the bucket.
424
- </p>
425
- <p><a class="source-toggle" href="#"
426
- onclick="toggleCode('M000103-source');return false;">[Source]</a></p>
427
- <div class="method-source-code" id="M000103-source">
428
- <pre>
429
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 77</span>
430
- 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_raw</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">headers</span>={})
431
- 78: <span class="ruby-identifier">get_resource</span>(<span class="ruby-ivar">@name</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">headers</span>)
432
- 79: <span class="ruby-keyword kw">end</span>
433
- </pre>
434
- </div>
435
- </div>
436
- </div>
437
-
438
- <div id="method-M000109" class="method-detail">
439
- <a name="M000109"></a>
440
-
441
- <div class="method-heading">
442
- <a href="#M000109" class="method-signature">
443
- <span class="method-name">key_exists?</span><span class="method-args">(key)</span>
444
- </a>
445
- </div>
446
-
447
- <div class="method-description">
448
- <p>
449
- Does the given key exist in the bucket? Returns boolean
450
- </p>
451
- <p><a class="source-toggle" href="#"
452
- onclick="toggleCode('M000109-source');return false;">[Source]</a></p>
453
- <div class="method-source-code" id="M000109-source">
454
- <pre>
455
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 113</span>
456
- 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">key_exists?</span>(<span class="ruby-identifier">key</span>)
457
- 114: <span class="ruby-identifier">resource_exists?</span>(<span class="ruby-ivar">@name</span>, <span class="ruby-identifier">key</span>)
458
- 115: <span class="ruby-keyword kw">end</span>
459
- </pre>
460
- </div>
461
- </div>
462
- </div>
463
-
464
- <div id="method-M000107" class="method-detail">
465
- <a name="M000107"></a>
466
-
467
- <div class="method-heading">
468
- <a href="#M000107" class="method-signature">
469
- <span class="method-name">keys</span><span class="method-args">()</span>
470
- </a>
471
- </div>
472
-
473
- <div class="method-description">
474
- <p>
475
- Get a pretty list of the keys in the bucket.
476
- </p>
477
- <p><a class="source-toggle" href="#"
478
- onclick="toggleCode('M000107-source');return false;">[Source]</a></p>
479
- <div class="method-source-code" id="M000107-source">
480
- <pre>
481
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 99</span>
482
- 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys</span>
483
- 100: <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">pretty</span>
484
- 101: <span class="ruby-keyword kw">end</span>
485
- </pre>
486
- </div>
487
- </div>
488
- </div>
489
-
490
- <div id="method-M000104" class="method-detail">
491
- <a name="M000104"></a>
492
-
493
- <div class="method-heading">
494
- <a href="#M000104" class="method-signature">
495
- <span class="method-name">listing</span><span class="method-args">()</span>
496
- </a>
497
- </div>
498
-
499
- <div class="method-description">
500
- <p>
501
- Get a <a href="BucketListing.html">BucketListing</a> instance for the
502
- content of this bucket. Uses the <a
503
- href="Client.html#M000123">Client.list_bucket</a> method to get the
504
- listing.
505
- </p>
506
- <p><a class="source-toggle" href="#"
507
- onclick="toggleCode('M000104-source');return false;">[Source]</a></p>
508
- <div class="method-source-code" id="M000104-source">
509
- <pre>
510
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 83</span>
511
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listing</span>
512
- 84: <span class="ruby-identifier">list_bucket</span>(<span class="ruby-ivar">@name</span>)[<span class="ruby-value">1</span>]
513
- 85: <span class="ruby-keyword kw">end</span>
514
- </pre>
515
- </div>
516
- </div>
517
- </div>
518
-
519
- <div id="method-M000100" class="method-detail">
520
- <a name="M000100"></a>
521
-
522
- <div class="method-heading">
523
- <a href="#M000100" class="method-signature">
524
- <span class="method-name">public_contents?</span><span class="method-args">()</span>
525
- </a>
526
- </div>
527
-
528
- <div class="method-description">
529
- <p>
530
- Are all objects added to this bucket made public by default?
531
- </p>
532
- <p><a class="source-toggle" href="#"
533
- onclick="toggleCode('M000100-source');return false;">[Source]</a></p>
534
- <div class="method-source-code" id="M000100-source">
535
- <pre>
536
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 51</span>
537
- 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">public_contents?</span>
538
- 52: <span class="ruby-ivar">@public_contents</span>
539
- 53: <span class="ruby-keyword kw">end</span>
540
- </pre>
541
- </div>
542
- </div>
543
- </div>
544
-
545
- <div id="method-M000111" class="method-detail">
546
- <a name="M000111"></a>
547
-
548
- <div class="method-heading">
549
- <a href="#M000111" class="method-signature">
550
- <span class="method-name">put_file</span><span class="method-args">(filename, resource_key=nil, headers={}, options={})</span>
551
- </a>
552
- </div>
553
-
554
- <div class="method-description">
555
- <p>
556
- Put a file into the bucket.
557
- </p>
558
- <p><a class="source-toggle" href="#"
559
- onclick="toggleCode('M000111-source');return false;">[Source]</a></p>
560
- <div class="method-source-code" id="M000111-source">
561
- <pre>
562
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 123</span>
563
- 123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
564
- 124: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-ivar">@name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">options</span>)
565
- 125: <span class="ruby-keyword kw">end</span>
566
- </pre>
567
- </div>
568
- </div>
569
- </div>
570
-
571
- <div id="method-M000112" class="method-detail">
572
- <a name="M000112"></a>
573
-
574
- <div class="method-heading">
575
- <a href="#M000112" class="method-signature">
576
- <span class="method-name">put_stream</span><span class="method-args">(data, resource_key, headers={})</span>
577
- </a>
578
- </div>
579
-
580
- <div class="method-description">
581
- <p>
582
- Put a generic stream (e.g. from a file handle) into the bucket.
583
- </p>
584
- <p><a class="source-toggle" href="#"
585
- onclick="toggleCode('M000112-source');return false;">[Source]</a></p>
586
- <div class="method-source-code" id="M000112-source">
587
- <pre>
588
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 128</span>
589
- 128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_stream</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
590
- 129: <span class="ruby-identifier">put_resource</span>(<span class="ruby-ivar">@name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
591
- 130: <span class="ruby-keyword kw">end</span>
592
- </pre>
593
- </div>
594
- </div>
595
- </div>
596
-
597
- <div id="method-M000110" class="method-detail">
598
- <a name="M000110"></a>
599
-
600
- <div class="method-heading">
601
- <a href="#M000110" class="method-signature">
602
- <span class="method-name">put_text</span><span class="method-args">(string, resource_key, headers={})</span>
603
- </a>
604
- </div>
605
-
606
- <div class="method-description">
607
- <p>
608
- Put a string into a key inside the bucket.
609
- </p>
610
- <p><a class="source-toggle" href="#"
611
- onclick="toggleCode('M000110-source');return false;">[Source]</a></p>
612
- <div class="method-source-code" id="M000110-source">
613
- <pre>
614
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 118</span>
615
- 118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_text</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
616
- 119: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">string</span>, <span class="ruby-ivar">@name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>)
617
- 120: <span class="ruby-keyword kw">end</span>
618
- </pre>
619
- </div>
620
- </div>
621
- </div>
622
-
623
- <div id="method-M000114" class="method-detail">
624
- <a name="M000114"></a>
625
-
626
- <div class="method-heading">
627
- <a href="#M000114" class="method-signature">
628
- <span class="method-name">s3_authenticated_url</span><span class="method-args">(resource_key, expires=(Time.now.to_i + DEFAULT_EXPIRY_SECS))</span>
629
- </a>
630
- </div>
631
-
632
- <div class="method-description">
633
- <p>
634
- Generate an authenticated URL (see <a
635
- href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01">docs.amazonwebservices.com/AmazonS3/2006-03-01</a>/)
636
- for an object inside this bucket.
637
- </p>
638
- <p>
639
- <tt>expires</tt>: time in secs since the epoch when the link should become
640
- invalid.
641
- </p>
642
- <p><a class="source-toggle" href="#"
643
- onclick="toggleCode('M000114-source');return false;">[Source]</a></p>
644
- <div class="method-source-code" id="M000114-source">
645
- <pre>
646
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 144</span>
647
- 144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">s3_authenticated_url</span>(<span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">expires</span>=(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-constant">DEFAULT_EXPIRY_SECS</span>))
648
- 145: <span class="ruby-keyword kw">super</span>(<span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>, <span class="ruby-ivar">@name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">expires</span>)
649
- 146: <span class="ruby-keyword kw">end</span>
650
- </pre>
651
- </div>
652
- </div>
653
- </div>
654
-
655
- <div id="method-M000101" class="method-detail">
656
- <a name="M000101"></a>
657
-
658
- <div class="method-heading">
659
- <a href="#M000101" class="method-signature">
660
- <span class="method-name">strict?</span><span class="method-args">()</span>
661
- </a>
662
- </div>
663
-
664
- <div class="method-description">
665
- <p>
666
- Is this a strict bucket (i.e. the target bucket must exist on S3)?
667
- </p>
668
- <p><a class="source-toggle" href="#"
669
- onclick="toggleCode('M000101-source');return false;">[Source]</a></p>
670
- <div class="method-source-code" id="M000101-source">
671
- <pre>
672
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 56</span>
673
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">strict?</span>
674
- 57: <span class="ruby-ivar">@strict</span>
675
- 58: <span class="ruby-keyword kw">end</span>
676
- </pre>
677
- </div>
678
- </div>
679
- </div>
680
-
681
-
682
- </div>
683
-
684
-
685
- </div>
686
-
687
-
688
- <div id="validator-badges">
689
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
690
- </div>
691
-
692
- </body>
693
- </html>