pluginfactory 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ChangeLog CHANGED
@@ -1,102 +1,325 @@
1
- 2004-03-09 22:32 Michael Granger <ged@FaerieMUD.org>
1
+ -- Wed, 13 Aug 2008 21:58:41 -0000 by deveiant (r52) -----
2
+ Changed: lib/pluginfactory.rb
3
+ Rakefile
4
+ utils.rb
5
+ spec/pluginfactory_spec.rb
2
6
 
3
- * makedist.rb (1.1), utils.rb (1.1), docs/.cvsignore (1.1),
4
- docs/CATALOG (1.1), docs/makedocs.rb (1.1):
7
+ Updating tags on new files.
5
8
 
6
- Initial checkin.
7
-
8
- 2004-03-08 00:07 Michael Granger <ged@FaerieMUD.org>
9
9
 
10
- * tests/: othersub.rb (1.2), dir/deepsubofmybase.rb (1.2):
10
+ -- Wed, 13 Aug 2008 21:57:47 -0000 by deveiant (r51) -----
11
+ Deleted: rake
11
12
 
12
- - Fixed class/file agreement.
13
-
14
- 2004-03-08 00:06 Michael Granger <ged@FaerieMUD.org>
13
+ Removing old rake tasklib dir
15
14
 
16
- * tests/mybase.rb (1.2):
17
15
 
18
- - Fixed derivativeDirs method.
19
-
20
- 2004-03-08 00:05 Michael Granger <ged@FaerieMUD.org>
16
+ -- Wed, 13 Aug 2008 21:57:18 -0000 by deveiant (r50) -----
17
+ Added: project.yml (new)
18
+ Changed: README
19
+ /trunk
20
+ LICENSE
21
+ Rakefile
21
22
 
22
- * lib/pluginfactory.rb (1.4):
23
+ Converting to the new build system
23
24
 
24
- - Documentation additions
25
-
26
- - Refactored path-search code
27
-
28
- 2004-03-07 21:30 Michael Granger <ged@FaerieMUD.org>
29
25
 
30
- * test.rb (1.3):
26
+ -- Wed, 26 Mar 2008 16:01:36 -0000 by deveiant (r48) -----
27
+ Changed: Rakefile
28
+ rake/publishing.rb
29
+ rake/svn.rb
31
30
 
32
- - Added a hook into -d that turns on logging.
33
-
34
- 2004-03-07 19:13 Martin Chase <stillflame@FaerieMUD.org>
31
+ * More packaging/publishing fixes.
35
32
 
36
- * README (1.4):
37
33
 
38
- no, this is not using the default install.rb installation process
39
-
40
- 2004-03-07 19:07 Martin Chase <stillflame@FaerieMUD.org>
34
+ -- Tue, 25 Mar 2008 21:17:07 -0000 by deveiant (r46) -----
35
+ Changed: /trunk
36
+ Rakefile
37
+ rake/publishing.rb
41
38
 
42
- * lib/pluginfactory.rb (1.3):
39
+ * Fixed announcement-sending task to use SMTP+SSL via a monkeypatch to net/smtp. (Maybe package it
40
+ up and upstream later?)
43
41
 
44
- FactoryError now inherits from RuntimeError
45
-
46
- 2004-03-07 19:06 Martin Chase <stillflame@FaerieMUD.org>
47
42
 
48
- * test.rb (1.2):
43
+ -- Tue, 25 Mar 2008 19:36:11 -0000 by deveiant (r45) -----
44
+ Added: experiments (new)
45
+ experiments/logger_output.rb (new)
46
+ rake/publishing.rb (new)
47
+ Changed: README
48
+ lib/pluginfactory.rb
49
+ /trunk
50
+ MANIFEST
51
+ LICENSE
52
+ Rakefile (and 4 other/s)
53
+ Deleted: .gemspec
54
+ makedist.rb
55
+ install.rb
56
+ .cvsignore
57
+ docs
49
58
 
50
- filling in
51
-
52
- 2004-03-07 19:05 Martin Chase <stillflame@FaerieMUD.org>
59
+ * Packaging and publication tasks updated.
60
+ * Updated documentation.
53
61
 
