needle 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/doc/LICENSE-BSD +27 -0
  2. data/doc/LICENSE-GPL +280 -0
  3. data/doc/LICENSE-RUBY +56 -0
  4. data/doc/README +70 -0
  5. data/doc/manual/chapter.erb +18 -0
  6. data/doc/manual/index.erb +29 -0
  7. data/doc/manual/manual.css +192 -0
  8. data/doc/manual/manual.rb +240 -0
  9. data/doc/manual/manual.yml +48 -0
  10. data/doc/manual/page.erb +86 -0
  11. data/doc/manual/parts/01_license.txt +5 -0
  12. data/doc/manual/parts/01_support.txt +1 -0
  13. data/doc/manual/parts/01_use_cases.txt +141 -0
  14. data/doc/manual/parts/01_what_is_needle.txt +1 -0
  15. data/doc/manual/parts/02_creating.txt +9 -0
  16. data/doc/manual/parts/02_namespaces.txt +47 -0
  17. data/doc/manual/parts/02_overview.txt +3 -0
  18. data/doc/manual/parts/02_services.txt +44 -0
  19. data/doc/manual/tutorial.erb +30 -0
  20. data/doc/manual-html/chapter-1.html +354 -0
  21. data/doc/manual-html/chapter-2.html +310 -0
  22. data/doc/manual-html/chapter-3.html +154 -0
  23. data/doc/manual-html/chapter-4.html +154 -0
  24. data/doc/manual-html/chapter-5.html +154 -0
  25. data/doc/manual-html/chapter-6.html +154 -0
  26. data/doc/manual-html/chapter-7.html +154 -0
  27. data/doc/manual-html/index.html +177 -0
  28. data/doc/manual-html/manual.css +192 -0
  29. data/lib/needle/container.rb +318 -0
  30. data/lib/needle/errors.rb +32 -0
  31. data/lib/needle/include-exclude.rb +116 -0
  32. data/lib/needle/interceptor-chain.rb +162 -0
  33. data/lib/needle/interceptor.rb +189 -0
  34. data/lib/needle/log-factory.rb +207 -0
  35. data/lib/needle/logger.rb +161 -0
  36. data/lib/needle/logging-interceptor.rb +62 -0
  37. data/lib/needle/models/prototype-deferred.rb +41 -0
  38. data/lib/needle/models/prototype.rb +39 -0
  39. data/lib/needle/models/proxy.rb +84 -0
  40. data/lib/needle/models/singleton-deferred.rb +57 -0
  41. data/lib/needle/models/singleton.rb +56 -0
  42. data/lib/needle/models.rb +44 -0
  43. data/lib/needle/registry.rb +110 -0
  44. data/lib/needle/service-point.rb +109 -0
  45. data/lib/needle/version.rb +28 -0
  46. data/lib/needle.rb +54 -0
  47. data/test/ALL-TESTS.rb +21 -0
  48. data/test/models/tc_prototype.rb +53 -0
  49. data/test/models/tc_prototype_deferred.rb +54 -0
  50. data/test/models/tc_proxy.rb +51 -0
  51. data/test/models/tc_singleton.rb +53 -0
  52. data/test/models/tc_singleton_deferred.rb +54 -0
  53. data/test/tc_container.rb +246 -0
  54. data/test/tc_interceptor.rb +92 -0
  55. data/test/tc_interceptor_chain.rb +181 -0
  56. data/test/tc_logger.rb +181 -0
  57. data/test/tc_models.rb +44 -0
  58. data/test/tc_registry.rb +34 -0
  59. data/test/tc_service_point.rb +100 -0
  60. metadata +107 -0
