summaryrefslogtreecommitdiff
path: root/test/scanners/yaml/faq.expected.raydebug
blob: 491f3351f5940c70e1de134ef60390bb6b873668 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
tag(---)
operator(-) key<delimiter(")content(What is a...)delimiter(")>error(:)
  operator(-) key<delimiter(")content(container?)delimiter(")>operator(:) string(>-)
      string(A) string(_container_) string(is) string(collection) string(of) string(service) string(points) string(and) string(other) string(containers.) string(It)
      string(is) string(used) string(to) string(organize) string(services.) string(Each) string(container) string(has) string(access) string(to) string(all) string(of) string(the)
      string(service) string(points) string(in) string(its) string(ancestor) string(containers.)

  operator(-) key<delimiter(")content(registry?)delimiter(")>operator(:) string(>-)
      string(A) string(_registry_) string(is) string(a) string(special) string(kind) string(of) string(container) string(that) string(has) string(no) string(parent) string(container.)
      string(It) string(also) string(defines) string(a) string(few) string(services) string((such) string(as) string(the) string(LoggingInterceptor,) string(and)
      string(the) string(various) string(service) string(models) string(and) string(pipeline) string(elements\),) string(so) string(that) string(they) string(are)
      string(available) string(by) string(default) string(to) string(all) string(of) string(the) string(services) string(it) string(contains.)

  operator(-) key<delimiter(")content(service point?)delimiter(")>operator(:) string(>-)
      string(A) string(_service) string(point_) string(is) string(the) string(definition) string(of) string(a) string(service.) string(Just) string(as) string(a) string(class) string(is) string(the)
      string(definition) string(of) string(an) string(object,) string(and) string(you) string(instantiate) string(an) string(object) string(from) string(a) string(class,) string(so)
      string(do) string(you) string(instantiate) string(services) string(from) string(service) string(points.)

  operator(-) key<delimiter(")content(service?)delimiter(")>operator(:) string(>-)
      string(A) string(_service_) string(is) string(the) string(instantiation) string(of) string(a) string(service) string(point.)

  operator(-) key<delimiter(")content(parameterized service?)delimiter(")>operator(:) string(>-)
      string(A) string(_parameterized_) string(service) string(is) string(a) string(service) string(that) string(allows) string(contextual) string(parameters)
      string(to) string(be) string(passed) string(to) string(the) string(service) string(when) string(it) string(is) string(created.) string(Such) string(services) string(are)
      string(typically) string(used) string(in) string(conjunction) string(with) string(the) string(@multiton@) string(service) string(model,) string(but)
      string(the) string(only) string(real) string(requirement) string(is) string(that) string(they) string(_not_) string(be) string(used) string(with) string(a) string(service) string(model)
      string(that) string(does) string(not) string(support) string(multiple) string(parameters) string((like) string(@singleton@) string(or)
      string(@threaded@\).)

  operator(-) key<delimiter(")content(service model?)delimiter(")>operator(:) string(>-)
      string(A) string(_service) string(model_) string(is) string(a) string(description) string(of) string(the) string(lifecycle) string(of) string(a) string(service.) string(By)
      string(default,) string(all) string(services) string(are) string(_singletons_,) string(meaning) string(that) string(every) string(time) string(you) string(ask)
      string(a) string(container) string(for) string(a) string(particular) string(service,) string(you'll) string(get) string(the) string(same) string(object)
      string(instance) string(back.)


      string(There) string(are) string(other) string(service) string(models) string(available,) string(though,) string(including) string("prototype")
      string((which) string(returns) string(a) string(new) string(instance) string(for) string(each) string(request) string(of) string(a) string(service\)) string(and)
      string("deferred") string((which) string(returns) string(a) string(proxy,) string(deferring) string(the) string(instatiation) string(of) string(the)
      string(service) string(itself) string(until) string(a) string(method) string(is) string(invoked) string(on) string(the) string(service\).) 

  operator(-) key<delimiter(")content(interceptor?)delimiter(")>operator(:) string(>-)
      string(An) string(_interceptor_) string(is) string(an) string(object) string(that) string(may) string(be) string(placed) string(between) string(the) string(client) string(and)
      string(a) string(service.) string(Every) string(request) string(to) string(the) string(service) string(is) string(thus) string(_intercepted_) string(by) string(that)
      string(object,) string(which) string(can) string(do) string(operations) string(on) string(the) string(request) string((such) string(as) string(logging\)) string(and) string(may)
      string(even) string(reroute) string(or) string(ignore) string(the) string(request) string(altogether.) string(This) string(provides) string(a) string(kind) string(of)
      string("poor) string(man's) string(AOP",) string(since) string(you) string(can) string(do) string("before",) string("after",) string(and) string("around") string(advice)
      string(on) string(the) string(methods) string(of) string(a) string(service.)


      string(Needle) string(comes) string(with) string(one) string(standard) string(interceptor,) string(the) string(LoggingInterceptor.) string(It)
      string(will) string(log) string(a) string(message) string(on) string(method) string(entry) string(and) string(exit,) string(and) string(also) string(when) string(an) string(exception)
      string(is) string(raised.)

  operator(-) key<delimiter(")content(pipeline?)delimiter(")>operator(:) string(>-)
      string(In) string(Needle,) string(the) string(_instantiation) string(pipeline_) string(is) string(used) string(to) string(control) string(how) string(and) string(when)
      string(services) string(are) string(instantiated.) string(The) string(_service) string(models_) string(are) string(implemented) string(as)
      string(pipelines.)


      string(Just) string(as) string(the) string(_interceptors_) string(are) string(for) string(hooking) string(into) string(method) string(invocations,) string(the)
      string(pipelines) string(are) string(for) string(hooking) string(into) string(service) string(instantiations.) string(Every) string(time) string(a)
      string(service) string(is) string(requested,) string(it's) string(instantiation) string(pipeline) string(is) string(executed.) string(By)
      string(choosing) string(the) string(appropriate) string(kinds) string(of) string(pipeline) string(elements,) string(all) string(of) string(the) string(available)
      string(service) string(models) string(can) string(be) string(implemented) string((prototype,) string(prototype_deferred,)
      string(singleton,) string(singleton_deferred,) string(etc.\).)

operator(-) key<delimiter(")content(How do I...)delimiter(")>error(:)
  operator(-) key<delimiter(")content(create a new registry?)delimiter(")>operator(:) string(>-)
      string(There) string(are) string(several) string(ways) string(to) string(create) string(a) string(new) string(registry.) string(The) string(simplist) string(is) string(just) string(to)
      string(invoke) string(Registry#new.)


      string(<pre>)
        string(reg) string(=) key(Needle)error(:)symbol(:Registry)string(.new)
      string(</pre>)


      string(This) string(will) string(create) string(a) string(new) string(Registry) string(instance.) string(You) string(can) string(also) string(send) string(a) string(block) string(to)
      comment(#new, in which case the new registry will be yielded to it:)


      string(<pre>)
        string(reg) string(=) key(Needle)error(:)symbol(:Registry)string(.new) string(do) string(|r|)
          string(...)
        string(end)
      string(</pre>)


      string(There) string(are) string(two) string(other) string(factory) string(methods) string(you) string(can) string(use) string(for) string(creating) string(a) string(Registry)
      string(instance.) string(Both) string(require) string(a) string(block.)


      string(<pre>)
        string(r1) string(=) key(Needle)error(:)symbol(:Registry)string(.define) string(do) string(|builder|)
          string(...)
        string(end)

        string(r2) string(=) key(Needle)error(:)symbol(:Registry)string(.define!) string(do)
          string(...)
        string(end)
      string(</pre>)


      string(Registry#define) string(creates) string(a) string("builder") string(object) string(that) string(you) string(can) string(use) string(define)
      string(services) string(more) string(conveniently.) string(Register#define!) string((with) string(a) string(bang\)) string(does) string(the) string(same)
      string(thing,) string(but) string(evaluates) string(the) string(block) string(within) string(the) string(context) string(of) string(the) string(builder.)

  operator(-) key<delimiter(")content(register a service?)delimiter(")>operator(:) string(>-)
      string(The) string(first) string(way) string(to) string(register) string(a) string(service) string(is) string(by) string(calling) comment(#register on the)
      string(registry) string((or) string(a) string(namespace\))error(:)


      string(<pre>)
        string(reg.register() symbol(:foo) string(\)) operator({) string(Foo.new) operator(})
      string(</pre>)


      string(The) string((first\)) string(parameter) string(to) comment(#register is the name of the service, and the)
      string(block) string(should) string(return) string(the) string(implementation) string(of) string(the) string(service.) string(If) string(needed,) string(the)
      string(block) string(can) string(accept) string(two) string(parameters--the) string(container) string(that) string(the) string(service) string(is) string(being)
      string(registered) string(with,) string(and) string(an) string(object) string(that) string(represents) string(the) string(service) string(being) string(defined)
      string((called) string(a) string("service) string(point"\))error(:)


      string(<pre>)
        string(reg.register() symbol(:foo) string(\)) string(do) string(|container,point|)
          string(Foo.new() string(container[)symbol(:bar)operator(])operator(,) string(point.fullname) string(\))
        string(end)
      string(</pre>)


      string(You) string(can) string(also) string(use) string(Container#define) string(and) string(Container#define!) string(to) string(register)
      string(services.)  string(These) string(approaches) string(are) string(friendlier) string(if) string(you) string(are) string(needing) string(to) string(register)
      string(several) string(services) string(at) string(once.)


      string(<pre>)
        string(reg.define) string(do) string(|builder|)
          string(builder.foo) operator({) string(Foo.new) operator(})
          string(builder.bar) operator({) string(|c,p|) string(Bar.new() string(c[)symbol(:foo)operator(])operator(,) string(p.name) string(\)) operator(})
        string(end)

        string(reg.define!) string(do)
          string(baz) operator({) string(|c,p|) string(Baz.new() string(c[)symbol(:bar)operator(])operator(,) string(p.name) string(\)) operator(})
          string(zoom) operator({) string(Buggy.new) operator(})
        string(end)
      string(</pre>)


      string(Container#define) string(yields) string(a) string(new) string("builder") string(object) string(to) string(the) string(block.) string(Messages)
      string(sent) string(to) string(the) string(builder) string(are) string(interpreted) string(as) string(service) string(names,) string(and) string(if) string(a) string(block) string(is)
      string(sent) string(with) string(the) string(message,) string(a) string(new) string(service) string(is) string(registered) string(under) string(that) string(name.)

      
      string(Container#define!) string(does) string(likewise,) string(except) string(it) string(evaluates) string(the) string(block) string(within) string(the)
      string(context) string(of) string(the) string(builder) string(object.)


      string(If) string(you) string(do) string(not) string(pass) string(a) string(block) string(to) comment(#define, it will return the builder object,)
      string(so) string(you) string(could) string(do) string(something) string(like) string(the) string(following) string(if) string(you) string(only) string(need) string(to) string(define)
      string(one) string(or) string(two) key(services)error(:)


      string(<pre>)
        string(reg.define.foo) operator({) string(...) operator(})
      string(</pre>)


      string(Lastly,) string(you) string(can) string(get) string(the) string(builder) string(directly) string(and) string(add) string(services) string(using) key(it)error(:)


      string(<pre>)
        string(builder) string(=) string(reg.builder)
        string(builder.baz) operator({) string(...) operator(})
        string(builder.bar) operator({) string(...) operator(})
      string(</pre>)


      string((This) string(last) string(is) string(the) string(same) string(as) string(calling) comment(#define without arguments, but is more)
      string(readable) string(if) string(you) string(intend) string(to) string(use) string(the) string(builder) string(object) string(multiple) string(times.\))
      
  operator(-) key<delimiter(")content(reference a service?)delimiter(")>operator(:) string(>-)
      string(Referencing) string(a) string(service) string(can) string(be) string(done) string(in) string(either) string(of) string(two) string(ways.) string(The) string(first) string(is) string(to)
      string(treat) string(the) string(container) string((i.e.,) string(registry\)) string(as) string(a) string(hash,) string(passing) string(the) string(name) string(of) string(the)
      string(service) string(as) string(an) string(argument) string(to) string(Container#[])error(:)


      string(<pre>)
        string(svc) string(=) string(registry[)symbol(:foo)operator(])
        string(svc.do_something_interesting)
      string(</pre>)


      string(A) string(more) string(convenient) string((but) string(slightly) string(more) string(peril-fraught\)) string(approach) string(is) string(to) string(send)
      string(the) string(name) string(of) string(the) string(method) string(to) string(the) string(registry) string(as) string(a) key(message)error(:)


      string(<pre>)
        string(svc) string(=) string(registry.foo)
      string(</pre>)


      string(Be) string(aware) string(that) string(this) string(latter) string(approach) string(will) string(only) string(work) string(when) string(the) string(service) string(name)
      string(does) string(not) string(conflict) string(with) string(the) string(name) string(of) string(an) string(existing) string(method) string(on) string(the) string(container.)
      string(For) string(example,) string(if) string(you) string(were) string(to) key(do)error(:)


      string(<pre>)
        string(registry.register() symbol(:hash) string(\)) operator({) string("hello,) string(world") operator(})
        string(p) string(registry.hash)
      string(</pre>)


      string(You) string(would) string(get) string(the) string(hash) string(value) string(of) string(the) string(registry) string(object,) string(instead) string(of) string(the) string(value)
      string(value) string(of) string(the) string(service) string((which) string(would) string(be) string("hello,) string(world"\).)

  operator(-) key<delimiter(")content(select a service model for a service (i.e., change the default model of lifecycle management\)?)delimiter(")>operator(:) string(>-)
      string(By) string(default,) string(a) string(service) string(will) string(be) string(managed) string(as) string(a) string(singleton,) string(i.e.,) string(every) string(request)
      string(of) string(that) string(service) string(will) string(return) string(the) string(same) string(object) string(instance.) string(This) string(is) string(the)
      string(_singleton_) string(service) string(model.)


      string(To) string(select) string(a) string(different) string(service) string(model,) string(pass) string(it) string(as) string(an) string(option) string(when) string(you)
      string(register) string(the) key(service)error(:)


      string(<pre>)
        string(registry.register() symbol(:foo)operator(,) symbol(:model) string(=>) symbol(:prototype) string(\)) operator({)string(...})
        string(registry.define.bar() symbol(:model) string(=>) symbol(:threaded) string(\)) operator({)string(...})
        string(registry.define!) string(do)
          string(baz() symbol(:model) string(=>) symbol(:singleton_deferred) string(\)) operator({)string(...})
          string(...)
        string(end)
        string(...)
      string(</pre>)

  operator(-) key<delimiter(")content(create a namespace?)delimiter(")>operator(:) string(>-)
      string(Namespaces) string(allow) string(you) string(to) string(organize) string(your) string(services) string(into) string(hierarchical)
      string(packages.) string(You) string(can) string(create) string(namespaces) string(in) string(a) string(few) string(ways.) string(The) string(first) string((and)
      string(simplest\)) string(is) string(to) string(just) string(call) string(Container#namespace)error(:)


      string(<pre>)
        string(registry.namespace() symbol(:stuff) string(\))
      string(</pre>)


      string(This) string(will) string(create) string(a) string(namespace) string(in) string(the) string(registry,) string(called) string(stuff.) string(If) string(you) string(send) string(a)
      string(block) string(as) string(well,) string(the) string(block) string(will) string(be) string(invoked) string((with) string(the) string(new) string(namespace) string(yielded)
      string(to) string(it\)) string(the) string(first) string(time) string(the) string(namespace) string(is) key(requested)error(:)


      string(<pre>)
        string(registry.namespace() symbol(:stuff) string(\)) string(do) string(|ns|)
          string(ns.register() symbol(:foo) string(\)) operator({)string(...})
          string(ns.define.bar) operator({)string(...})
          string(ns.define!) string(do)
            string(baz) operator({)string(...})
            string(buf) operator({)string(...})
          string(end)
        string(end)
      string(</pre>)

      string(Because) string(it) string(is) string(so) string(common) string(to) string(immediately) string(define) string(services) string(on) string(the) string(new)
      string(namespace,) string(there) string(are) string(some) string(convenience) string(methods) string(to) string(make) string(this) string(more...)
      string(convenient.)


      string(<pre>)
        string(registry.namespace_define!() symbol(:stuff) string(\)) string(do)
          string(foo) operator({)string(...})
          string(bar) operator({)string(...})
          string(baz) operator({)string(...})
        string(end)

        string(registry.namespace_define() symbol(:more_stuff) string(\)) string(do) string(|b|)
          string(b.blah) operator({)string(...})
          string(b.argh) operator({)string(...})
          string(b.hack) operator({)string(...})
        string(end)
      string(</pre>)


      string(The) string(first) string(one,) string(above,) string(creates) string(the) string(namespace) string(and) string(calls) string(Container#define!.)
      string(The) string(second) string(creates) string(the) string(namespace) string(and) string(calls) string(Container#define.) string(In) string(both)
      string(cases,) string(_the) string(namespace) string(is) string(created) string(immediately_,) string(unlike) string(Container#namespace)
      string(which) string(only) string(creates) string(the) string(namespace) string(when) string(it) string(is) string(first) string(requested.)


      string(Lastly,) string(note) string(that) string(namespace's) string(are) string(just) string(special) string(services.) string(Thus,) string(you) string(can)
      string(pass) string(options) string(to) string(the) string(namespace) string(methods) string(just) string(as) string(you) string(can) string(with)
      string(Container#register) string(and) string(friends.)

  operator(-) key<delimiter(")content(write log messages?)delimiter(")>operator(:) string(>-)
      string(You) string(can) string(obtain) string(a) string(new) string(logger) string(instance) string(from) string(the) string(@)symbol(:logs)string(@) string(and) string(@)symbol(:log_for)string(@)
      string(services.) string(Once) string(you) string(have) string(a) string(logger) string(instance,) string(you) string(can) string(invoke) string(the) comment(#debug,)
      comment(#info, #warn, #error, and #fatal methods on the instance to log messages)
      string(of) string(the) string(corresponding) string(severity.)


      string(<pre>)
        string(logger) string(=) string(registry.logs.get() string("a) string(name) string(for) string(my) string(logger") string(\))
        string(logger.debug) string("This) string(is) string(a) string(debug) string(message")
        string(logger.info) string("This) string(is) string(an) string(informational) string(message")
        string(...)
        string(logger2) string(=) string(registry.log_for() string("another) string(logger) string(name") string(\))
        string(...)
      string(</pre>)


      string(The) string(two) string(approaches) string(shown) string(above) string(are) string(identical--the) string(second) string(approach) string((using)
      string(the) string(@log_for@) string(service\)) string(is) string(just) string(a) string(convenience) string(for) string(@logs.get@.)


      string(Log) string(messages) string(are) string(written,) string(by) string(default,) string(to) string(a) string(file) string(called) string("needle.log",) string(in)
      string(the) string(same) string(directory) string(that) string(the) string(application) string(was) string(invoked) string(from.)


      string(You) string(can) string(also) string(use) string(a) string(logging) string(interceptor) string(to) string(automatically) string(log) string(all) string(external)
      string(method) string(invocations) string(on) string(a) string(service.) string(This) string(includes) string(method) string(entry) string(and) string(exit,) string(as)
      string(well) string(as) string(any) string(exceptions) string(that) string(are) string(raised) string(inside) string(the) string(method.)


      string(<pre>)
        string(registry.register() symbol(:foo) string(\)) operator({) string(...) operator(})
        string(registry.intercept() symbol(:foo) string(\).with) operator({) string(|r|) string(r.logging_interceptor) operator(})

        string(foo.something)
        string(foo.another_method() string(1,) string(2,) string(3) string(\))
      string(</pre>)


      string(See) string(the) string(chapter) string(in) string(the) key<delimiter(")content(User's Manual)delimiter(")>symbol(:http)error(:)string(//needle.rubyforge.org) string(about)
      string(logging) string(for) string(more) string(information) string(on) string(how) string(to) string(use) string(and) string(configure) string(loggers.)

  operator(-) key<delimiter(")content(exclude methods from being intercepted?)delimiter(")>operator(:) string(>-)
      string(Only) string(interceptors) string(that) string(explicitly) string(support) string(exclusion) string(of) string(methods) string(can) string(help)
      string(you) string(here.)  string(Fortunately,) string(the) string(LoggingInterceptor) string(is) string(one) string(of) string(them.) string((If) string(you)
      string(write) string(your) string(own) string(interceptor) string(and) string(would) string(like) string(similar) string(functionality,) string(see) string(the)
      string(IncludeExclude) string(module.\))


      string(In) string(the) string(case) string(of) string(the) string(LoggingInterceptor,) string(just) string(pass) string(an) string(array) string(of) string(patterns)
      string((matching) string(method) string(names) string(and/or) string(arities\)) string(as) string(the) string("exclude") string(option,) string(when)
      string(declaring) string(the) key(interceptor)error(:)


      string(<pre>)
        string(registry.register() symbol(:foo) string(\)) operator({) string(...) operator(})
        string(registry.intercept() symbol(:foo) string(\).)
          string(with) operator({) string(|r|) string(r.logging_interceptor) operator(})string(.)
          string(with_options) symbol(:exclude) string(=>) operator([) string('foo',) string('bar(>4\)',) string('*(<2\)') operator(])
      string(</pre>)


      string(The) string(above) string(will) string(exclude) string(from) string(interception) string(any) string(method) string(named) string('foo',) string(or) string(any)
      string(invocation) string(of) string('bar') string(with) string(more) string(than) string(4) string(arguments,) string(or) string(any) string(method) string(invocation)
      string(with) string(fewer) string(than) string(two) string(arguments.)


      string(You) string(can) string(also) string(give) string(an) string(array) string(of) string(patterns) string(to) string(_include_.) string(These) string(cause) string(methods)
      string(to) string(be) string(explicitly) string(intercepted) string(even) string(if) string(they) string(match) string(an) string(exclude) key(pattern)error(:)


      string(<pre>)
        string(registry.register() symbol(:foo) string(\)) operator({) string(...) operator(})
        string(registry.intercept() symbol(:foo) string(\).)
          string(with) operator({) string(|r|) string(r.logging_interceptor) operator(})string(.)
          string(with_options) symbol(:exclude) string(=>) operator([) string('foo',) string('bar(>4\)',) string('*(<2\)') operator(])operator(,)
                       symbol(:include) string(=>) operator([) string('baz') operator(])

        string(foo) string(=) string(registry.foo)
        string(foo.baz)
      string(</pre>)


      string(This) string(would) string(result) string(in) string(the) string(call) string(to) comment(#baz being intercepted, even though it)
      string(matches) string(an) string(exclude) string(pattern) string((@*(<2\)@\).)

  operator(-) key<delimiter(")content(include services defined in another library?)delimiter(")>operator(:) string(>-)
      string(This) string(requires) string(that) string(the) string(other) string(library) string(be) string(implemented) string(in) string(such) string(a) string(way) string(that) string(it)
      string(expects) string(to) string(be) string("included") string(by) string(other) string(libraries/applications.) string(For) string(example,)
      string(Needle) string(encourages) string(the) string(use) string(of) string(a) string(method) string(called) string(@register_services@,) string(which)
      string(accepts) string(a) string(container) string(as) string(a) key(parameter)error(:)


      string(<pre>)
        string(module) string(A)
          string(module) string(B)
            string(def) string(register_services() string(container) string(\))
              string(...)
            string(end)
            string(module_function) symbol(:register_services)
          string(end)
        string(end)
      string(</pre>)


      string(If) string(the) string(library) string(has) string(been) string(implemented) string(in) string(this) string(way,) string(you) string(can) string(simply) string(do) string(a)
      string(require) string(of) string(the) string(library) string(and) string(then) string(invoke) string(the) string(@register_services@) string(method.)


      string(There) string(is) string(a) string(convenience) string(method) string(in) string(Container) string(for) string(doing) string(this.) string(Just) string(call)
      string(Container#require,) string(passing) string(the) string(file) string(to) string(require) string(and) string(a) string(string) string((or) string(symbol\))
      string(identifying) string(the) string(name) string(of) string(the) string(module) string(that) string(contains) string(the) string(registration) string(method.)
      string(You) string(can) string(also) string(pass) string(a) string(symbol) string(as) string(the) string(third) string(parameter) string(naming) string(the) string(registration)
      string(method,) string(but) string(it) string(defaults) string(to) string(@)symbol(:register_services)string(@.)


      string(<pre>)
        string(require) string('a/b')
        key(A)error(:)symbol(:B)string(.register_services() string(container) string(\))

        comment(# or)

        string(container.require() string('a/b',) string("A)error(:)symbol(:B)string(") string(\))
      string(</pre>)


      string(The) string(definition) string(context) string((i.e.,) string(the) string("builder") string(object\)) string(also) string(supports) string(the)
      string(require) string(method,) string(so) string(you) string(can) key(do)error(:)


      string(<pre>)
        string(container.define) string(do) string(|b|)
          string(b.require) string("a/b",) string("A)error(:)symbol(:B)string(")
          string(b.foo) operator({) string(...) operator(})
          string(...)
        string(end)
      string(</pre>)

operator(-) key<delimiter(")content(When should I...)delimiter(")>error(:)
  operator(-) key<delimiter(")content(use a different service model?)delimiter(")>error(:)
    operator(-) key<delimiter(")content(Like, :prototype?)delimiter(")>operator(:) string(>-)
        string(The) string(prototype) string(service) string(model) string(is) string(appropriate) string(when) string(the) key(service)error(:)


        string(*) string(has) string(internal) string(state)

        string(*) string(will) string(be) string(used) string(multiple) string(times) string(for) string(different) string(situations)


        string(For) string(example,) string(if) string(you) string(have) string(a) string(GUI) string(library,) string(a) string("button") string(service) string(could) string(be) string(a)
        string(prototype,) string(because) string(you) string(will) string(likely) string(have) string(many) string(buttons) string(in) string(an) string(application,)
        string(with) string(each) string(button) string(being) string(an) string(independent) string(instance.)
      
    operator(-) key<delimiter(")content(Like, :singleton?)delimiter(")>operator(:) string(>-)
        string(The) string(singleton) string(service) string(model) string(is) string(the) string(default,) string(so) string(you) string(should) string(rarely) string(need)
        string(to) string(explicitly) string(specify) string(it) string(as) string(a) string(model.) string(It) string(is) string(appropriate) string(for) string(services)
        key(that)error(:)


        string(*) string(guard) string(some) string(specific) string(functionality)

        string(*) string(represent) string(state) string(that) string(is) string(global) string(across) string(an) string(application)

    operator(-) key<delimiter(")content(Like, :threaded?)delimiter(")>operator(:) string(>-)
        string(Threaded) string(is) string(similar) string(to) string(singleton,) string(but) string(it) string(allows) string(one) string(unique) string(instance) string(of)
        string(the) string(service) string(_per) string(thread_.) string(Thus,) string(it) string(is) string(appropriate) string(to) string(the) string(same)
        string(situations) string(as) string(singleton,) string(but) string(specific) string(to) string(a) string(thread,) string(instead) string(of) string(an)
        string(application.) string(This) string(is) string(useful) string(for) string(web) string(applications) string(that) string(are) string(run) string(in) string(a)
        string(single) string(virtual) string(machine,) string(and) string(which) string(share) string(a) string(single) string(registry.)

    operator(-) key<delimiter(")content(Like, deferred?)delimiter(")>operator(:) string(>-)
        string(Deferred) string(models) string(use) string(a) string(proxy) string(to) string(enforce) string(lazy) string(initialization) string(of) string(the)
        string(service.) string(A) string(service) string(using) string(a) string(deferred) string(service) string(model) string((ie,)
        string(@)symbol(:prototype_deferred)string(@,) string(@)symbol(:multiton_deferred)string(@,) string(@)symbol(:singleton_deferred)string(@,) string(or)
        string(@)symbol(:threaded_deferred)string(@\)) string(will) string(not) string(be) string(instantiated) string(until) string(the) string(first) string(time) string(a)
        string(method) string(is) string(invoked) string(on) string(the) string(service.)


        string(This) string(makes) string(a) string(deferred) string(model) string(appropriate) string(when) string(a) string(service) string(is) string(expensive) string(to)
        string(instantiate,) string(since) string(you) string(can) string(wait) string(to) string(do) string(the) string(expensive) string(initialization)
        string(until) string(it) string(is) string(really) string(needed.) string(Applications) string(will) string(start) string(up) string(faster) string(when) string(their)
        string(dependences) string(use) string(deferred) string(instantiation.)

    operator(-) key<delimiter(")content(Like, initialize?)delimiter(")>operator(:) string(>-)
        string(This) string(is) string(useful) string(when) string(you) string(have) string(a) string(method) string(that) string(you) string(want) string(to) string(be) string(invoked)
        string(automatically) string(after) string(a) string(service) string(has) string(been) string(instantiated.) string(Consider) string(the) string(case)
        string(where) string(a) string(service) string(is) string(initialized) string(primarily) string(using) string(setters,) string(but) string(requires)
        string(some) string(logic) string(to) string(be) string(executed) string(to) string(complete) string(the) string(initialization) string(phase.) string(In) string(this)
        string(case,) string(you) string(could) string(always) string(explicitly) string(invoke) string(the) string(initialization) string(method(s\))
        string(in) string(the) string(constructor) string(block,) string(but) string(if) string(many) string(services) string(use) string(the) string(same)
        string(initialization) string(method,) string(it) string(can) string(be) string(more) string(convenient) string(to) string(use) string(an) string("initialize")
        string(service) string(model.)

    operator(-) key<delimiter(")content(Like, multiton?)delimiter(")>operator(:) string(>-)
        string(Multitons) string(are) string(useful) string(for) string(factories,) string(where) string(you) string(have) string(a) string(class) string(that)
        string(differentiates) string(its) string(instances) string(based) string(on) string(some) string(construction) string(parameters) string(that)
        string(need) string(to) string(be) string(determined) string(at) string(runtime.) string(Thus,) string(multitons) string(are) string(always) string(used) string(with)
        string(parameterized) string(services.)