54
- * tests/: mybase.rb (1.1), othersub.rb (1.1), subofmybase.rb (1.1),
55
- dir/deepsubofmybase.rb (1.1):
56
62
 
57
- initial import
58
-
59
- 2004-03-07 15:42 Martin Chase <stillflame@FaerieMUD.org>
63
+ -- Fri, 27 Jul 2007 06:53:27 -0000 by deveiant (r43) -----
64
+ Deleted: test.rb
60
65
 
61
- * README (1.3):
66
+ Removed test runner script
62
67
 
63
- reformatted
64
-
65
- 2004-03-07 15:41 Martin Chase <stillflame@FaerieMUD.org>
66
68
 
67
- * install.rb (1.2):
69
+ -- Fri, 27 Jul 2007 06:50:56 -0000 by deveiant (r42) -----
70
+ Added: LICENSE
71
+ -> renamed from /trunk/COPYRIGHT@r41
72
+ Rakefile (new)
73
+ rake (new)
74
+ rake/helpers.rb (new)
75
+ spec/spec.opts (new)
76
+ rake/svn.rb (new) (and 4 other/s)
77
+ Changed: lib/pluginfactory.rb
78
+ /trunk
79
+ test.rb
80
+ Deleted: tests
81
+ COPYRIGHT
68
82
 
69
- filled in
70
-
71
- 2004-03-07 14:36 Martin Chase <stillflame@FaerieMUD.org>
83
+ Converted test::unit tests to RSpec
72
84
 
73
- * COPYRIGHT (1.2), README (1.2):
74
85
 
75
- filled in
76
-
77
- 2004-03-07 10:49 Martin Chase <stillflame@FaerieMUD.org>
86
+ -- Tue, 13 Mar 2007 18:34:19 -0000 by deveiant (r40) -----
87
+ Changed: /trunk
88
+ makedist.rb
78
89
 
79
- * lib/pluginfactory.rb (1.2):
90
+ Bumping project-version and fixing makedist problems.
80
91
 
81
- cleaned out ties to other modules
82
-
83
- 2004-03-07 09:33 Martin Chase <stillflame@FaerieMUD.org>
84
92
 
85
- * lib/: factory.rb (1.2), pluginfactory.rb (1.1):
93
+ -- Tue, 13 Mar 2007 18:20:58 -0000 by deveiant (r38) -----
94
+ Changed: lib/pluginfactory.rb
86
95
 
87
- renaming
88
-
89
- 2004-03-07 09:31 Martin Chase <stillflame@FaerieMUD.org>
96
+ * Log list of candidate subdirs
90
97
 
91
- * COPYRIGHT (1.1), README (1.1), install.rb (1.1), test.rb (1.1),
92
- lib/factory.rb (1.1):
93
98
 