@@ -0,0 +1,154 @@
1
+ <html>
2
+ <head>
3
+ <title>Needle Manual :: Chapter 3: Dependency Injection</title>
4
+ <link type="text/css" rel="stylesheet" href="manual.css" />
5
+ </head>
6
+
7
+ <body>
8
+ <div id="banner">
9
+ <table border='0' cellpadding='0' cellspacing='0' width='100%'>
10
+ <tr><td valign='top' align='left'>
11
+ <div class="title">
12
+ <span class="product">Needle&mdash;</span><br />
13
+ <span class="tagline">to the point --></span>
14
+ </div>
15
+ </td><td valign='middle' align='right'>
16
+ <div class="info">
17
+ Needle Version: <strong>0.5.0</strong><br />
18
+ Manual Last Updated: <strong>2004-10-15 03:41 GMT</strong>
19
+ </div>
20
+ </td></tr>
21
+ </table>
22
+ </div>
23
+
24
+ <table border='0' width='100%' cellpadding='0' cellspacing='0'>
25
+ <tr><td valign='top'>
26
+
27
+ <div id="navigation">
28
+ <h1>Needle Manual</h1>
29
+
30
+ <h2>Chapters</h2>
31
+ <ol type="I">
32
+
33
+ <li>
34
+ <a href="chapter-1.html">
35
+ Introduction
36
+ </a>
37
+
38
+ <ol type="1">
39
+
40
+ <li><a href="chapter-1.html#s1">What is Needle?</a></li>
41
+
42
+ <li><a href="chapter-1.html#s2">How Can It Help Me?</a></li>
43
+
44
+ <li><a href="chapter-1.html#s3">License Information</a></li>
45
+
46
+ <li><a href="chapter-1.html#s4">Support</a></li>
47
+
48
+ </ol>
49
+ </li>
50
+
51
+ <li>
52
+ <a href="chapter-2.html">
53
+ Registry
54
+ </a>
55
+
56
+ <ol type="1">
57
+
58
+ <li><a href="chapter-2.html#s1">Overview</a></li>
59
+
60
+ <li><a href="chapter-2.html#s2">Creating</a></li>
61
+
62
+ <li><a href="chapter-2.html#s3">Services</a></li>
63
+
64
+ <li><a href="chapter-2.html#s4">Namespaces</a></li>
65
+
66
+ </ol>
67
+ </li>
68
+
69
+ <li><strong>
70
+ <a href="chapter-3.html">
71
+ Dependency Injection
72
+ </a>
73
+ </strong> <big>&larr;</big>
74
+ <ol type="1">
75
+
76
+ </ol>
77
+ </li>
78
+
79
+ <li>
80
+ <a href="chapter-4.html">
81
+ Interceptors
82
+ </a>
83
+
84
+ <ol type="1">
85
+
86
+ </ol>
87
+ </li>
88
+
89
+ <li>
90
+ <a href="chapter-5.html">
91
+ Service Models
92
+ </a>
93
+
94
+ <ol type="1">
95
+
96
+ </ol>
97
+ </li>
98
+
99
+ <li>
100
+ <a href="chapter-6.html">
101
+ Logging
102
+ </a>
103
+
104
+ <ol type="1">
105
+
106
+ </ol>
107
+ </li>
108
+
109
+ <li>
110
+ <a href="chapter-7.html">
111
+ Creating Libraries
112
+ </a>
113
+
114
+ <ol type="1">
115
+
116
+ </ol>
117
+ </li>
118
+
119
+ </ol>
120
+
121
+ <h2>API Reference</h2>
122
+
123
+ <ul>
124
+ <li><a href="http://needle.rubyforge.org/api/index.html">Needle API</a></li>
125
+ </ul>
126
+
127
+ <h2>Tutorials</h2>
128
+ <ol>
129
+
130
+ </ol>
131
+
132
+ <p align="center"><strong>More To Come...</strong></p>
133
+
134
+ <div class="license">
135
+ <a href="http://creativecommons.org/licenses/by-sa/2.0/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights" /></a><br />
136
+ This manual is licensed under a <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons License</a>.
137
+ </div>
138
+ </div>
139
+
140
+ </td><td valign='top' width="100%">
141
+
142
+ <div id="content">
143
+
144
+ <h1>3. Dependency Injection</h1>
145
+
146
+
147
+
148
+
149
+ </div>
150
+
151
+ </td></tr>
152
+ </table>
153
+ </body>
154
+ </html>
@@ -0,0 +1,154 @@
1
+ <html>
2
+ <head>
3
+ <title>Needle Manual :: Chapter 4: Interceptors</title>
4
+ <link type="text/css" rel="stylesheet" href="manual.css" />
5
+ </head>
6
+
7
+ <body>
8
+ <div id="banner">
9
+ <table border='0' cellpadding='0' cellspacing='0' width='100%'>
10
+ <tr><td valign='top' align='left'>
11
+ <div class="title">
12
+ <span class="product">Needle&mdash;</span><br />
13
+ <span class="tagline">to the point --></span>
14
+ </div>
15
+ </td><td valign='middle' align='right'>
16
+ <div class="info">
17
+ Needle Version: <strong>0.5.0</strong><br />
18
+ Manual Last Updated: <strong>2004-10-15 03:41 GMT</strong>
19
+ </div>
20
+ </td></tr>
21
+ </table>
22
+ </div>
23
+
24
+ <table border='0' width='100%' cellpadding='0' cellspacing='0'>
25
+ <tr><td valign='top'>
26
+
27
+ <div id="navigation">
28
+ <h1>Needle Manual</h1>
29
+
30
+ <h2>Chapters</h2>
31
+ <ol type="I">
32
+
33
+ <li>
34
+ <a href="chapter-1.html">
35
+ Introduction
36
+ </a>
37
+
38
+ <ol type="1">
39
+
40
+ <li><a href="chapter-1.html#s1">What is Needle?</a></li>
41
+
42
+ <li><a href="chapter-1.html#s2">How Can It Help Me?</a></li>
43
+
44
+ <li><a href="chapter-1.html#s3">License Information</a></li>
45
+
46
+ <li><a href="chapter-1.html#s4">Support</a></li>
47
+
48
+ </ol>
49
+ </li>
50
+
51
+ <li>
52
+ <a href="chapter-2.html">
53
+ Registry
54
+ </a>
55
+
56
+ <ol type="1">
57
+
58
+ <li><a href="chapter-2.html#s1">Overview</a></li>
59
+
60
+ <li><a href="chapter-2.html#s2">Creating</a></li>
61
+
62
+ <li><a href="chapter-2.html#s3">Services</a></li>
63
+
64
+ <li><a href="chapter-2.html#s4">Namespaces</a></li>
65
+
66
+ </ol>
67
+ </li>
68
+
69
+ <li>
70
+ <a href="chapter-3.html">
71
+ Dependency Injection
72
+ </a>
73
+
74
+ <ol type="1">
75
+
76
+ </ol>
77
+ </li>
78
+
79
+ <li><strong>
80
+ <a href="chapter-4.html">
81
+ Interceptors
82
+ </a>
83
+ </strong> <big>&larr;</big>
84
+ <ol type="1">
85
+
86
+ </ol>
87
+ </li>
88
+
89
+ <li>
90
+ <a href="chapter-5.html">
91
+ Service Models
92
+ </a>
93
+
94
+ <ol type="1">
95
+
96
+ </ol>
97
+ </li>
98
+
99
+ <li>
100
+ <a href="chapter-6.html">
101
+ Logging
102
+ </a>
103
+
104
+ <ol type="1">
105
+
106
+ </ol>
107
+ </li>
108
+
109
+ <li>
110
+ <a href="chapter-7.html">
111
+ Creating Libraries
112
+ </a>
113
+
114
+ <ol type="1">
115
+
116
+ </ol>
117
+ </li>
118
+
119
+ </ol>
120
+
121
+ <h2>API Reference</h2>
122
+
123
+ <ul>
124
+ <li><a href="http://needle.rubyforge.org/api/index.html">Needle API</a></li>
125
+ </ul>
126
+
127
+ <h2>Tutorials</h2>
128
+ <ol>
129
+
130
+ </ol>
131
+
132
+ <p align="center"><strong>More To Come...</strong></p>
133
+
134
+ <div class="license">
135
+ <a href="http://creativecommons.org/licenses/by-sa/2.0/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights" /></a><br />
136
+ This manual is licensed under a <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons License</a>.
137
+ </div>
138
+ </div>
139
+
140
+ </td><td valign='top' width="100%">
141
+
142
+ <div id="content">
143
+
144
+ <h1>4. Interceptors</h1>
145
+
146
+
147
+
148
+
149
+ </div>
150
+
151
+ </td></tr>
152
+ </table>
153
+ </body>
154
+ </html>
@@ -0,0 +1,154 @@
1
+ <html>
2
+ <head>
3
+ <title>Needle Manual :: Chapter 5: Service Models</title>
4
+ <link type="text/css" rel="stylesheet" href="manual.css" />
5
+ </head>
6
+
7
+ <body>
8
+ <div id="banner">
9
+ <table border='0' cellpadding='0' cellspacing='0' width='100%'>
10
+ <tr><td valign='top' align='left'>
11
+ <div class="title">
12
+ <span class="product">Needle&mdash;</span><br />
13
+ <span class="tagline">to the point --></span>
14
+ </div>
15
+ </td><td valign='middle' align='right'>
16
+ <div class="info">
17
+ Needle Version: <strong>0.5.0</strong><br />
18
+ Manual Last Updated: <strong>2004-10-15 03:41 GMT</strong>
19
+ </div>
20
+ </td></tr>
21
+ </table>
22
+ </div>
23
+
24
+ <table border='0' width='100%' cellpadding='0' cellspacing='0'>
25
+ <tr><td valign='top'>
26
+
27
+ <div id="navigation">
28
+ <h1>Needle Manual</h1>
29
+
30
+ <h2>Chapters</h2>
31
+ <ol type="I">
32
+
33
+ <li>
34
+ <a href="chapter-1.html">
35
+ Introduction
36
+ </a>
37
+
38
+ <ol type="1">
39
+
40
+ <li><a href="chapter-1.html#s1">What is Needle?</a></li>
41
+
42
+ <li><a href="chapter-1.html#s2">How Can It Help Me?</a></li>
43
+
44
+ <li><a href="chapter-1.html#s3">License Information</a></li>
45
+
46
+ <li><a href="chapter-1.html#s4">Support</a></li>
47
+
48
+ </ol>
49
+ </li>
50
+
51
+ <li>
52
+ <a href="chapter-2.html">
53
+ Registry
54
+ </a>
55
+
56
+ <ol type="1">
57
+
58
+ <li><a href="chapter-2.html#s1">Overview</a></li>
59
+
60
+ <li><a href="chapter-2.html#s2">Creating</a></li>
61
+
62
+ <li><a href="chapter-2.html#s3">Services</a></li>
63
+
64
+ <li><a href="chapter-2.html#s4">Namespaces</a></li>
65
+
66
+ </ol>
67
+ </li>
68
+
69
+ <li>
70
+ <a href="chapter-3.html">
71
+ Dependency Injection
72
+ </a>
73
+
74
+ <ol type="1">
75
+
76
+ </ol>
77
+ </li>
78
+
79
+ <li>
80
+ <a href="chapter-4.html">
81
+ Interceptors
82
+ </a>
83
+
84
+ <ol type="1">
85
+
86
+ </ol>
87
+ </li>
88
+
89
+ <li><strong>
90
+ <a href="chapter-5.html">
91
+ Service Models
92
+ </a>
93
+ </strong> <big>&larr;</big>
94
+ <ol type="1">
95
+
96
+ </ol>
97
+ </li>
98
+
99
+ <li>
100
+ <a href="chapter-6.html">
101
+ Logging
102
+ </a>
103
+
104
+ <ol type="1">
105
+
106
+ </ol>
107
+ </li>
108
+
109
+ <li>
110
+ <a href="chapter-7.html">
111
+ Creating Libraries
112
+ </a>
113
+
114
+ <ol type="1">
115
+
116
+ </ol>
117
+ </li>
118
+
119
+ </ol>
120
+
121
+ <h2>API Reference</h2>
122
+
123
+ <ul>
124
+ <li><a href="http://needle.rubyforge.org/api/index.html">Needle API</a></li>
125
+ </ul>
126
+
127
+ <h2>Tutorials</h2>
128
+ <ol>
129
+
130
+ </ol>
131
+
132
+ <p align="center"><strong>More To Come...</strong></p>
133
+
134
+ <div class="license">
135
+ <a href="http://creativecommons.org/licenses/by-sa/2.0/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights" /></a><br />
136
+ This manual is licensed under a <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons License</a>.
137
+ </div>
138
+ </div>
139
+
140
+ </td><td valign='top' width="100%">
141
+
142
+ <div id="content">
143
+
144
+ <h1>5. Service Models</h1>
145
+
146
+
147
+
148
+
149
+ </div>
150
+
151
+ </td></tr>
152
+ </table>
153
+ </body>
154
+ </html>
@@ -0,0 +1,154 @@
1
+ <html>
2
+ <head>
3
+ <title>Needle Manual :: Chapter 6: Logging</title>
4
+ <link type="text/css" rel="stylesheet" href="manual.css" />
5
+ </head>
6
+
7
+ <body>
8
+ <div id="banner">
9
+ <table border='0' cellpadding='0' cellspacing='0' width='100%'>
10
+ <tr><td valign='top' align='left'>
11
+ <div class="title">
12
+ <span class="product">Needle&mdash;</span><br />
13
+ <span class="tagline">to the point --></span>
14
+ </div>
15
+ </td><td valign='middle' align='right'>
16
+ <div class="info">
17
+ Needle Version: <strong>0.5.0</strong><br />
18
+ Manual Last Updated: <strong>2004-10-15 03:41 GMT</strong>
19
+ </div>
20
+ </td></tr>
21
+ </table>
22
+ </div>
23
+
24
+ <table border='0' width='100%' cellpadding='0' cellspacing='0'>
25
+ <tr><td valign='top'>
26
+
27
+ <div id="navigation">
28
+ <h1>Needle Manual</h1>
29
+
30
+ <h2>Chapters</h2>
31
+ <ol type="I">
32
+
33
+ <li>
34
+ <a href="chapter-1.html">
35
+ Introduction
36
+ </a>
37
+
38
+ <ol type="1">
39
+
40
+ <li><a href="chapter-1.html#s1">What is Needle?</a></li>
41
+
42
+ <li><a href="chapter-1.html#s2">How Can It Help Me?</a></li>
43
+
44
+ <li><a href="chapter-1.html#s3">License Information</a></li>
45
+
46
+ <li><a href="chapter-1.html#s4">Support</a></li>
47
+
48
+ </ol>
49
+ </li>
50
+
51
+ <li>
52
+ <a href="chapter-2.html">
53
+ Registry
54
+ </a>
55
+
56
+ <ol type="1">
57
+
58
+ <li><a href="chapter-2.html#s1">Overview</a></li>
59
+
60
+ <li><a href="chapter-2.html#s2">Creating</a></li>
61
+
62
+ <li><a href="chapter-2.html#s3">Services</a></li>
63
+
64
+ <li><a href="chapter-2.html#s4">Namespaces</a></li>
65
+
66
+ </ol>
67
+ </li>
68
+
69
+ <li>
70
+ <a href="chapter-3.html">
71
+ Dependency Injection
72
+ </a>
73
+
74
+ <ol type="1">
75
+
76
+ </ol>
77
+ </li>
78
+
79
+ <li>
80
+ <a href="chapter-4.html">
81
+ Interceptors
82
+ </a>
83
+
84
+ <ol type="1">
85
+
86
+ </ol>
87
+ </li>
88
+
89
+ <li>
90
+ <a href="chapter-5.html">
91
+ Service Models
92
+ </a>
93
+
94
+ <ol type="1">
95
+
96
+ </ol>
97
+ </li>
98
+
99
+ <li><strong>
100
+ <a href="chapter-6.html">
101
+ Logging
102
+ </a>
103
+ </strong> <big>&larr;</big>
104
+ <ol type="1">
105
+
106
+ </ol>
107
+ </li>
108
+
109
+ <li>
110
+ <a href="chapter-7.html">
111
+ Creating Libraries
112
+ </a>
113
+
114
+ <ol type="1">
115
+
116
+ </ol>
117
+ </li>
118
+
119
+ </ol>
120
+
121
+ <h2>API Reference</h2>
122
+
123
+ <ul>
124
+ <li><a href="http://needle.rubyforge.org/api/index.html">Needle API</a></li>
125
+ </ul>
126
+
127
+ <h2>Tutorials</h2>
128
+ <ol>
129
+
130
+ </ol>
131
+
132
+ <p align="center"><strong>More To Come...</strong></p>
133
+
134
+ <div class="license">
135
+ <a href="http://creativecommons.org/licenses/by-sa/2.0/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights" /></a><br />
136
+ This manual is licensed under a <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons License</a>.
137
+ </div>
138
+ </div>
139
+
140
+ </td><td valign='top' width="100%">
141
+
142
+ <div id="content">
143
+
144
+ <h1>6. Logging</h1>
145
+
146
+
147
+
148
+
149
+ </div>
150
+
151
+ </td></tr>
152
+ </table>
153
+ </body>
154
+ </html>