siffer 0.0.4

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 (91) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +65 -0
  3. data/Rakefile +64 -0
  4. data/bin/siffer +71 -0
  5. data/doc/SIF ImplementationSpecification.pdf +0 -0
  6. data/doc/rdoc/classes/Siffer.html +374 -0
  7. data/doc/rdoc/classes/Siffer/Agent.html +296 -0
  8. data/doc/rdoc/classes/Siffer/Container.html +286 -0
  9. data/doc/rdoc/classes/Siffer/Messages.html +141 -0
  10. data/doc/rdoc/classes/Siffer/Messages/Ack.html +216 -0
  11. data/doc/rdoc/classes/Siffer/Messages/Acl.html +160 -0
  12. data/doc/rdoc/classes/Siffer/Messages/Error.html +248 -0
  13. data/doc/rdoc/classes/Siffer/Messages/Message.html +359 -0
  14. data/doc/rdoc/classes/Siffer/Messages/Message/Header.html +181 -0
  15. data/doc/rdoc/classes/Siffer/Messages/Register.html +257 -0
  16. data/doc/rdoc/classes/Siffer/Messages/RequestBody.html +300 -0
  17. data/doc/rdoc/classes/Siffer/Messages/Status.html +269 -0
  18. data/doc/rdoc/classes/Siffer/Messaging.html +331 -0
  19. data/doc/rdoc/classes/Siffer/Protocol.html +388 -0
  20. data/doc/rdoc/classes/Siffer/Protocol/NonPostRequest.html +111 -0
  21. data/doc/rdoc/classes/Siffer/Protocol/UnknownPath.html +111 -0
  22. data/doc/rdoc/classes/Siffer/Registration.html +391 -0
  23. data/doc/rdoc/classes/Siffer/Request.html +209 -0
  24. data/doc/rdoc/classes/Siffer/RequestLogger.html +211 -0
  25. data/doc/rdoc/classes/Siffer/Response.html +182 -0
  26. data/doc/rdoc/classes/Siffer/Server.html +242 -0
  27. data/doc/rdoc/created.rid +1 -0
  28. data/doc/rdoc/files/LICENSE.html +129 -0
  29. data/doc/rdoc/files/README_rdoc.html +184 -0
  30. data/doc/rdoc/files/lib/agent_rb.html +101 -0
  31. data/doc/rdoc/files/lib/container_rb.html +108 -0
  32. data/doc/rdoc/files/lib/messages/ack_rb.html +101 -0
  33. data/doc/rdoc/files/lib/messages/acl_rb.html +101 -0
  34. data/doc/rdoc/files/lib/messages/error_rb.html +101 -0
  35. data/doc/rdoc/files/lib/messages/message_rb.html +101 -0
  36. data/doc/rdoc/files/lib/messages/register_rb.html +101 -0
  37. data/doc/rdoc/files/lib/messages/request_body_rb.html +101 -0
  38. data/doc/rdoc/files/lib/messages/status_rb.html +101 -0
  39. data/doc/rdoc/files/lib/messages_rb.html +114 -0
  40. data/doc/rdoc/files/lib/messaging_rb.html +101 -0
  41. data/doc/rdoc/files/lib/protocol_rb.html +101 -0
  42. data/doc/rdoc/files/lib/registration_rb.html +101 -0
  43. data/doc/rdoc/files/lib/request_logger_rb.html +101 -0
  44. data/doc/rdoc/files/lib/request_rb.html +101 -0
  45. data/doc/rdoc/files/lib/response_rb.html +101 -0
  46. data/doc/rdoc/files/lib/server_rb.html +101 -0
  47. data/doc/rdoc/files/lib/siffer_rb.html +115 -0
  48. data/doc/rdoc/fr_class_index.html +47 -0
  49. data/doc/rdoc/fr_file_index.html +46 -0
  50. data/doc/rdoc/fr_method_index.html +96 -0
  51. data/doc/rdoc/index.html +24 -0
  52. data/doc/rdoc/rdoc-style.css +208 -0
  53. data/lib/agent.rb +43 -0
  54. data/lib/container.rb +96 -0
  55. data/lib/messages.rb +7 -0
  56. data/lib/messages/ack.rb +43 -0
  57. data/lib/messages/acl.rb +25 -0
  58. data/lib/messages/error.rb +174 -0
  59. data/lib/messages/message.rb +71 -0
  60. data/lib/messages/register.rb +60 -0
  61. data/lib/messages/request_body.rb +66 -0
  62. data/lib/messages/status.rb +55 -0
  63. data/lib/messaging.rb +96 -0
  64. data/lib/protocol.rb +159 -0
  65. data/lib/registration.rb +87 -0
  66. data/lib/request.rb +25 -0
  67. data/lib/request_logger.rb +31 -0
  68. data/lib/response.rb +26 -0
  69. data/lib/server.rb +40 -0
  70. data/lib/siffer.rb +44 -0
  71. data/spec/agent_spec.rb +53 -0
  72. data/spec/cli_spec.rb +40 -0
  73. data/spec/container_spec.rb +103 -0
  74. data/spec/default_agent +6 -0
  75. data/spec/default_server +5 -0
  76. data/spec/message_specs/ack_spec.rb +28 -0
  77. data/spec/message_specs/error_spec.rb +24 -0
  78. data/spec/message_specs/header_spec.rb +25 -0
  79. data/spec/message_specs/message_spec.rb +57 -0
  80. data/spec/message_specs/register_spec.rb +86 -0
  81. data/spec/message_specs/request_body_spec.rb +58 -0
  82. data/spec/message_specs/status_spec.rb +25 -0
  83. data/spec/messaging_spec.rb +88 -0
  84. data/spec/protocol_spec.rb +49 -0
  85. data/spec/registration_spec.rb +33 -0
  86. data/spec/request_logger_spec.rb +15 -0
  87. data/spec/request_spec.rb +10 -0
  88. data/spec/response_spec.rb +24 -0
  89. data/spec/server_spec.rb +35 -0
  90. data/spec/spec_helper.rb +26 -0
  91. metadata +191 -0