94
- Initial revision
95
-
96
- 2004-03-07 09:31 Martin Chase <stillflame@FaerieMUD.org>
99
+ -- Thu, 22 Feb 2007 23:03:05 -0000 by deveiant (r37) -----
100
+ Changed: lib/pluginfactory.rb
101
+
102
+
103
+ * Support #derivative_dirs method as well as the camelCased variant.
104
+
105
+
106
+ -- Sat, 01 Jul 2006 18:50:52 -0000 by ged (r36) -----
107
+ Changed: lib/pluginfactory.rb
108
+ docs/makedocs.rb
109
+ test.rb
110
+
111
+
112
+ * Converted camelCased methods to under_barred ones.
113
+
114
+ * Fixed tests.
115
+
116
+
117
+ -- Sat, 05 Mar 2005 00:32:10 -0000 by ged (r35) -----
118
+ Changed: /trunk
119
+
120
+ Incremented project version attribute
121
+
122
+
123
+ -- Sat, 05 Mar 2005 00:25:54 -0000 by ged (r33) -----
124
+ Changed: makedist.rb
125
+
126
+ Merged changes from project-utils version
127
+
128
+
129
+ -- Sat, 05 Mar 2005 00:21:05 -0000 by ged (r32) -----
130
+ Changed: lib/pluginfactory.rb
131
+
132
+ - Made load failures raise FactoryErrors as intended instead of RuntimeErrors.
133
+
134
+
135
+ -- Sun, 21 Nov 2004 17:14:13 -0000 by ged (r31) -----
136
+ Changed: utils.rb
137
+ install.rb
138
+
139
+ -- Updated project-utils files
140
+
141
+
142
+ -- Sun, 21 Nov 2004 17:02:59 -0000 by ged (r30) -----
143
+ Added: .gemspec (new)
144
+ Changed: /trunk
145
+ MANIFEST
146
+
147
+ -- Gemified
148
+ -- Fixed missing utils.rb in MANIFEST
149
+ -- Added project-spec properties to the root dir.
150
+
151
+
152
+ -- Wed, 08 Sep 2004 04:51:57 -0000 by ged (r28) -----
153
+ Added: docs/makedocs.rb (new)
154
+ utils.rb (new)
155
+ makedist.rb (new)
156
+ install.rb (new)
157
+
158
+ - Hmmm... that didn't work. Copying over new versions of the util scripts until
159
+ I figure out how the hell to do what I want.
160
+
161
+
162
+ -- Wed, 08 Sep 2004 04:27:06 -0000 by ged (r27) -----
163
+ Deleted: docs/makedocs.rb
164
+ utils.rb
165
+ makedist.rb
166
+ install.rb
167
+
168
+ - Replacing with versions from project-utils (experimental -- may just have to
169
+ re-check them in)
170
+
171
+
172
+ -- Tue, 24 Aug 2004 01:38:10 -0000 by ged (r26) -----
173
+ Changed: lib/pluginfactory.rb
174
+
175
+ - Added a very important property
176
+
177
+
178
+ -- Tue, 24 Aug 2004 01:36:11 -0000 by ged (r25) -----
179
+ Changed: lib/pluginfactory.rb
180
+
181
+ - Added keywords property to lib/pluginfactory.rb
182
+
183
+
184
+ -- Tue, 24 Aug 2004 01:35:26 -0000 by ged (r24) -----
185
+ Changed: install.rb
186
+
187
+ - Fixed String =~ String warning
188
+
189
+
190
+ -- Tue, 24 Aug 2004 01:34:13 -0000 by ged (r23) -----
191
+ Changed: install.rb
192
+
193
+ - Added bangheader
194
+
195
+
196
+ -- Tue, 24 Aug 2004 01:33:14 -0000 by ged (r22) -----
197
+ Changed: test.rb
198
+
199
+ - Easyified bangheader
200
+
201
+
202
+ -- Wed, 10 Mar 2004 06:36:15 -0000 by deveiant (r20) -----
203
+ Changed: ChangeLog
204
+
205
+ Updated for tag release_0_01
206
+
207
+
208
+ -- Wed, 10 Mar 2004 06:34:00 -0000 by deveiant (r19) -----
209
+ Added: .cvsignore (new)
210
+ .irbrc (new)
211
+ docs/makedocs.rb (new)
212
+ docs/CATALOG (new)
213
+ utils.rb (new)
214
+ makedist.rb (new) (and 5 other/s)
215
+ Changed: /trunk
216
+
217
+ Initial checkin.
218
+
219
+
220
+ -- Mon, 08 Mar 2004 08:07:38 -0000 by deveiant (r18) -----
221
+ Changed: tests/dir/deepsubofmybase.rb
222
+ tests/othersub.rb
223
+
224
+ - Fixed class/file agreement.
225
+
226
+
227
+ -- Mon, 08 Mar 2004 08:06:24 -0000 by deveiant (r17) -----
228
+ Changed: tests/mybase.rb
229
+
230
+ - Fixed derivativeDirs method.
231
+
232
+
233
+ -- Mon, 08 Mar 2004 08:05:38 -0000 by deveiant (r16) -----
234
+ Changed: lib/pluginfactory.rb
235
+
236
+ - Documentation additions
237
+ - Refactored path-search code
238
+
239
+
240
+ -- Mon, 08 Mar 2004 05:30:01 -0000 by deveiant (r15) -----
241
+ Changed: test.rb
242
+
243
+ - Added a hook into -d that turns on logging.
244
+
245
+
246
+ -- Mon, 08 Mar 2004 03:13:38 -0000 by stillflame (r14) -----
247
+ Changed: README
248
+
249
+ no, this is not using the default install.rb installation process
250
+
251
+
252
+ -- Mon, 08 Mar 2004 03:07:27 -0000 by stillflame (r13) -----
253
+ Changed: lib/pluginfactory.rb
254
+
255
+ FactoryError now inherits from RuntimeError
256
+
257
+
258
+ -- Mon, 08 Mar 2004 03:06:05 -0000 by stillflame (r12) -----
259
+ Changed: test.rb
260
+
261
+ filling in
262
+
263
+
264
+ -- Mon, 08 Mar 2004 03:05:36 -0000 by stillflame (r11) -----
265
+ Added: tests/dir/deepsubofmybase.rb (new)
266
+ tests/othersub.rb (new)
267
+ tests/dir (new)
268
+ tests (new)
269
+ tests/subofmybase.rb (new)
270
+ tests/mybase.rb (new) (and 1 other/s)
271
+
272
+ initial import
273
+
274
+
275
+ -- Sun, 07 Mar 2004 23:42:11 -0000 by stillflame (r10) -----
276
+ Changed: README
277
+
278
+ reformatted
279
+
280
+
281
+ -- Sun, 07 Mar 2004 23:41:51 -0000 by stillflame (r9) -----
282
+ Changed: install.rb
283
+
284
+ filled in
285
+
286
+
287
+ -- Sun, 07 Mar 2004 22:36:44 -0000 by stillflame (r8) -----
288
+ Changed: README
289
+ COPYRIGHT
290
+
291
+ filled in
292
+
293
+
294
+ -- Sun, 07 Mar 2004 18:49:23 -0000 by stillflame (r7) -----
295
+ Changed: lib/pluginfactory.rb
296
+
297
+ cleaned out ties to other modules
298
+
299
+
300
+ -- Sun, 07 Mar 2004 17:33:10 -0000 by stillflame (r6) -----
301
+ Added: lib/pluginfactory.rb (new)
302
+ Deleted: lib/factory.rb
303
+
304
+ renaming
305
+
306
+
307
+ -- Sun, 07 Mar 2004 17:31:18 -0000 by stillflame (r2) -----
308
+ Added: README (new)
309
+ lib/factory.rb (new)
310
+ test.rb (new)
311
+ lib (new)
312
+ COPYRIGHT (new)
313
+ install.rb (new) (and 1 other/s)
314
+
315
+ Initial revision
316
+
317
+
318
+ -- Sun, 07 Mar 2004 17:31:18 -0000 by unknown (r1) -----
319
+ Added: /trunk (new)
320
+ /branches (new)
321
+ /tags (new)
322
+
323
+ New repository initialized by cvs2svn.
97
324
 
98
- * COPYRIGHT (1.1.1.1), README (1.1.1.1), install.rb (1.1.1.1),
99
- test.rb (1.1.1.1), lib/factory.rb (1.1.1.1) (utags: release):
100
325
 
101
- initial stripping out of Arrow/MUES
102
-
data/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2008, Michael Granger
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+
10
+ * Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ * Neither the name of the author/s, nor the names of the project's
15
+ contributors may be used to endorse or promote products derived from this
16
+ software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
22
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README CHANGED
@@ -1,39 +1,204 @@
1
- = The PluginFactory mixin
2
1
 
3
- A mixin implementing a factory pattern, modified to load in subclasses on
4
- request.
2
+ = PluginFactory
5
3
 
6
- == Install
4
+ PluginFactory is a mixin module that turns an including class into a factory for
5
+ its derivatives, capable of searching for and loading them by name. This is
6
+ useful when you have an abstract base class which defines an interface and basic
7
+ functionality for a part of a larger system, and a collection of subclasses
8
+ which implement the interface for different underlying functionality.
7
9
 
8
- $ sudo ./install.rb
10
+ An example of where this might be useful is in a program which talks to a
11
+ database. To avoid coupling it to a specific database, you use a Driver class
12
+ which encapsulates your program's interaction with the database behind a useful
13
+ interface. Now you can create a concrete implementation of the Driver class for
14
+ each kind of database you wish to talk to. If you make the base Driver class a
15
+ PluginFactory, too, you can add new drivers simply by dropping them in a
16
+ directory and using the Driver's <tt>create</tt> method to instantiate them:
9
17
 