@@ -0,0 +1,248 @@
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: Siffer::Messages::Error</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">Siffer::Messages::Error</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/messages/error_rb.html">
59
+ lib/messages/error.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000029">new</a>&nbsp;&nbsp;
90
+ <a href="#M000030">read</a>&nbsp;&nbsp;
91
+ <a href="#M000031">to_str</a>&nbsp;&nbsp;
92
+ </div>
93
+ </div>
94
+
95
+ </div>
96
+
97
+
98
+ <!-- if includes -->
99
+
100
+ <div id="section">
101
+
102
+
103
+ <div id="constants-list">
104
+ <h3 class="section-bar">Constants</h3>
105
+
106
+ <div class="name-list">
107
+ <table summary="Constants">
108
+ <tr class="top-aligned-row context-row">
109
+ <td class="context-item-name">CATEGORY</td>
110
+ <td>=</td>
111
+ <td class="context-item-value">[ &quot;Unknown (This should NEVER be used if possible)&quot;, &quot;XML Validation&quot;, &quot;Encryption&quot;, &quot;Authentication&quot;, &quot;Access and Permissions&quot;, &quot;Registration&quot;, &quot;Provision&quot;, &quot;Subscription&quot;, &quot;Request and Response&quot;, &quot;Event Reporting and Processing&quot;, &quot;Transport&quot;, &quot;System (OS, Database, Vendor localized, etc.)&quot;, &quot;Generic Message Handling&quot;, &quot;SMB Handling&quot;</td>
112
+ <td width="3em">&nbsp;</td>
113
+ <td class="context-item-desc">
114
+ Categories of Errors specified by SIF
115
+
116
+ </td>
117
+ </tr>
118
+ <tr class="top-aligned-row context-row">
119
+ <td class="context-item-name">CODE</td>
120
+ <td>=</td>
121
+ <td class="context-item-value">{ CATEGORY[1] =&gt; [ # Xml Validation &quot;&quot;, &quot;Generic error&quot;, &quot;Message is not well-formed&quot;, &quot;Generic validation error&quot;, &quot;Invalid value for element/attribute&quot;, &quot;&quot;, &quot;Missing mandatory element/attribute&quot;</td>
122
+ <td width="3em">&nbsp;</td>
123
+ <td class="context-item-desc">
124
+ Codes related to CATEGORY Some codes are blank to match the SIF Spec
125
+
126
+ </td>
127
+ </tr>
128
+ </table>
129
+ </div>
130
+ </div>
131
+
132
+
133
+
134
+ <div id="attribute-list">
135
+ <h3 class="section-bar">Attributes</h3>
136
+
137
+ <div class="name-list">
138
+ <table>
139
+ <tr class="top-aligned-row context-row">
140
+ <td class="context-item-name">category</td>
141
+ <td class="context-item-value">&nbsp;[R]&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">code</td>
146
+ <td class="context-item-value">&nbsp;[R]&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">description</td>
151
+ <td class="context-item-value">&nbsp;[R]&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-M000029" class="method-detail">
165
+ <a name="M000029"></a>
166
+
167
+ <div class="method-heading">
168
+ <a href="#M000029" class="method-signature">
169
+ <span class="method-name">new</span><span class="method-args">(category, code, desc = nil)</span>
170
+ </a>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+ <p><a class="source-toggle" href="#"
175
+ onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
176
+ <div class="method-source-code" id="M000029-source">
177
+ <pre>
178
+ <span class="ruby-comment cmt"># File lib/messages/error.rb, line 7</span>
179
+ 7: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">category</span>, <span class="ruby-identifier">code</span>, <span class="ruby-identifier">desc</span> = <span class="ruby-keyword kw">nil</span>)
180
+ 8: <span class="ruby-ivar">@category</span> = <span class="ruby-constant">CATEGORY</span>[<span class="ruby-identifier">category</span>]
181
+ 9: <span class="ruby-ivar">@category_index</span> = <span class="ruby-identifier">category</span>
182
+ 10: <span class="ruby-ivar">@code</span> = <span class="ruby-constant">CODE</span>[<span class="ruby-ivar">@category</span>][<span class="ruby-identifier">code</span>]
183
+ 11: <span class="ruby-ivar">@code_index</span> = <span class="ruby-identifier">code</span>
184
+ 12: <span class="ruby-ivar">@description</span> = <span class="ruby-identifier">desc</span>
185
+ 13: <span class="ruby-keyword kw">end</span>
186
+ </pre>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <h3 class="section-bar">Public Instance methods</h3>
192
+
193
+ <div id="method-M000030" class="method-detail">
194
+ <a name="M000030"></a>
195
+
196
+ <div class="method-heading">
197
+ <a href="#M000030" class="method-signature">
198
+ <span class="method-name">read</span><span class="method-args">()</span>
199
+ </a>
200
+ </div>
201
+
202
+ <div class="method-description">
203
+ <p><a class="source-toggle" href="#"
204
+ onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
205
+ <div class="method-source-code" id="M000030-source">
206
+ <pre>
207
+ <span class="ruby-comment cmt"># File lib/messages/error.rb, line 15</span>
208
+ 15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>
209
+ 16: <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>
210
+ 17: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">SIF_Error</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">error</span><span class="ruby-operator">|</span>
211
+ 18: <span class="ruby-identifier">error</span>.<span class="ruby-constant">SIF_Category</span>(<span class="ruby-ivar">@category_index</span>)
212
+ 19: <span class="ruby-identifier">error</span>.<span class="ruby-constant">SIF_Code</span>(<span class="ruby-ivar">@code_index</span>)
213
+ 20: <span class="ruby-identifier">error</span>.<span class="ruby-constant">SIF_Desc</span>(<span class="ruby-ivar">@code</span>)
214
+ 21: <span class="ruby-identifier">error</span>.<span class="ruby-constant">SIF_ExtendedDesc</span>(<span class="ruby-ivar">@description</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@description</span>.<span class="ruby-identifier">nil?</span>
215
+ 22: }
216
+ 23: <span class="ruby-keyword kw">end</span>
217
+ </pre>
218
+ </div>
219
+ </div>
220
+ </div>
221
+
222
+ <div id="method-M000031" class="method-detail">
223
+ <a name="M000031"></a>
224
+
225
+ <div class="method-heading">
226
+ <span class="method-name">to_str</span><span class="method-args">()</span>
227
+ </div>
228
+
229
+ <div class="method-description">
230
+ <p>
231
+ Alias for <a href="Error.html#M000030">read</a>
232
+ </p>
233
+ </div>
234
+ </div>
235
+
236
+
237
+ </div>
238
+
239
+
240
+ </div>
241
+
242
+
243
+ <div id="validator-badges">
244
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
245
+ </div>
246
+
247
+ </body>
248
+ </html>
@@ -0,0 +1,359 @@
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: Siffer::Messages::Message</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">Siffer::Messages::Message</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/messages/message_rb.html">
59
+ lib/messages/message.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
+ Base class for all <a href="../Messages.html">Messages</a> in the
84
+ framework. Embeds the XMLNS as well as the version of SIF implemented.
85
+ </p>
86
+
87
+ </div>
88
+
89
+
90
+ </div>
91
+
92
+ <div id="method-list">
93
+ <h3 class="section-bar">Methods</h3>
94
+
95
+ <div class="name-list">
96
+ <a href="#M000021">body</a>&nbsp;&nbsp;
97
+ <a href="#M000018">content</a>&nbsp;&nbsp;
98
+ <a href="#M000020">msg_id</a>&nbsp;&nbsp;
99
+ <a href="#M000017">new</a>&nbsp;&nbsp;
100
+ <a href="#M000022">put_header_into</a>&nbsp;&nbsp;
101
+ <a href="#M000023">read</a>&nbsp;&nbsp;
102
+ <a href="#M000019">source_id</a>&nbsp;&nbsp;
103
+ <a href="#M000024">to_str</a>&nbsp;&nbsp;
104
+ </div>
105
+ </div>
106
+
107
+ </div>
108
+
109
+
110
+ <!-- if includes -->
111
+
112
+ <div id="section">
113
+
114
+ <div id="class-list">
115
+ <h3 class="section-bar">Classes and Modules</h3>
116
+
117
+ Class <a href="Message/Header.html" class="link">Siffer::Messages::Message::Header</a><br />
118
+
119
+ </div>
120
+
121
+
122
+
123
+
124
+ <div id="attribute-list">
125
+ <h3 class="section-bar">Attributes</h3>
126
+
127
+ <div class="name-list">
128
+ <table>
129
+ <tr class="top-aligned-row context-row">
130
+ <td class="context-item-name">header</td>
131
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
132
+ <td class="context-item-desc"></td>
133
+ </tr>
134
+ <tr class="top-aligned-row context-row">
135
+ <td class="context-item-name">version</td>
136
+ <td class="context-item-value">&nbsp;[R]&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">xmlns</td>
141
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
142
+ <td class="context-item-desc"></td>
143
+ </tr>
144
+ </table>
145
+ </div>
146
+ </div>
147
+
148
+
149
+
150
+ <!-- if method_list -->
151
+ <div id="methods">
152
+ <h3 class="section-bar">Public Class methods</h3>
153
+
154
+ <div id="method-M000017" class="method-detail">
155
+ <a name="M000017"></a>
156
+
157
+ <div class="method-heading">
158
+ <a href="#M000017" class="method-signature">
159
+ <span class="method-name">new</span><span class="method-args">(source, options = {})</span>
160
+ </a>
161
+ </div>
162
+
163
+ <div class="method-description">
164
+ <p>
165
+ source parameter is required (string describing the original sender)
166
+ </p>
167
+ <p><a class="source-toggle" href="#"
168
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
169
+ <div class="method-source-code" id="M000017-source">
170
+ <pre>
171
+ <span class="ruby-comment cmt"># File lib/messages/message.rb, line 11</span>
172
+ 11: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">options</span> = {})
173
+ 12: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Source not provided.&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">nil?</span>
174
+ 13: <span class="ruby-ivar">@xmlns</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:xmlns</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Siffer</span>.<span class="ruby-identifier">sif_xmlns</span>
175
+ 14: <span class="ruby-ivar">@version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:version</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Siffer</span>.<span class="ruby-identifier">sif_version</span>
176
+ 15: <span class="ruby-ivar">@header</span> = <span class="ruby-constant">Header</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">source</span>)
177
+ 16: <span class="ruby-ivar">@body</span> = <span class="ruby-constant">Builder</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMarkup</span>.<span class="ruby-identifier">new</span>
178
+ 17: <span class="ruby-keyword kw">end</span>
179
+ </pre>
180
+ </div>
181
+ </div>
182
+ </div>
183
+
184
+ <h3 class="section-bar">Public Instance methods</h3>
185
+
186
+ <div id="method-M000021" class="method-detail">
187
+ <a name="M000021"></a>
188
+
189
+ <div class="method-heading">
190
+ <span class="method-name">body</span><span class="method-args">()</span>
191
+ </div>
192
+
193
+ <div class="method-description">
194
+ <p>
195
+ Alias for <a href="Message.html#M000018">content</a>
196
+ </p>
197
+ </div>
198
+ </div>
199
+
200
+ <div id="method-M000018" class="method-detail">
201
+ <a name="M000018"></a>
202
+
203
+ <div class="method-heading">
204
+ <a href="#M000018" class="method-signature">
205
+ <span class="method-name">content</span><span class="method-args">() {|xml if block_given?| ...}</span>
206
+ </a>
207
+ </div>
208
+
209
+ <div class="method-description">
210
+ <p>
211
+ Builds the xml for this message. Accepts a block if nested elements are
212
+ required.
213
+ </p>
214
+ <p><a class="source-toggle" href="#"
215
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
216
+ <div class="method-source-code" id="M000018-source">
217
+ <pre>
218
+ <span class="ruby-comment cmt"># File lib/messages/message.rb, line 21</span>
219
+ 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">content</span>
220
+ 22: <span class="ruby-ivar">@xml</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@body</span>.<span class="ruby-constant">SIF_Message</span>(<span class="ruby-identifier">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@version</span>, <span class="ruby-identifier">:xmlns</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@xmlns</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">xml</span><span class="ruby-operator">|</span>
221
+ 23: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">xml</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
222
+ 24: }
223
+ 25: <span class="ruby-keyword kw">end</span>
224
+ </pre>
225
+ </div>
226
+ </div>
227
+ </div>
228
+
229
+ <div id="method-M000020" class="method-detail">
230
+ <a name="M000020"></a>
231
+
232
+ <div class="method-heading">
233
+ <a href="#M000020" class="method-signature">
234
+ <span class="method-name">msg_id</span><span class="method-args">()</span>
235
+ </a>
236
+ </div>
237
+
238
+ <div class="method-description">
239
+ <p>
240
+ Alias method to the <a href="Message/Header.html">Header</a> MsgId
241
+ </p>
242
+ <p><a class="source-toggle" href="#"
243
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
244
+ <div class="method-source-code" id="M000020-source">
245
+ <pre>
246
+ <span class="ruby-comment cmt"># File lib/messages/message.rb, line 30</span>
247
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">msg_id</span>() <span class="ruby-identifier">header</span>.<span class="ruby-identifier">msg_id</span>; <span class="ruby-keyword kw">end</span>
248
+ </pre>
249
+ </div>
250
+ </div>
251
+ </div>
252
+
253
+ <div id="method-M000022" class="method-detail">
254
+ <a name="M000022"></a>
255
+
256
+ <div class="method-heading">
257
+ <a href="#M000022" class="method-signature">
258
+ <span class="method-name">put_header_into</span><span class="method-args">(xml)</span>
259
+ </a>
260
+ </div>
261
+
262
+ <div class="method-description">
263
+ <p><a class="source-toggle" href="#"
264
+ onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
265
+ <div class="method-source-code" id="M000022-source">
266
+ <pre>
267
+ <span class="ruby-comment cmt"># File lib/messages/message.rb, line 36</span>
268
+ 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_header_into</span>(<span class="ruby-identifier">xml</span>)
269
+ 37: <span class="ruby-identifier">xml</span>.<span class="ruby-constant">SIF_Header</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">head</span><span class="ruby-operator">|</span>
270
+ 38: <span class="ruby-identifier">head</span>.<span class="ruby-constant">SIF_MsgId</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">msg_id</span>)
271
+ 39: <span class="ruby-identifier">head</span>.<span class="ruby-constant">SIF_Timestamp</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">timestamp</span>)
272
+ 40: <span class="ruby-identifier">head</span>.<span class="ruby-constant">SIF_SourceId</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">source_id</span>)
273
+ 41: }
274
+ 42: <span class="ruby-keyword kw">end</span>
275
+ </pre>
276
+ </div>
277
+ </div>
278
+ </div>
279
+
280
+ <div id="method-M000023" class="method-detail">
281
+ <a name="M000023"></a>
282
+
283
+ <div class="method-heading">
284
+ <a href="#M000023" class="method-signature">
285
+ <span class="method-name">read</span><span class="method-args">()</span>
286
+ </a>
287
+ </div>
288
+
289
+ <div class="method-description">
290
+ <p>
291
+ Returns the <a href="Message.html#M000018">content</a> of the message
292
+ </p>
293
+ <p><a class="source-toggle" href="#"
294
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
295
+ <div class="method-source-code" id="M000023-source">
296
+ <pre>
297
+ <span class="ruby-comment cmt"># File lib/messages/message.rb, line 45</span>
298
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>
299
+ 46: <span class="ruby-comment cmt"># this construct prevents the xml from being built</span>
300
+ 47: <span class="ruby-comment cmt"># over and over again for every read made to this</span>
301
+ 48: <span class="ruby-comment cmt"># message.</span>
302
+ 49: <span class="ruby-ivar">@xml</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">content</span>
303
+ 50: <span class="ruby-keyword kw">end</span>
304
+ </pre>
305
+ </div>
306
+ </div>
307
+ </div>
308
+
309
+ <div id="method-M000019" class="method-detail">
310
+ <a name="M000019"></a>
311
+
312
+ <div class="method-heading">
313
+ <a href="#M000019" class="method-signature">
314
+ <span class="method-name">source_id</span><span class="method-args">()</span>
315
+ </a>
316
+ </div>
317
+
318
+ <div class="method-description">
319
+ <p>
320
+ Alias method to the <a href="Message/Header.html">Header</a> SourceId
321
+ </p>
322
+ <p><a class="source-toggle" href="#"
323
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
324
+ <div class="method-source-code" id="M000019-source">
325
+ <pre>
326
+ <span class="ruby-comment cmt"># File lib/messages/message.rb, line 28</span>
327
+ 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">source_id</span>() <span class="ruby-identifier">header</span>.<span class="ruby-identifier">source_id</span>; <span class="ruby-keyword kw">end</span>
328
+ </pre>
329
+ </div>
330
+ </div>
331
+ </div>
332
+
333
+ <div id="method-M000024" class="method-detail">
334
+ <a name="M000024"></a>
335
+
336
+ <div class="method-heading">
337
+ <span class="method-name">to_str</span><span class="method-args">()</span>
338
+ </div>
339
+
340
+ <div class="method-description">
341
+ <p>
342
+ Alias for <a href="Message.html#M000023">read</a>
343
+ </p>
344
+ </div>
345
+ </div>
346
+
347
+
348
+ </div>
349
+
350
+
351
+ </div>
352
+
353
+
354
+ <div id="validator-badges">
355
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
356
+ </div>
357
+
358
+ </body>
359
+ </html>