10
- == Tests
18
+ == Synopsis
11
19
 
12
- $ ./test.rb
20
+ in driver.rb:
13
21
 
14
- == Authors
22
+ require "PluginFactory"
23
+
24
+ class Driver
25
+ include PluginFactory
26
+ def self::derivative_dirs
27
+ ["drivers"]
28
+ end
29
+ end
30
+
31
+ in drivers/mysql.rb:
32
+
33
+ require 'driver'
34
+
35
+ class MysqlDriver < Driver
36
+ ...implementation...
37
+ end
38
+
39
+ in /usr/lib/ruby/1.8/PostgresDriver.rb:
40
+
41
+ require 'driver'
42
+
43
+ class PostgresDriver < Driver
44
+ ...implementation...
45
+ end
46
+
47
+ elsewhere
48
+
49
+ require 'driver'
50
+
51
+ config[:driver_type] #=> "mysql"
52
+ driver = Driver.create( config[:driver_type] )
53
+ driver.class #=> MysqlDriver
54
+ pgdriver = Driver.create( "PostGresDriver" )
55
+
56
+ == How Plugins Are Loaded
57
+
58
+ The +create+ class method added to your class by PluginFactory searches for your
59
+ module using several different strategies. It tries various permutations of the
60
+ base class's name in combination with the derivative requested. For example,
61
+ assume we want to make a +DataDriver+ base class, and then use plugins to define
62
+ drivers for different kinds of data sources:
63
+
64
+ require 'pluginfactory'
65
+
66
+ class DataDriver
67
+ include PluginFactory
68
+ end
69
+
70
+ When you attempt to load the 'socket' data-driver class like so:
71
+
72
+ DataDriver.create( 'socket' )
73
+
74
+ PluginFactory searches for modules with the following names:
15
75
 
16
- Michael Granger <ged@FaerieMUD.org>
76
+ 'socketdatadriver'
77
+ 'socket_datadriver'
78
+ 'socketDataDriver'
79
+ 'socket_DataDriver'
80
+ 'SocketDataDriver'
81
+ 'Socket_DataDriver'
82
+ 'socket'
83
+ 'Socket'
17
84
 
18
- == Contributors
85
+ Obviously the last one will load something other than what is intended, so you
86
+ can also tell PluginFactory that plugins should be loaded from a subdirectory by
87
+ declaring a class method called `derivative_dirs` in the base class. It should
88
+ return an Array that contains a list of subdirectories to try:
19
89
 
20
- Martin Chase <stillflame@FaerieMUD.org>
90
+ class DataDriver
91
+ include PluginFactory
92
+
93
+ def self::derivative_dirs
94
+ ['drivers']
95
+ end
96
+ end
21
97
 
22
- == License/Legal
98
+ This will change the list that is required to:
99
+
100
+ 'drivers/socketdatadriver'
101
+ 'drivers/socket_datadriver'
102
+ 'drivers/socketDataDriver'
103
+ 'drivers/socket_DataDriver'
104
+ 'drivers/SocketDataDriver'
105
+ 'drivers/Socket_DataDriver'
106
+ 'drivers/socket'
107
+ 'drivers/Socket'
108
+
109
+ If you return more than one subdirectory, each of them will be tried in turn:
110
+
111
+ class DataDriver
112
+ include PluginFactory
113
+
114
+ def self::derivative_dirs
115
+ ['drivers', 'datadriver']
116
+ end
117
+ end
118
+
119
+ will change the search to include:
120
+
121
+ 'drivers/socketdatadriver'
122
+ 'drivers/socket_datadriver'
123
+ 'drivers/socketDataDriver'
124
+ 'drivers/socket_DataDriver'
125
+ 'drivers/SocketDataDriver'
126
+ 'drivers/Socket_DataDriver'
127
+ 'drivers/socket'
128
+ 'drivers/Socket'
129
+ 'datadriver/socketdatadriver'
130
+ 'datadriver/socket_datadriver'
131
+ 'datadriver/socketDataDriver'
132
+ 'datadriver/socket_DataDriver'
133
+ 'datadriver/SocketDataDriver'
134
+ 'datadriver/Socket_DataDriver'
135
+ 'datadriver/socket'
136
+ 'datadriver/Socket'
137
+
138
+ If the plugin is not found, a FactoryError is raised, and the message will list
139
+ all the permutations that were tried.
140
+
141
+ == Logging
142
+
143
+ If you need a little more insight into what's going on, PluginFactory exposes a
144
+ logging callback which will be called at various points in the process, and will
145
+ include details on what's being attempted.
146
+
147
+ You can activate logging by setting PluginFactory.logger_callback to something
148
+ that responds to the #call message. It will be called with two arguments, a
149
+ severity level and a message:
150
+
151
+ callback.call( :info, "Something happened" )
152
+
153
+ This is intended to make it easy to hook up to Logger or anything with a similar
154
+ interface:
155
+
156
+ require 'pluginfactory'
157
+ require 'logger'
158
+
159
+ class DataDriver
160
+ include PluginFactory
161
+
162
+ @logger = Logger.new( $stderr )
163
+ @logger.level = Logger::DEBUG
164
+ PluginFactory.logger_callback = lambda do |severity, msg|
165
+ @logger.send(severity, msg)
166
+ end
167
+ end
168
+
169
+ DataDriver.create( 'ringbuffer' )
170
+
171
+ this might generate a log that looks like:
172
+
173
+ D, [...] DEBUG -- : Loading derivative ringbuffer
174
+ D, [...] DEBUG -- : Subdirs are: [""]
175
+ D, [...] DEBUG -- : Path is: ["ringbufferdatadriver", "ringbufferDataDriver",
176
+ "ringbuffer"]...
177
+ D, [...] DEBUG -- : Trying ringbufferdatadriver...
178
+ D, [...] DEBUG -- : No module at 'ringbufferdatadriver', trying the next
179
+ alternative: 'no such file to load -- ringbufferdatadriver'
180
+ D, [...] DEBUG -- : Trying ringbufferDataDriver...
181
+ D, [...] DEBUG -- : No module at 'ringbufferDataDriver', trying the next
182
+ alternative: 'no such file to load -- ringbufferDataDriver'
183
+ D, [...] DEBUG -- : Trying ringbuffer...
184
+ D, [...] DEBUG -- : No module at 'ringbuffer', trying the next alternative:
185
+ 'no such file to load -- ringbuffer'
186
+ D, [...] DEBUG -- : fatals = []
187
+ E, [...] ERROR -- : Couldn't find a DataDriver named 'ringbuffer':
188
+ tried ["ringbufferdatadriver", "ringbufferDataDriver", "ringbuffer"]
189
+
190
+ == Subversion ID
191
+
192
+ $Id: README 50 2008-08-13 21:57:18Z deveiant $
193
+
194
+ == Authors
23
195
 
24
- All assets of the project are copyright (c) 2003-2004, The FaerieMUD
25
- Consortium. All rights reserved.
196
+ * Martin Chase <stillflame@FaerieMUD.org>
197
+ * Michael Granger <ged@FaerieMUD.org>
26
198
 
27
- You may use, modify, and/or redistribute this software under the terms of the
28
- Perl Artistic License, a copy of which should have been included in this
29
- distribution (See the file COPYRIGHT). If it was not, a copy of it may be
30
- obtained from http://language.perl.com/misc/Artistic.html or
31
- http://www.faeriemud.org/artistic.html).
199
+ :include: LICENSE
32
200
 
33
- THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
34
- INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
35
- FITNESS FOR A PARTICULAR PURPOSE.
201
+ --
36
202
 
37
- == Rcsid
203
+ Please see the file LICENSE for licensing details.
38
204
 
39
- $Id: README 14 2004-03-08 03:13:38Z stillflame $