puppet 0.25.5 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (1474) hide show
  1. data/CHANGELOG +667 -0
  2. data/LICENSE +2 -2
  3. data/README +5 -1
  4. data/README.queueing +1 -1
  5. data/README.rst +7 -4
  6. data/Rakefile +6 -18
  7. data/bin/filebucket +0 -94
  8. data/bin/pi +2 -47
  9. data/bin/puppet +2 -69
  10. data/bin/puppetca +2 -100
  11. data/bin/puppetd +2 -158
  12. data/bin/puppetdoc +2 -63
  13. data/bin/puppetmasterd +2 -64
  14. data/bin/puppetqd +2 -51
  15. data/bin/puppetrun +2 -127
  16. data/bin/ralsh +2 -87
  17. data/conf/epm.list +2 -2
  18. data/conf/osx/PackageInfo.plist +1 -1
  19. data/conf/redhat/client.init +11 -8
  20. data/conf/redhat/puppet.conf +1 -1
  21. data/conf/redhat/puppet.spec +1 -1
  22. data/conf/redhat/rundir-perms.patch +13 -13
  23. data/conf/redhat/server.init +11 -5
  24. data/conf/solaris/pkginfo +2 -2
  25. data/conf/solaris/smf/puppetd.xml +3 -3
  26. data/conf/solaris/smf/puppetmasterd.xml +3 -3
  27. data/conf/suse/client.init +3 -2
  28. data/conf/suse/puppet.spec +22 -18
  29. data/conf/suse/server.init +12 -11
  30. data/examples/modules/sample-module/README.txt +3 -3
  31. data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +4 -4
  32. data/ext/extlookup.rb +94 -96
  33. data/ext/nagios/check_puppet.rb +94 -88
  34. data/ext/nagios/naggen +3 -3
  35. data/ext/puppet-test +27 -3
  36. data/ext/puppetlisten/puppetlisten.rb +39 -39
  37. data/ext/puppetlisten/puppetrun.rb +6 -6
  38. data/ext/puppetstoredconfigclean.rb +49 -43
  39. data/ext/pure_ruby_dsl/dsl_test.rb +7 -0
  40. data/ext/regexp_nodes/regexp_nodes.rb +133 -133
  41. data/ext/yaml_nodes.rb +99 -0
  42. data/install.rb +109 -118
  43. data/lib/puppet.rb +118 -131
  44. data/lib/puppet/agent.rb +86 -119
  45. data/lib/puppet/agent/locker.rb +28 -30
  46. data/lib/puppet/application.rb +276 -184
  47. data/lib/puppet/application/agent.rb +266 -0
  48. data/lib/puppet/application/apply.rb +165 -0
  49. data/lib/puppet/application/cert.rb +85 -0
  50. data/lib/puppet/application/describe.rb +203 -0
  51. data/lib/puppet/application/doc.rb +215 -0
  52. data/lib/puppet/application/filebucket.rb +73 -73
  53. data/lib/puppet/application/kick.rb +212 -0
  54. data/lib/puppet/application/master.rb +156 -0
  55. data/lib/puppet/application/queue.rb +91 -0
  56. data/lib/puppet/application/resource.rb +118 -0
  57. data/lib/puppet/configurer.rb +214 -197
  58. data/lib/puppet/configurer/downloader.rb +63 -63
  59. data/lib/puppet/configurer/fact_handler.rb +51 -51
  60. data/lib/puppet/configurer/plugin_handler.rb +19 -19
  61. data/lib/puppet/daemon.rb +100 -103
  62. data/lib/puppet/defaults.rb +793 -796
  63. data/lib/puppet/dsl.rb +5 -269
  64. data/lib/puppet/dsl/resource_api.rb +120 -0
  65. data/lib/puppet/dsl/resource_type_api.rb +40 -0
  66. data/lib/puppet/error.rb +34 -36
  67. data/lib/puppet/external/base64.rb +8 -8
  68. data/lib/puppet/external/dot.rb +262 -262
  69. data/lib/puppet/external/event-loop/better-definers.rb +297 -297
  70. data/lib/puppet/external/event-loop/event-loop.rb +264 -272
  71. data/lib/puppet/external/event-loop/signal-system.rb +161 -163
  72. data/lib/puppet/external/lock.rb +41 -41
  73. data/lib/puppet/external/nagios.rb +32 -32
  74. data/lib/puppet/external/nagios/base.rb +453 -458
  75. data/lib/puppet/external/nagios/parser.rb +264 -287
  76. data/lib/puppet/external/pson/common.rb +8 -5
  77. data/lib/puppet/external/pson/pure/generator.rb +26 -26
  78. data/lib/puppet/external/pson/pure/parser.rb +43 -48
  79. data/lib/puppet/feature/base.rb +21 -1
  80. data/lib/puppet/feature/pson.rb +4 -4
  81. data/lib/puppet/feature/rack.rb +14 -14
  82. data/lib/puppet/feature/rails.rb +23 -25
  83. data/lib/puppet/file_bucket.rb +4 -0
  84. data/lib/puppet/file_bucket/dipper.rb +99 -0
  85. data/lib/puppet/file_bucket/file.rb +136 -0
  86. data/lib/puppet/file_bucket/file/indirection_hooks.rb +9 -0
  87. data/lib/puppet/file_collection.rb +20 -20
  88. data/lib/puppet/file_collection/lookup.rb +11 -11
  89. data/lib/puppet/file_serving/base.rb +67 -71
  90. data/lib/puppet/file_serving/configuration.rb +84 -86
  91. data/lib/puppet/file_serving/configuration/parser.rb +103 -102
  92. data/lib/puppet/file_serving/content.rb +34 -33
  93. data/lib/puppet/file_serving/fileset.rb +131 -133
  94. data/lib/puppet/file_serving/indirection_hooks.rb +17 -17
  95. data/lib/puppet/file_serving/metadata.rb +98 -95
  96. data/lib/puppet/file_serving/mount.rb +22 -22
  97. data/lib/puppet/file_serving/mount/file.rb +101 -106
  98. data/lib/puppet/file_serving/mount/modules.rb +15 -15
  99. data/lib/puppet/file_serving/mount/plugins.rb +15 -16
  100. data/lib/puppet/file_serving/terminus_helper.rb +13 -13
  101. data/lib/puppet/indirector.rb +48 -49
  102. data/lib/puppet/indirector/active_record.rb +19 -19
  103. data/lib/puppet/indirector/catalog/active_record.rb +25 -25
  104. data/lib/puppet/indirector/catalog/compiler.rb +134 -145
  105. data/lib/puppet/indirector/catalog/rest.rb +1 -1
  106. data/lib/puppet/indirector/catalog/yaml.rb +13 -13
  107. data/lib/puppet/indirector/certificate/ca.rb +3 -3
  108. data/lib/puppet/indirector/certificate/file.rb +3 -3
  109. data/lib/puppet/indirector/certificate/rest.rb +8 -8
  110. data/lib/puppet/indirector/certificate_request/ca.rb +7 -7
  111. data/lib/puppet/indirector/certificate_request/file.rb +2 -2
  112. data/lib/puppet/indirector/certificate_request/rest.rb +3 -3
  113. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +2 -2
  114. data/lib/puppet/indirector/certificate_revocation_list/file.rb +2 -2
  115. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +3 -3
  116. data/lib/puppet/indirector/couch.rb +76 -0
  117. data/lib/puppet/indirector/direct_file_server.rb +11 -11
  118. data/lib/puppet/indirector/envelope.rb +4 -4
  119. data/lib/puppet/indirector/exec.rb +38 -42
  120. data/lib/puppet/indirector/facts/active_record.rb +24 -24
  121. data/lib/puppet/indirector/facts/couch.rb +31 -0
  122. data/lib/puppet/indirector/facts/facter.rb +63 -61
  123. data/lib/puppet/indirector/facts/memory.rb +4 -4
  124. data/lib/puppet/indirector/facts/rest.rb +1 -1
  125. data/lib/puppet/indirector/facts/yaml.rb +2 -2
  126. data/lib/puppet/indirector/file.rb +67 -46
  127. data/lib/puppet/indirector/file_bucket_file/file.rb +146 -0
  128. data/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  129. data/lib/puppet/indirector/file_content/file.rb +1 -1
  130. data/lib/puppet/indirector/file_content/file_server.rb +1 -1
  131. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  132. data/lib/puppet/indirector/file_metadata/file.rb +11 -11
  133. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -1
  134. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  135. data/lib/puppet/indirector/file_server.rb +44 -44
  136. data/lib/puppet/indirector/indirection.rb +249 -260
  137. data/lib/puppet/indirector/key/ca.rb +5 -5
  138. data/lib/puppet/indirector/key/file.rb +29 -29
  139. data/lib/puppet/indirector/ldap.rb +62 -64
  140. data/lib/puppet/indirector/memory.rb +13 -13
  141. data/lib/puppet/indirector/node/active_record.rb +6 -6
  142. data/lib/puppet/indirector/node/exec.rb +40 -44
  143. data/lib/puppet/indirector/node/ldap.rb +246 -212
  144. data/lib/puppet/indirector/node/memory.rb +5 -5
  145. data/lib/puppet/indirector/node/plain.rb +12 -12
  146. data/lib/puppet/indirector/node/rest.rb +2 -2
  147. data/lib/puppet/indirector/node/yaml.rb +2 -2
  148. data/lib/puppet/indirector/plain.rb +4 -4
  149. data/lib/puppet/indirector/queue.rb +49 -51
  150. data/lib/puppet/indirector/report/processor.rb +34 -37
  151. data/lib/puppet/indirector/report/rest.rb +3 -3
  152. data/lib/puppet/indirector/request.rb +171 -157
  153. data/lib/puppet/indirector/resource/ral.rb +48 -0
  154. data/lib/puppet/indirector/resource/rest.rb +5 -0
  155. data/lib/puppet/indirector/resource_type.rb +5 -0
  156. data/lib/puppet/indirector/resource_type/parser.rb +27 -0
  157. data/lib/puppet/indirector/resource_type/rest.rb +7 -0
  158. data/lib/puppet/indirector/rest.rb +83 -79
  159. data/lib/puppet/indirector/run/local.rb +8 -0
  160. data/lib/puppet/indirector/run/rest.rb +6 -0
  161. data/lib/puppet/indirector/ssl_file.rb +165 -165
  162. data/lib/puppet/indirector/status.rb +3 -0
  163. data/lib/puppet/indirector/status/local.rb +7 -0
  164. data/lib/puppet/indirector/status/rest.rb +5 -0
  165. data/lib/puppet/indirector/terminus.rb +129 -133
  166. data/lib/puppet/indirector/yaml.rb +47 -49
  167. data/lib/puppet/metatype/manager.rb +120 -114
  168. data/lib/puppet/module.rb +182 -124
  169. data/lib/puppet/network/authconfig.rb +146 -156
  170. data/lib/puppet/network/authorization.rb +63 -70
  171. data/lib/puppet/network/authstore.rb +226 -232
  172. data/lib/puppet/network/client.rb +141 -152
  173. data/lib/puppet/network/client/ca.rb +47 -49
  174. data/lib/puppet/network/client/file.rb +3 -3
  175. data/lib/puppet/network/client/proxy.rb +19 -19
  176. data/lib/puppet/network/client/report.rb +17 -21
  177. data/lib/puppet/network/client/runner.rb +5 -7
  178. data/lib/puppet/network/client/status.rb +1 -1
  179. data/lib/puppet/network/client_request.rb +20 -22
  180. data/lib/puppet/network/format.rb +79 -81
  181. data/lib/puppet/network/format_handler.rb +135 -130
  182. data/lib/puppet/network/formats.rb +128 -154
  183. data/lib/puppet/network/handler.rb +43 -46
  184. data/lib/puppet/network/handler/ca.rb +129 -135
  185. data/lib/puppet/network/handler/filebucket.rb +39 -170
  186. data/lib/puppet/network/handler/fileserver.rb +624 -656
  187. data/lib/puppet/network/handler/master.rb +62 -75
  188. data/lib/puppet/network/handler/report.rb +60 -67
  189. data/lib/puppet/network/handler/runner.rb +20 -20
  190. data/lib/puppet/network/handler/status.rb +9 -9
  191. data/lib/puppet/network/http.rb +12 -12
  192. data/lib/puppet/network/http/api/v1.rb +49 -44
  193. data/lib/puppet/network/http/compression.rb +111 -0
  194. data/lib/puppet/network/http/handler.rb +183 -183
  195. data/lib/puppet/network/http/mongrel.rb +46 -48
  196. data/lib/puppet/network/http/mongrel/rest.rb +73 -66
  197. data/lib/puppet/network/http/rack.rb +45 -45
  198. data/lib/puppet/network/http/rack/httphandler.rb +7 -7
  199. data/lib/puppet/network/http/rack/rest.rb +84 -61
  200. data/lib/puppet/network/http/rack/xmlrpc.rb +49 -49
  201. data/lib/puppet/network/http/webrick.rb +108 -112
  202. data/lib/puppet/network/http/webrick/rest.rb +60 -57
  203. data/lib/puppet/network/http_pool.rb +95 -83
  204. data/lib/puppet/network/http_server/mongrel.rb +90 -90
  205. data/lib/puppet/network/http_server/webrick.rb +139 -148
  206. data/lib/puppet/network/rest_authconfig.rb +76 -71
  207. data/lib/puppet/network/rest_authorization.rb +11 -13
  208. data/lib/puppet/network/rights.rb +217 -226
  209. data/lib/puppet/network/server.rb +147 -151
  210. data/lib/puppet/network/xmlrpc/client.rb +197 -205
  211. data/lib/puppet/network/xmlrpc/processor.rb +68 -72
  212. data/lib/puppet/network/xmlrpc/server.rb +10 -10
  213. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +94 -100
  214. data/lib/puppet/node.rb +99 -107
  215. data/lib/puppet/node/environment.rb +109 -62
  216. data/lib/puppet/node/facts.rb +48 -43
  217. data/lib/puppet/parameter.rb +246 -498
  218. data/lib/puppet/parameter/value.rb +63 -0
  219. data/lib/puppet/parameter/value_collection.rb +143 -0
  220. data/lib/puppet/parser.rb +4 -0
  221. data/lib/puppet/parser/ast.rb +81 -67
  222. data/lib/puppet/parser/ast/arithmetic_operator.rb +27 -29
  223. data/lib/puppet/parser/ast/astarray.rb +50 -50
  224. data/lib/puppet/parser/ast/asthash.rb +37 -0
  225. data/lib/puppet/parser/ast/boolean_operator.rb +33 -35
  226. data/lib/puppet/parser/ast/branch.rb +29 -31
  227. data/lib/puppet/parser/ast/caseopt.rb +50 -56
  228. data/lib/puppet/parser/ast/casestatement.rb +30 -30
  229. data/lib/puppet/parser/ast/collection.rb +43 -37
  230. data/lib/puppet/parser/ast/collexpr.rb +66 -69
  231. data/lib/puppet/parser/ast/comparison_operator.rb +32 -35
  232. data/lib/puppet/parser/ast/else.rb +13 -13
  233. data/lib/puppet/parser/ast/function.rb +34 -43
  234. data/lib/puppet/parser/ast/ifstatement.rb +23 -27
  235. data/lib/puppet/parser/ast/in_operator.rb +24 -0
  236. data/lib/puppet/parser/ast/leaf.rb +173 -156
  237. data/lib/puppet/parser/ast/match_operator.rb +16 -19
  238. data/lib/puppet/parser/ast/minus.rb +13 -13
  239. data/lib/puppet/parser/ast/nop.rb +6 -6
  240. data/lib/puppet/parser/ast/not.rb +9 -9
  241. data/lib/puppet/parser/ast/relationship.rb +60 -0
  242. data/lib/puppet/parser/ast/resource.rb +58 -57
  243. data/lib/puppet/parser/ast/resource_defaults.rb +16 -16
  244. data/lib/puppet/parser/ast/resource_override.rb +51 -51
  245. data/lib/puppet/parser/ast/resource_reference.rb +17 -72
  246. data/lib/puppet/parser/ast/resourceparam.rb +20 -17
  247. data/lib/puppet/parser/ast/selector.rb +30 -34
  248. data/lib/puppet/parser/ast/tag.rb +16 -16
  249. data/lib/puppet/parser/ast/vardef.rb +20 -16
  250. data/lib/puppet/parser/collector.rb +181 -189
  251. data/lib/puppet/parser/compiler.rb +395 -364
  252. data/lib/puppet/parser/files.rb +65 -69
  253. data/lib/puppet/parser/functions.rb +85 -97
  254. data/lib/puppet/parser/functions/defined.rb +23 -23
  255. data/lib/puppet/parser/functions/fail.rb +2 -2
  256. data/lib/puppet/parser/functions/file.rb +21 -19
  257. data/lib/puppet/parser/functions/fqdn_rand.rb +7 -7
  258. data/lib/puppet/parser/functions/generate.rb +24 -26
  259. data/lib/puppet/parser/functions/include.rb +16 -18
  260. data/lib/puppet/parser/functions/inline_template.rb +16 -17
  261. data/lib/puppet/parser/functions/realize.rb +8 -8
  262. data/lib/puppet/parser/functions/regsubst.rb +74 -59
  263. data/lib/puppet/parser/functions/require.rb +35 -33
  264. data/lib/puppet/parser/functions/search.rb +5 -5
  265. data/lib/puppet/parser/functions/sha1.rb +3 -4
  266. data/lib/puppet/parser/functions/shellquote.rb +31 -33
  267. data/lib/puppet/parser/functions/split.rb +8 -8
  268. data/lib/puppet/parser/functions/sprintf.rb +10 -9
  269. data/lib/puppet/parser/functions/tag.rb +3 -3
  270. data/lib/puppet/parser/functions/tagged.rb +13 -13
  271. data/lib/puppet/parser/functions/template.rb +18 -19
  272. data/lib/puppet/parser/functions/versioncmp.rb +17 -14
  273. data/lib/puppet/parser/grammar.ra +485 -422
  274. data/lib/puppet/parser/lexer.rb +500 -442
  275. data/lib/puppet/parser/parser.rb +1438 -1084
  276. data/lib/puppet/parser/parser_support.rb +227 -502
  277. data/lib/puppet/parser/relationship.rb +43 -0
  278. data/lib/puppet/parser/resource.rb +280 -375
  279. data/lib/puppet/parser/resource/param.rb +18 -18
  280. data/lib/puppet/parser/scope.rb +450 -447
  281. data/lib/puppet/parser/templatewrapper.rb +92 -94
  282. data/lib/puppet/parser/type_loader.rb +146 -0
  283. data/lib/puppet/parser/yaml_trimmer.rb +6 -8
  284. data/lib/puppet/property.rb +290 -453
  285. data/lib/puppet/property/ensure.rb +92 -0
  286. data/lib/puppet/property/keyvalue.rb +74 -82
  287. data/lib/puppet/property/list.rb +71 -81
  288. data/lib/puppet/property/ordered_list.rb +15 -15
  289. data/lib/puppet/provider.rb +229 -241
  290. data/lib/puppet/provider/augeas/augeas.rb +318 -320
  291. data/lib/puppet/provider/computer/computer.rb +13 -13
  292. data/lib/puppet/provider/confine.rb +63 -63
  293. data/lib/puppet/provider/confine/exists.rb +14 -14
  294. data/lib/puppet/provider/confine/false.rb +12 -12
  295. data/lib/puppet/provider/confine/feature.rb +10 -10
  296. data/lib/puppet/provider/confine/true.rb +13 -13
  297. data/lib/puppet/provider/confine/variable.rb +51 -54
  298. data/lib/puppet/provider/confine_collection.rb +38 -38
  299. data/lib/puppet/provider/confiner.rb +10 -14
  300. data/lib/puppet/provider/cron/crontab.rb +172 -173
  301. data/lib/puppet/provider/file/posix.rb +99 -0
  302. data/lib/puppet/provider/file/win32.rb +74 -0
  303. data/lib/puppet/provider/group/directoryservice.rb +6 -6
  304. data/lib/puppet/provider/group/groupadd.rb +18 -20
  305. data/lib/puppet/provider/group/ldap.rb +40 -43
  306. data/lib/puppet/provider/group/pw.rb +23 -23
  307. data/lib/puppet/provider/host/parsed.rb +51 -50
  308. data/lib/puppet/provider/ldap.rb +121 -123
  309. data/lib/puppet/provider/macauthorization/macauthorization.rb +263 -272
  310. data/lib/puppet/provider/mailalias/aliases.rb +34 -31
  311. data/lib/puppet/provider/maillist/mailman.rb +87 -93
  312. data/lib/puppet/provider/mcx/mcxcontent.rb +155 -151
  313. data/lib/puppet/provider/mount.rb +36 -40
  314. data/lib/puppet/provider/mount/parsed.rb +28 -26
  315. data/lib/puppet/provider/naginator.rb +46 -48
  316. data/lib/puppet/provider/nameservice.rb +215 -257
  317. data/lib/puppet/provider/nameservice/directoryservice.rb +455 -471
  318. data/lib/puppet/provider/nameservice/objectadd.rb +21 -21
  319. data/lib/puppet/provider/nameservice/pw.rb +13 -13
  320. data/lib/puppet/provider/package.rb +18 -20
  321. data/lib/puppet/provider/package/aix.rb +128 -0
  322. data/lib/puppet/provider/package/appdmg.rb +78 -82
  323. data/lib/puppet/provider/package/apple.rb +39 -40
  324. data/lib/puppet/provider/package/apt.rb +95 -104
  325. data/lib/puppet/provider/package/aptitude.rb +19 -21
  326. data/lib/puppet/provider/package/aptrpm.rb +70 -72
  327. data/lib/puppet/provider/package/blastwave.rb +88 -94
  328. data/lib/puppet/provider/package/darwinport.rb +67 -69
  329. data/lib/puppet/provider/package/dpkg.rb +123 -97
  330. data/lib/puppet/provider/package/fink.rb +66 -68
  331. data/lib/puppet/provider/package/freebsd.rb +38 -40
  332. data/lib/puppet/provider/package/gem.rb +98 -102
  333. data/lib/puppet/provider/package/hpux.rb +37 -39
  334. data/lib/puppet/provider/package/nim.rb +35 -0
  335. data/lib/puppet/provider/package/openbsd.rb +100 -75
  336. data/lib/puppet/provider/package/pkg.rb +108 -0
  337. data/lib/puppet/provider/package/pkgdmg.rb +95 -87
  338. data/lib/puppet/provider/package/portage.rb +101 -104
  339. data/lib/puppet/provider/package/ports.rb +71 -73
  340. data/lib/puppet/provider/package/portupgrade.rb +251 -0
  341. data/lib/puppet/provider/package/rpm.rb +113 -115
  342. data/lib/puppet/provider/package/rug.rb +46 -46
  343. data/lib/puppet/provider/package/sun.rb +135 -151
  344. data/lib/puppet/provider/package/sunfreeware.rb +5 -5
  345. data/lib/puppet/provider/package/up2date.rb +31 -31
  346. data/lib/puppet/provider/package/urpmi.rb +51 -51
  347. data/lib/puppet/provider/package/yum.rb +90 -98
  348. data/lib/puppet/provider/package/zypper.rb +52 -0
  349. data/lib/puppet/provider/parsedfile.rb +306 -329
  350. data/lib/puppet/provider/port/parsed.rb +5 -5
  351. data/lib/puppet/provider/selboolean/getsetsebool.rb +34 -34
  352. data/lib/puppet/provider/selmodule/semodule.rb +103 -111
  353. data/lib/puppet/provider/service/base.rb +134 -139
  354. data/lib/puppet/provider/service/bsd.rb +48 -0
  355. data/lib/puppet/provider/service/daemontools.rb +158 -162
  356. data/lib/puppet/provider/service/debian.rb +36 -36
  357. data/lib/puppet/provider/service/freebsd.rb +118 -38
  358. data/lib/puppet/provider/service/gentoo.rb +33 -39
  359. data/lib/puppet/provider/service/init.rb +125 -125
  360. data/lib/puppet/provider/service/launchd.rb +234 -254
  361. data/lib/puppet/provider/service/redhat.rb +58 -58
  362. data/lib/puppet/provider/service/runit.rb +74 -74
  363. data/lib/puppet/provider/service/smf.rb +81 -85
  364. data/lib/puppet/provider/service/src.rb +87 -0
  365. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +73 -81
  366. data/lib/puppet/provider/sshkey/parsed.rb +24 -21
  367. data/lib/puppet/provider/user/directoryservice.rb +71 -71
  368. data/lib/puppet/provider/user/hpux.rb +20 -20
  369. data/lib/puppet/provider/user/ldap.rb +106 -110
  370. data/lib/puppet/provider/user/pw.rb +33 -37
  371. data/lib/puppet/provider/user/user_role_add.rb +168 -183
  372. data/lib/puppet/provider/user/useradd.rb +50 -51
  373. data/lib/puppet/provider/zfs/solaris.rb +35 -35
  374. data/lib/puppet/provider/zone/solaris.rb +206 -205
  375. data/lib/puppet/provider/zpool/solaris.rb +95 -97
  376. data/lib/puppet/rails.rb +115 -122
  377. data/lib/puppet/rails/benchmark.rb +43 -49
  378. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +8 -12
  379. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +8 -12
  380. data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -10
  381. data/lib/puppet/rails/database/schema.rb +100 -97
  382. data/lib/puppet/rails/fact_name.rb +1 -1
  383. data/lib/puppet/rails/fact_value.rb +5 -5
  384. data/lib/puppet/rails/host.rb +252 -249
  385. data/lib/puppet/rails/param_name.rb +15 -15
  386. data/lib/puppet/rails/param_value.rb +55 -55
  387. data/lib/puppet/rails/puppet_tag.rb +4 -4
  388. data/lib/puppet/rails/resource.rb +189 -203
  389. data/lib/puppet/rails/resource_tag.rb +19 -19
  390. data/lib/puppet/rails/source_file.rb +5 -5
  391. data/lib/puppet/reference/configuration.rb +53 -56
  392. data/lib/puppet/reference/function.rb +1 -1
  393. data/lib/puppet/reference/indirection.rb +13 -13
  394. data/lib/puppet/reference/metaparameter.rb +40 -40
  395. data/lib/puppet/reference/network.rb +16 -16
  396. data/lib/puppet/reference/providers.rb +97 -98
  397. data/lib/puppet/reference/report.rb +1 -1
  398. data/lib/puppet/reference/type.rb +67 -70
  399. data/lib/puppet/relationship.rb +65 -67
  400. data/lib/puppet/reports.rb +32 -34
  401. data/lib/puppet/reports/http.rb +22 -0
  402. data/lib/puppet/reports/log.rb +7 -6
  403. data/lib/puppet/reports/rrdgraph.rb +105 -114
  404. data/lib/puppet/reports/store.rb +53 -56
  405. data/lib/puppet/reports/tagmail.rb +149 -157
  406. data/lib/puppet/resource.rb +428 -194
  407. data/lib/puppet/resource/catalog.rb +496 -512
  408. data/lib/puppet/resource/status.rb +58 -0
  409. data/lib/puppet/resource/type.rb +311 -0
  410. data/lib/puppet/resource/type_collection.rb +217 -0
  411. data/lib/puppet/resource/type_collection_helper.rb +7 -0
  412. data/lib/puppet/run.rb +77 -0
  413. data/lib/puppet/simple_graph.rb +381 -413
  414. data/lib/puppet/ssl.rb +2 -1
  415. data/lib/puppet/ssl/base.rb +60 -43
  416. data/lib/puppet/ssl/certificate.rb +21 -21
  417. data/lib/puppet/ssl/certificate_authority.rb +215 -229
  418. data/lib/puppet/ssl/certificate_authority/interface.rb +84 -68
  419. data/lib/puppet/ssl/certificate_factory.rb +119 -119
  420. data/lib/puppet/ssl/certificate_request.rb +52 -45
  421. data/lib/puppet/ssl/certificate_revocation_list.rb +78 -78
  422. data/lib/puppet/ssl/host.rb +230 -228
  423. data/lib/puppet/ssl/inventory.rb +33 -33
  424. data/lib/puppet/ssl/key.rb +37 -37
  425. data/lib/puppet/sslcertificates.rb +124 -123
  426. data/lib/puppet/sslcertificates/ca.rb +327 -344
  427. data/lib/puppet/sslcertificates/certificate.rb +197 -224
  428. data/lib/puppet/sslcertificates/inventory.rb +27 -29
  429. data/lib/puppet/sslcertificates/support.rb +113 -119
  430. data/lib/puppet/status.rb +28 -0
  431. data/lib/puppet/transaction.rb +349 -696
  432. data/lib/puppet/transaction/change.rb +80 -85
  433. data/lib/puppet/transaction/event.rb +54 -14
  434. data/lib/puppet/transaction/event_manager.rb +99 -0
  435. data/lib/puppet/transaction/report.rb +121 -59
  436. data/lib/puppet/transaction/resource_harness.rb +150 -0
  437. data/lib/puppet/transportable.rb +215 -226
  438. data/lib/puppet/type.rb +1644 -1849
  439. data/lib/puppet/type/augeas.rb +153 -134
  440. data/lib/puppet/type/component.rb +63 -65
  441. data/lib/puppet/type/computer.rb +44 -44
  442. data/lib/puppet/type/cron.rb +364 -384
  443. data/lib/puppet/type/exec.rb +583 -521
  444. data/lib/puppet/type/file.rb +786 -823
  445. data/lib/puppet/type/file/checksum.rb +23 -240
  446. data/lib/puppet/type/file/content.rb +193 -129
  447. data/lib/puppet/type/file/ensure.rb +149 -153
  448. data/lib/puppet/type/file/group.rb +94 -104
  449. data/lib/puppet/type/file/mode.rb +109 -122
  450. data/lib/puppet/type/file/owner.rb +39 -131
  451. data/lib/puppet/type/file/selcontext.rb +69 -73
  452. data/lib/puppet/type/file/source.rb +165 -153
  453. data/lib/puppet/type/file/target.rb +56 -60
  454. data/lib/puppet/type/file/type.rb +18 -18
  455. data/lib/puppet/type/filebucket.rb +91 -92
  456. data/lib/puppet/type/group.rb +77 -82
  457. data/lib/puppet/type/host.rb +85 -85
  458. data/lib/puppet/type/k5login.rb +65 -65
  459. data/lib/puppet/type/macauthorization.rb +141 -143
  460. data/lib/puppet/type/mailalias.rb +37 -37
  461. data/lib/puppet/type/maillist.rb +51 -51
  462. data/lib/puppet/type/mcx.rb +62 -62
  463. data/lib/puppet/type/mount.rb +199 -193
  464. data/lib/puppet/type/notify.rb +33 -33
  465. data/lib/puppet/type/package.rb +301 -298
  466. data/lib/puppet/type/port.rb +4 -4
  467. data/lib/puppet/type/resources.rb +107 -123
  468. data/lib/puppet/type/schedule.rb +317 -326
  469. data/lib/puppet/type/selboolean.rb +19 -19
  470. data/lib/puppet/type/selmodule.rb +34 -34
  471. data/lib/puppet/type/service.rb +152 -152
  472. data/lib/puppet/type/ssh_authorized_key.rb +74 -78
  473. data/lib/puppet/type/sshkey.rb +52 -56
  474. data/lib/puppet/type/stage.rb +18 -0
  475. data/lib/puppet/type/tidy.rb +289 -300
  476. data/lib/puppet/type/user.rb +300 -312
  477. data/lib/puppet/type/yumrepo.rb +300 -335
  478. data/lib/puppet/type/zfs.rb +36 -36
  479. data/lib/puppet/type/zone.rb +376 -347
  480. data/lib/puppet/type/zpool.rb +71 -77
  481. data/lib/puppet/util.rb +383 -387
  482. data/lib/puppet/util/autoload.rb +125 -143
  483. data/lib/puppet/util/autoload/file_cache.rb +78 -101
  484. data/lib/puppet/util/backups.rb +66 -66
  485. data/lib/puppet/util/cacher.rb +112 -120
  486. data/lib/puppet/util/checksums.rb +119 -84
  487. data/lib/puppet/util/classgen.rb +157 -167
  488. data/lib/puppet/util/command_line.rb +95 -0
  489. data/lib/puppet/util/command_line/filebucket +97 -0
  490. data/lib/puppet/util/command_line/pi +48 -0
  491. data/lib/puppet/util/command_line/puppet +69 -0
  492. data/lib/puppet/util/command_line/puppetca +110 -0
  493. data/lib/puppet/util/command_line/puppetd +186 -0
  494. data/lib/puppet/util/command_line/puppetdoc +67 -0
  495. data/lib/puppet/util/command_line/puppetmasterd +65 -0
  496. data/lib/puppet/util/command_line/puppetqd +53 -0
  497. data/lib/puppet/util/command_line/puppetrun +128 -0
  498. data/lib/puppet/util/command_line/ralsh +89 -0
  499. data/lib/puppet/util/constant_inflector.rb +7 -7
  500. data/lib/puppet/util/diff.rb +59 -56
  501. data/lib/puppet/util/docs.rb +97 -99
  502. data/lib/puppet/util/errors.rb +53 -44
  503. data/lib/puppet/util/execution.rb +15 -15
  504. data/lib/puppet/util/feature.rb +62 -72
  505. data/lib/puppet/util/file_locking.rb +33 -33
  506. data/lib/puppet/util/fileparsing.rb +292 -318
  507. data/lib/puppet/util/filetype.rb +246 -263
  508. data/lib/puppet/util/graph.rb +16 -18
  509. data/lib/puppet/util/inifile.rb +170 -184
  510. data/lib/puppet/util/inline_docs.rb +26 -0
  511. data/lib/puppet/util/instance_loader.rb +58 -58
  512. data/lib/puppet/util/ldap/connection.rb +57 -59
  513. data/lib/puppet/util/ldap/generator.rb +31 -31
  514. data/lib/puppet/util/ldap/manager.rb +233 -235
  515. data/lib/puppet/util/loadedfile.rb +49 -51
  516. data/lib/puppet/util/log.rb +210 -494
  517. data/lib/puppet/util/log/destination.rb +49 -0
  518. data/lib/puppet/util/log/destinations.rb +217 -0
  519. data/lib/puppet/util/log_paths.rb +15 -17
  520. data/lib/puppet/util/logging.rb +34 -13
  521. data/lib/puppet/util/metaid.rb +15 -15
  522. data/lib/puppet/util/methodhelper.rb +24 -26
  523. data/lib/puppet/util/metric.rb +123 -125
  524. data/lib/puppet/util/monkey_patches.rb +21 -20
  525. data/lib/puppet/util/nagios_maker.rb +41 -41
  526. data/lib/puppet/util/package.rb +24 -26
  527. data/lib/puppet/util/pidlock.rb +49 -49
  528. data/lib/puppet/util/posix.rb +115 -115
  529. data/lib/puppet/util/provider_features.rb +147 -155
  530. data/lib/puppet/util/pson.rb +5 -5
  531. data/lib/puppet/util/queue.rb +55 -55
  532. data/lib/puppet/util/queue/stomp.rb +27 -27
  533. data/lib/puppet/util/rails/cache_accumulator.rb +49 -49
  534. data/lib/puppet/util/rails/collection_merger.rb +13 -13
  535. data/lib/puppet/util/rails/reference_serializer.rb +26 -26
  536. data/lib/puppet/util/rdoc.rb +77 -74
  537. data/lib/puppet/util/rdoc/code_objects.rb +235 -217
  538. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +732 -676
  539. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +38 -12
  540. data/lib/puppet/util/rdoc/parser.rb +418 -392
  541. data/lib/puppet/util/reference.rb +168 -174
  542. data/lib/puppet/util/resource_template.rb +17 -17
  543. data/lib/puppet/util/run_mode.rb +81 -0
  544. data/lib/puppet/util/selinux.rb +184 -200
  545. data/lib/puppet/util/settings.rb +886 -919
  546. data/lib/puppet/util/settings/boolean_setting.rb +20 -23
  547. data/lib/puppet/util/settings/file_setting.rb +98 -99
  548. data/lib/puppet/util/settings/setting.rb +71 -87
  549. data/lib/puppet/util/storage.rb +73 -84
  550. data/lib/puppet/util/subclass_loader.rb +59 -66
  551. data/lib/puppet/util/suidmanager.rb +87 -84
  552. data/lib/puppet/util/tagging.rb +37 -39
  553. data/lib/puppet/util/user_attr.rb +14 -14
  554. data/lib/puppet/util/warnings.rb +20 -20
  555. data/lib/puppet/util/zaml.rb +242 -241
  556. data/man/man5/puppet.conf.5 +148 -76
  557. data/man/man8/filebucket.8 +6 -6
  558. data/man/man8/pi.8 +5 -5
  559. data/man/man8/puppet.8 +2 -73
  560. data/man/man8/puppetca.8 +47 -32
  561. data/man/man8/puppetd.8 +118 -76
  562. data/man/man8/puppetdoc.8 +16 -12
  563. data/man/man8/puppetmasterd.8 +4 -4
  564. data/man/man8/puppetqd.8 +4 -4
  565. data/man/man8/puppetrun.8 +23 -22
  566. data/man/man8/ralsh.8 +16 -17
  567. data/spec/fixtures/yaml/test.local.yaml +16 -0
  568. data/spec/integration/application/apply_spec.rb +33 -0
  569. data/spec/integration/configurer_spec.rb +35 -0
  570. data/spec/integration/defaults_spec.rb +258 -0
  571. data/spec/integration/file_serving/content_spec.rb +20 -0
  572. data/spec/integration/file_serving/fileset_spec.rb +14 -0
  573. data/spec/integration/file_serving/metadata_spec.rb +21 -0
  574. data/spec/integration/file_serving/terminus_helper_spec.rb +22 -0
  575. data/spec/integration/indirector/bucket_file/rest_spec.rb +68 -0
  576. data/spec/integration/indirector/catalog/compiler_spec.rb +68 -0
  577. data/spec/integration/indirector/catalog/queue_spec.rb +61 -0
  578. data/spec/integration/indirector/certificate/rest_spec.rb +68 -0
  579. data/spec/integration/indirector/certificate_request/rest_spec.rb +88 -0
  580. data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +76 -0
  581. data/spec/integration/indirector/direct_file_server_spec.rb +73 -0
  582. data/spec/integration/indirector/file_content/file_server_spec.rb +94 -0
  583. data/spec/integration/indirector/file_metadata/file_server_spec.rb +18 -0
  584. data/spec/integration/indirector/node/ldap_spec.rb +15 -0
  585. data/spec/integration/indirector/report/rest_spec.rb +96 -0
  586. data/spec/integration/indirector/rest_spec.rb +524 -0
  587. data/spec/integration/network/client_spec.rb +19 -0
  588. data/spec/integration/network/formats_spec.rb +110 -0
  589. data/spec/integration/network/handler_spec.rb +25 -0
  590. data/spec/integration/network/server/mongrel_spec.rb +66 -0
  591. data/spec/integration/network/server/webrick_spec.rb +85 -0
  592. data/spec/integration/node/environment_spec.rb +58 -0
  593. data/spec/integration/node/facts_spec.rb +47 -0
  594. data/spec/integration/node_spec.rb +93 -0
  595. data/spec/integration/parser/collector_spec.rb +38 -0
  596. data/spec/integration/parser/compiler_spec.rb +29 -0
  597. data/spec/integration/parser/functions/require_spec.rb +44 -0
  598. data/spec/integration/parser/parser_spec.rb +113 -0
  599. data/spec/integration/provider/mailalias/aliases_spec.rb +25 -0
  600. data/spec/integration/provider/package_spec.rb +26 -0
  601. data/spec/integration/provider/service/init_spec.rb +32 -0
  602. data/spec/integration/reference/providers_spec.rb +17 -0
  603. data/spec/integration/reports_spec.rb +18 -0
  604. data/spec/integration/resource/catalog_spec.rb +61 -0
  605. data/spec/integration/resource/type_collection_spec.rb +96 -0
  606. data/spec/integration/ssl/certificate_authority_spec.rb +135 -0
  607. data/spec/integration/ssl/certificate_request_spec.rb +61 -0
  608. data/spec/integration/ssl/certificate_revocation_list_spec.rb +42 -0
  609. data/spec/integration/ssl/host_spec.rb +90 -0
  610. data/spec/integration/transaction/report_spec.rb +29 -0
  611. data/spec/integration/transaction_spec.rb +284 -0
  612. data/spec/integration/type/file_spec.rb +506 -0
  613. data/spec/integration/type/package_spec.rb +25 -0
  614. data/spec/integration/type/tidy_spec.rb +32 -0
  615. data/spec/integration/type_spec.rb +22 -0
  616. data/spec/integration/util/autoload_spec.rb +114 -0
  617. data/spec/integration/util/feature_spec.rb +54 -0
  618. data/spec/integration/util/file_locking_spec.rb +37 -0
  619. data/spec/integration/util/rdoc/parser_spec.rb +59 -0
  620. data/spec/integration/util/settings_spec.rb +30 -0
  621. data/spec/lib/puppet_spec/files.rb +16 -6
  622. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +27 -27
  623. data/spec/monkey_patches/alias_should_to_must.rb +4 -4
  624. data/spec/shared_behaviours/file_server_terminus.rb +28 -28
  625. data/spec/shared_behaviours/file_serving.rb +53 -53
  626. data/spec/shared_behaviours/memory_terminus.rb +22 -22
  627. data/spec/spec.opts +1 -0
  628. data/spec/spec_helper.rb +61 -18
  629. data/spec/spec_specs/runnable_spec.rb +95 -0
  630. data/spec/unit/agent/locker_spec.rb +100 -0
  631. data/spec/unit/agent_spec.rb +281 -0
  632. data/spec/unit/application/agent_spec.rb +588 -0
  633. data/spec/unit/application/apply_spec.rb +387 -0
  634. data/spec/unit/application/cert_spec.rb +194 -0
  635. data/spec/unit/application/describe_spec.rb +84 -0
  636. data/spec/unit/application/doc_spec.rb +368 -0
  637. data/spec/unit/application/filebucket_spec.rb +223 -0
  638. data/spec/unit/application/kick_spec.rb +313 -0
  639. data/spec/unit/application/master_spec.rb +453 -0
  640. data/spec/unit/application/queue_spec.rb +186 -0
  641. data/spec/unit/application/resource_spec.rb +233 -0
  642. data/spec/unit/application_spec.rb +531 -0
  643. data/spec/unit/configurer/downloader_spec.rb +188 -0
  644. data/spec/unit/configurer/fact_handler_spec.rb +164 -0
  645. data/spec/unit/configurer/plugin_handler_spec.rb +112 -0
  646. data/spec/unit/configurer_spec.rb +494 -0
  647. data/spec/unit/daemon_spec.rb +306 -0
  648. data/spec/unit/dsl/resource_api_spec.rb +181 -0
  649. data/spec/unit/dsl/resource_type_api_spec.rb +46 -0
  650. data/spec/unit/file_bucket/dipper_spec.rb +122 -0
  651. data/spec/unit/file_bucket/file_spec.rb +230 -0
  652. data/spec/unit/file_collection/lookup_spec.rb +46 -0
  653. data/spec/unit/file_collection_spec.rb +53 -0
  654. data/spec/unit/file_serving/base_spec.rb +132 -0
  655. data/spec/unit/file_serving/configuration/parser_spec.rb +181 -0
  656. data/spec/unit/file_serving/configuration_spec.rb +249 -0
  657. data/spec/unit/file_serving/content_spec.rb +118 -0
  658. data/spec/unit/file_serving/fileset_spec.rb +347 -0
  659. data/spec/unit/file_serving/indirection_hooks_spec.rb +63 -0
  660. data/spec/unit/file_serving/metadata_spec.rb +286 -0
  661. data/spec/unit/file_serving/mount/file_spec.rb +196 -0
  662. data/spec/unit/file_serving/mount/modules_spec.rb +63 -0
  663. data/spec/unit/file_serving/mount/plugins_spec.rb +61 -0
  664. data/spec/unit/file_serving/mount_spec.rb +32 -0
  665. data/spec/unit/file_serving/terminus_helper_spec.rb +98 -0
  666. data/spec/unit/indirector/active_record_spec.rb +76 -0
  667. data/spec/unit/indirector/catalog/active_record_spec.rb +141 -0
  668. data/spec/unit/indirector/catalog/compiler_spec.rb +275 -0
  669. data/spec/unit/indirector/catalog/queue_spec.rb +20 -0
  670. data/spec/unit/indirector/catalog/rest_spec.rb +11 -0
  671. data/spec/unit/indirector/catalog/yaml_spec.rb +25 -0
  672. data/spec/unit/indirector/certificate/ca_spec.rb +28 -0
  673. data/spec/unit/indirector/certificate/file_spec.rb +28 -0
  674. data/spec/unit/indirector/certificate/rest_spec.rb +58 -0
  675. data/spec/unit/indirector/certificate_request/ca_spec.rb +19 -0
  676. data/spec/unit/indirector/certificate_request/file_spec.rb +19 -0
  677. data/spec/unit/indirector/certificate_request/rest_spec.rb +23 -0
  678. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +21 -0
  679. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +20 -0
  680. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +23 -0
  681. data/spec/unit/indirector/code_spec.rb +33 -0
  682. data/spec/unit/indirector/direct_file_server_spec.rb +84 -0
  683. data/spec/unit/indirector/envelope_spec.rb +47 -0
  684. data/spec/unit/indirector/exec_spec.rb +56 -0
  685. data/spec/unit/indirector/facts/active_record_spec.rb +104 -0
  686. data/spec/unit/indirector/facts/couch_spec.rb +98 -0
  687. data/spec/unit/indirector/facts/facter_spec.rb +143 -0
  688. data/spec/unit/indirector/facts/rest_spec.rb +11 -0
  689. data/spec/unit/indirector/facts/yaml_spec.rb +26 -0
  690. data/spec/unit/indirector/file_bucket_file/file_spec.rb +290 -0
  691. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +11 -0
  692. data/spec/unit/indirector/file_content/file_server_spec.rb +18 -0
  693. data/spec/unit/indirector/file_content/file_spec.rb +18 -0
  694. data/spec/unit/indirector/file_content/rest_spec.rb +11 -0
  695. data/spec/unit/indirector/file_metadata/file_server_spec.rb +18 -0
  696. data/spec/unit/indirector/file_metadata/file_spec.rb +52 -0
  697. data/spec/unit/indirector/file_metadata/rest_spec.rb +9 -0
  698. data/spec/unit/indirector/file_server_spec.rb +267 -0
  699. data/spec/unit/indirector/file_spec.rb +181 -0
  700. data/spec/unit/indirector/indirection_spec.rb +795 -0
  701. data/spec/unit/indirector/key/ca_spec.rb +28 -0
  702. data/spec/unit/indirector/key/file_spec.rb +104 -0
  703. data/spec/unit/indirector/ldap_spec.rb +143 -0
  704. data/spec/unit/indirector/memory_spec.rb +29 -0
  705. data/spec/unit/indirector/node/active_record_spec.rb +41 -0
  706. data/spec/unit/indirector/node/exec_spec.rb +70 -0
  707. data/spec/unit/indirector/node/ldap_spec.rb +456 -0
  708. data/spec/unit/indirector/node/memory_spec.rb +19 -0
  709. data/spec/unit/indirector/node/plain_spec.rb +19 -0
  710. data/spec/unit/indirector/node/rest_spec.rb +13 -0
  711. data/spec/unit/indirector/node/yaml_spec.rb +25 -0
  712. data/spec/unit/indirector/plain_spec.rb +29 -0
  713. data/spec/unit/indirector/queue_spec.rb +123 -0
  714. data/spec/unit/indirector/report/processor_spec.rb +81 -0
  715. data/spec/unit/indirector/report/rest_spec.rb +28 -0
  716. data/spec/unit/indirector/request_spec.rb +304 -0
  717. data/spec/unit/indirector/resource/ral_spec.rb +129 -0
  718. data/spec/unit/indirector/resource/rest_spec.rb +11 -0
  719. data/spec/unit/indirector/resource_type/parser_spec.rb +75 -0
  720. data/spec/unit/indirector/resource_type/rest_spec.rb +15 -0
  721. data/spec/unit/indirector/rest_spec.rb +455 -0
  722. data/spec/unit/indirector/run/local_spec.rb +20 -0
  723. data/spec/unit/indirector/run/rest_spec.rb +11 -0
  724. data/spec/unit/indirector/ssl_file_spec.rb +281 -0
  725. data/spec/unit/indirector/status/rest_spec.rb +11 -0
  726. data/spec/unit/indirector/terminus_spec.rb +245 -0
  727. data/spec/unit/indirector/yaml_spec.rb +146 -0
  728. data/spec/unit/indirector_spec.rb +157 -0
  729. data/spec/unit/module_spec.rb +547 -0
  730. data/spec/unit/network/authconfig_spec.rb +292 -0
  731. data/spec/unit/network/authstore_spec.rb +370 -0
  732. data/spec/unit/network/client_spec.rb +45 -0
  733. data/spec/unit/network/format_handler_spec.rb +336 -0
  734. data/spec/unit/network/format_spec.rb +198 -0
  735. data/spec/unit/network/formats_spec.rb +337 -0
  736. data/spec/unit/network/handler/fileserver_spec.rb +172 -0
  737. data/spec/unit/network/http/api/v1_spec.rb +122 -0
  738. data/spec/unit/network/http/compression_spec.rb +199 -0
  739. data/spec/unit/network/http/handler_spec.rb +455 -0
  740. data/spec/unit/network/http/mongrel/rest_spec.rb +249 -0
  741. data/spec/unit/network/http/mongrel/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  742. data/spec/unit/network/http/mongrel_spec.rb +131 -0
  743. data/spec/unit/network/http/rack/rest_spec.rb +249 -0
  744. data/spec/unit/network/http/rack/xmlrpc_spec.rb +157 -0
  745. data/spec/unit/network/http/rack_spec.rb +102 -0
  746. data/spec/unit/network/http/webrick/rest_spec.rb +180 -0
  747. data/spec/unit/network/http/webrick/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  748. data/spec/unit/network/http/webrick_spec.rb +339 -0
  749. data/spec/unit/network/http_pool_spec.rb +206 -0
  750. data/spec/unit/network/http_spec.rb +35 -0
  751. data/spec/unit/network/rest_authconfig_spec.rb +148 -0
  752. data/spec/unit/network/rest_authorization_spec.rb +43 -0
  753. data/spec/unit/network/rights_spec.rb +519 -0
  754. data/spec/unit/network/server_spec.rb +534 -0
  755. data/spec/unit/network/xmlrpc/client_spec.rb +171 -0
  756. data/spec/unit/node/environment_spec.rb +248 -0
  757. data/spec/unit/node/facts_spec.rb +102 -0
  758. data/spec/unit/node_spec.rb +210 -0
  759. data/spec/unit/other/selinux_spec.rb +94 -0
  760. data/spec/unit/other/transbucket_spec.rb +188 -0
  761. data/spec/unit/other/transobject_spec.rb +112 -0
  762. data/spec/unit/parameter/value_collection_spec.rb +167 -0
  763. data/spec/unit/parameter/value_spec.rb +88 -0
  764. data/spec/unit/parameter_spec.rb +172 -0
  765. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +73 -0
  766. data/spec/unit/parser/ast/astarray_spec.rb +72 -0
  767. data/spec/unit/parser/ast/asthash_spec.rb +98 -0
  768. data/spec/unit/parser/ast/boolean_operator_spec.rb +53 -0
  769. data/spec/unit/parser/ast/casestatement_spec.rb +161 -0
  770. data/spec/unit/parser/ast/collection_spec.rb +63 -0
  771. data/spec/unit/parser/ast/collexpr_spec.rb +115 -0
  772. data/spec/unit/parser/ast/comparison_operator_spec.rb +116 -0
  773. data/spec/unit/parser/ast/function_spec.rb +83 -0
  774. data/spec/unit/parser/ast/ifstatement_spec.rb +76 -0
  775. data/spec/unit/parser/ast/in_operator_spec.rb +60 -0
  776. data/spec/unit/parser/ast/leaf_spec.rb +362 -0
  777. data/spec/unit/parser/ast/match_operator_spec.rb +50 -0
  778. data/spec/unit/parser/ast/minus_spec.rb +36 -0
  779. data/spec/unit/parser/ast/nop_spec.rb +20 -0
  780. data/spec/unit/parser/ast/not_spec.rb +30 -0
  781. data/spec/unit/parser/ast/relationship_spec.rb +88 -0
  782. data/spec/unit/parser/ast/resource_defaults_spec.rb +22 -0
  783. data/spec/unit/parser/ast/resource_override_spec.rb +51 -0
  784. data/spec/unit/parser/ast/resource_reference_spec.rb +46 -0
  785. data/spec/unit/parser/ast/resource_spec.rb +120 -0
  786. data/spec/unit/parser/ast/selector_spec.rb +139 -0
  787. data/spec/unit/parser/ast/vardef_spec.rb +60 -0
  788. data/spec/unit/parser/ast_spec.rb +111 -0
  789. data/spec/unit/parser/collector_spec.rb +559 -0
  790. data/spec/unit/parser/compiler_spec.rb +754 -0
  791. data/spec/unit/parser/files_spec.rb +201 -0
  792. data/spec/unit/parser/functions/defined_spec.rb +50 -0
  793. data/spec/unit/parser/functions/fqdn_rand_spec.rb +62 -0
  794. data/spec/unit/parser/functions/generate_spec.rb +41 -0
  795. data/spec/unit/parser/functions/inline_template_spec.rb +59 -0
  796. data/spec/unit/parser/functions/realize_spec.rb +51 -0
  797. data/spec/unit/parser/functions/regsubst_spec.rb +192 -0
  798. data/spec/unit/parser/functions/require_spec.rb +74 -0
  799. data/spec/unit/parser/functions/shellquote_spec.rb +81 -0
  800. data/spec/unit/parser/functions/split_spec.rb +49 -0
  801. data/spec/unit/parser/functions/sprintf_spec.rb +41 -0
  802. data/spec/unit/parser/functions/tag_spec.rb +24 -0
  803. data/spec/unit/parser/functions/template_spec.rb +62 -0
  804. data/spec/unit/parser/functions/versioncmp_spec.rb +29 -0
  805. data/spec/unit/parser/functions_spec.rb +102 -0
  806. data/spec/unit/parser/lexer_spec.rb +646 -0
  807. data/spec/unit/parser/parser_spec.rb +412 -0
  808. data/spec/unit/parser/relationship_spec.rb +70 -0
  809. data/spec/unit/parser/resource_spec.rb +564 -0
  810. data/spec/unit/parser/scope_spec.rb +629 -0
  811. data/spec/unit/parser/templatewrapper_spec.rb +144 -0
  812. data/spec/unit/parser/type_loader_spec.rb +201 -0
  813. data/spec/unit/property/ensure_spec.rb +13 -0
  814. data/spec/unit/property/keyvalue_spec.rb +168 -0
  815. data/spec/unit/property/list_spec.rb +166 -0
  816. data/spec/unit/property/ordered_list_spec.rb +64 -0
  817. data/spec/unit/property_spec.rb +410 -0
  818. data/spec/unit/provider/augeas/augeas_spec.rb +413 -0
  819. data/spec/unit/provider/confine/exists_spec.rb +81 -0
  820. data/spec/unit/provider/confine/false_spec.rb +53 -0
  821. data/spec/unit/provider/confine/feature_spec.rb +60 -0
  822. data/spec/unit/provider/confine/true_spec.rb +53 -0
  823. data/spec/unit/provider/confine/variable_spec.rb +107 -0
  824. data/spec/unit/provider/confine_collection_spec.rb +134 -0
  825. data/spec/unit/provider/confine_spec.rb +78 -0
  826. data/spec/unit/provider/confiner_spec.rb +63 -0
  827. data/spec/unit/provider/group/groupadd_spec.rb +31 -0
  828. data/spec/unit/provider/group/ldap_spec.rb +105 -0
  829. data/spec/unit/provider/ldap_spec.rb +248 -0
  830. data/spec/unit/provider/macauthorization_spec.rb +147 -0
  831. data/spec/unit/provider/mcx/mcxcontent_spec.rb +175 -0
  832. data/spec/unit/provider/mount/parsed_spec.rb +193 -0
  833. data/spec/unit/provider/mount_spec.rb +130 -0
  834. data/spec/unit/provider/naginator_spec.rb +58 -0
  835. data/spec/unit/provider/package/aix_spec.rb +66 -0
  836. data/spec/unit/provider/package/apt_spec.rb +145 -0
  837. data/spec/unit/provider/package/dpkg_spec.rb +225 -0
  838. data/spec/unit/provider/package/gem_spec.rb +87 -0
  839. data/spec/unit/provider/package/hpux_spec.rb +52 -0
  840. data/spec/unit/provider/package/nim_spec.rb +42 -0
  841. data/spec/unit/provider/package/pkg_spec.rb +63 -0
  842. data/spec/unit/provider/package/pkgdmg_spec.rb +84 -0
  843. data/spec/unit/provider/package/zypper_spec.rb +81 -0
  844. data/spec/unit/provider/parsedfile_spec.rb +95 -0
  845. data/spec/unit/provider/selboolean_spec.rb +37 -0
  846. data/spec/unit/provider/selmodule_spec.rb +66 -0
  847. data/spec/unit/provider/service/daemontools_spec.rb +166 -0
  848. data/spec/unit/provider/service/debian_spec.rb +89 -0
  849. data/spec/unit/provider/service/init_spec.rb +168 -0
  850. data/spec/unit/provider/service/launchd_spec.rb +200 -0
  851. data/spec/unit/provider/service/redhat_spec.rb +121 -0
  852. data/spec/unit/provider/service/runit_spec.rb +140 -0
  853. data/spec/unit/provider/service/src_spec.rb +97 -0
  854. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +228 -0
  855. data/spec/unit/provider/sshkey/parsed_spec.rb +38 -0
  856. data/spec/unit/provider/user/hpux_spec.rb +25 -0
  857. data/spec/unit/provider/user/ldap_spec.rb +279 -0
  858. data/spec/unit/provider/user/user_role_add_spec.rb +249 -0
  859. data/spec/unit/provider/user/useradd_spec.rb +115 -0
  860. data/spec/unit/provider/zfs/solaris_spec.rb +99 -0
  861. data/spec/unit/provider/zone/solaris_spec.rb +55 -0
  862. data/spec/unit/provider/zpool/solaris_spec.rb +179 -0
  863. data/spec/unit/provider_spec.rb +31 -0
  864. data/spec/unit/puppet_spec.rb +12 -0
  865. data/spec/unit/rails/host_spec.rb +163 -0
  866. data/spec/unit/rails/param_value_spec.rb +49 -0
  867. data/spec/unit/rails/resource_spec.rb +123 -0
  868. data/spec/unit/rails_spec.rb +258 -0
  869. data/spec/unit/relationship_spec.rb +236 -0
  870. data/spec/unit/reports/http_spec.rb +56 -0
  871. data/spec/unit/reports/tagmail_spec.rb +94 -0
  872. data/spec/unit/reports_spec.rb +61 -0
  873. data/spec/unit/resource/catalog_spec.rb +1078 -0
  874. data/spec/unit/resource/status_spec.rb +103 -0
  875. data/spec/unit/resource/type_collection_helper_spec.rb +25 -0
  876. data/spec/unit/resource/type_collection_spec.rb +432 -0
  877. data/spec/unit/resource/type_spec.rb +722 -0
  878. data/spec/unit/resource_spec.rb +818 -0
  879. data/spec/unit/run_spec.rb +137 -0
  880. data/spec/unit/simple_graph_spec.rb +544 -0
  881. data/spec/unit/ssl/base_spec.rb +43 -0
  882. data/spec/unit/ssl/certificate_authority/interface_spec.rb +333 -0
  883. data/spec/unit/ssl/certificate_authority_spec.rb +772 -0
  884. data/spec/unit/ssl/certificate_factory_spec.rb +107 -0
  885. data/spec/unit/ssl/certificate_request_spec.rb +220 -0
  886. data/spec/unit/ssl/certificate_revocation_list_spec.rb +168 -0
  887. data/spec/unit/ssl/certificate_spec.rb +124 -0
  888. data/spec/unit/ssl/host_spec.rb +707 -0
  889. data/spec/unit/ssl/inventory_spec.rb +180 -0
  890. data/spec/unit/ssl/key_spec.rb +198 -0
  891. data/spec/unit/status_spec.rb +31 -0
  892. data/spec/unit/transaction/change_spec.rb +193 -0
  893. data/spec/unit/transaction/event_manager_spec.rb +260 -0
  894. data/spec/unit/transaction/event_spec.rb +108 -0
  895. data/spec/unit/transaction/report_spec.rb +234 -0
  896. data/spec/unit/transaction/resource_harness_spec.rb +401 -0
  897. data/spec/unit/transaction_spec.rb +452 -0
  898. data/spec/unit/transportable_spec.rb +0 -0
  899. data/spec/unit/type/augeas_spec.rb +122 -0
  900. data/spec/unit/type/component_spec.rb +63 -0
  901. data/spec/unit/type/computer_spec.rb +81 -0
  902. data/spec/unit/type/cron_spec.rb +33 -0
  903. data/spec/unit/type/exec_spec.rb +162 -0
  904. data/spec/unit/type/file/checksum_spec.rb +73 -0
  905. data/spec/unit/type/file/content_spec.rb +460 -0
  906. data/spec/unit/type/file/ensure_spec.rb +84 -0
  907. data/spec/unit/type/file/group_spec.rb +123 -0
  908. data/spec/unit/type/file/owner_spec.rb +150 -0
  909. data/spec/unit/type/file/selinux_spec.rb +83 -0
  910. data/spec/unit/type/file/source_spec.rb +272 -0
  911. data/spec/unit/type/file_spec.rb +1070 -0
  912. data/spec/unit/type/filebucket_spec.rb +74 -0
  913. data/spec/unit/type/group_spec.rb +57 -0
  914. data/spec/unit/type/macauthorization_spec.rb +111 -0
  915. data/spec/unit/type/maillist_spec.rb +42 -0
  916. data/spec/unit/type/mcx_spec.rb +100 -0
  917. data/spec/unit/type/mount_spec.rb +261 -0
  918. data/spec/unit/type/nagios_spec.rb +63 -0
  919. data/spec/unit/type/noop_metaparam_spec.rb +37 -0
  920. data/spec/unit/type/package_spec.rb +240 -0
  921. data/spec/unit/type/resources_spec.rb +102 -0
  922. data/spec/unit/type/schedule_spec.rb +333 -0
  923. data/spec/unit/type/selboolean_spec.rb +45 -0
  924. data/spec/unit/type/selmodule_spec.rb +18 -0
  925. data/spec/unit/type/service_spec.rb +222 -0
  926. data/spec/unit/type/ssh_authorized_key_spec.rb +152 -0
  927. data/spec/unit/type/stage_spec.rb +9 -0
  928. data/spec/unit/type/tidy_spec.rb +424 -0
  929. data/spec/unit/type/user_spec.rb +281 -0
  930. data/spec/unit/type/zfs_spec.rb +45 -0
  931. data/spec/unit/type/zone_spec.rb +60 -0
  932. data/spec/unit/type/zpool_spec.rb +110 -0
  933. data/spec/unit/type_spec.rb +566 -0
  934. data/spec/unit/util/autoload/file_cache_spec.rb +159 -0
  935. data/spec/unit/util/autoload_spec.rb +120 -0
  936. data/spec/unit/util/backups_spec.rb +159 -0
  937. data/spec/unit/util/cache_accumulator_spec.rb +75 -0
  938. data/spec/unit/util/cacher_spec.rb +185 -0
  939. data/spec/unit/util/checksums_spec.rb +153 -0
  940. data/spec/unit/util/command_line_spec.rb +108 -0
  941. data/spec/unit/util/constant_inflector_spec.rb +70 -0
  942. data/spec/unit/util/errors_spec.rb +38 -0
  943. data/spec/unit/util/feature_spec.rb +72 -0
  944. data/spec/unit/util/file_locking_spec.rb +156 -0
  945. data/spec/unit/util/filetype_spec.rb +100 -0
  946. data/spec/unit/util/inline_docs_spec.rb +32 -0
  947. data/spec/unit/util/json_spec.rb +21 -0
  948. data/spec/unit/util/ldap/connection_spec.rb +169 -0
  949. data/spec/unit/util/ldap/generator_spec.rb +54 -0
  950. data/spec/unit/util/ldap/manager_spec.rb +654 -0
  951. data/spec/unit/util/loadedfile_spec.rb +65 -0
  952. data/spec/unit/util/log/destinations_spec.rb +24 -0
  953. data/spec/unit/util/log_spec.rb +215 -0
  954. data/spec/unit/util/logging_spec.rb +95 -0
  955. data/spec/unit/util/metric_spec.rb +95 -0
  956. data/spec/unit/util/monkey_patches_spec.rb +7 -0
  957. data/spec/unit/util/nagios_maker_spec.rb +126 -0
  958. data/spec/unit/util/package_spec.rb +21 -0
  959. data/spec/unit/util/posix_spec.rb +256 -0
  960. data/spec/unit/util/queue/stomp_spec.rb +140 -0
  961. data/spec/unit/util/queue_spec.rb +96 -0
  962. data/spec/unit/util/rdoc/parser_spec.rb +540 -0
  963. data/spec/unit/util/rdoc_spec.rb +165 -0
  964. data/spec/unit/util/reference_serializer_spec.rb +52 -0
  965. data/spec/unit/util/resource_template_spec.rb +58 -0
  966. data/spec/unit/util/run_mode_spec.rb +51 -0
  967. data/spec/unit/util/selinux_spec.rb +278 -0
  968. data/spec/unit/util/settings/file_setting_spec.rb +256 -0
  969. data/spec/unit/util/settings_spec.rb +1099 -0
  970. data/spec/unit/util/storage_spec.rb +235 -0
  971. data/spec/unit/util/tagging_spec.rb +102 -0
  972. data/spec/unit/util/user_attr_spec.rb +47 -0
  973. data/spec/unit/util/warnings_spec.rb +39 -0
  974. data/spec/unit/util/zaml_spec.rb +38 -0
  975. data/tasks/rake/git_workflow.rake +1 -1
  976. data/tasks/rake/sign.rake +2 -2
  977. data/test/certmgr/ca.rb +61 -61
  978. data/test/certmgr/certmgr.rb +292 -283
  979. data/test/certmgr/inventory.rb +44 -42
  980. data/test/certmgr/support.rb +78 -77
  981. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -1
  982. data/test/data/snippets/hash.pp +33 -0
  983. data/test/language/ast.rb +68 -117
  984. data/test/language/ast/variable.rb +14 -15
  985. data/test/language/functions.rb +404 -463
  986. data/test/language/parser.rb +670 -1135
  987. data/test/language/scope.rb +198 -402
  988. data/test/language/snippets.rb +439 -447
  989. data/test/language/transportable.rb +67 -66
  990. data/test/lib/puppettest.rb +260 -268
  991. data/test/lib/puppettest/certificates.rb +51 -53
  992. data/test/lib/puppettest/exetest.rb +107 -111
  993. data/test/lib/puppettest/fakes.rb +153 -158
  994. data/test/lib/puppettest/fileparsing.rb +17 -17
  995. data/test/lib/puppettest/filetesting.rb +204 -213
  996. data/test/lib/puppettest/parsertesting.rb +382 -365
  997. data/test/lib/puppettest/railstesting.rb +49 -50
  998. data/test/lib/puppettest/reporttesting.rb +10 -10
  999. data/test/lib/puppettest/resourcetesting.rb +45 -36
  1000. data/test/lib/puppettest/runnable_test.rb +36 -28
  1001. data/test/lib/puppettest/servertest.rb +54 -51
  1002. data/test/lib/puppettest/support/assertions.rb +48 -55
  1003. data/test/lib/puppettest/support/helpers.rb +12 -16
  1004. data/test/lib/puppettest/support/resources.rb +23 -25
  1005. data/test/lib/puppettest/support/utils.rb +138 -148
  1006. data/test/lib/puppettest/testcase.rb +15 -17
  1007. data/test/lib/rake/puppet_test_loader.rb +1 -3
  1008. data/test/lib/rake/puppet_testtask.rb +10 -10
  1009. data/test/network/authconfig.rb +48 -50
  1010. data/test/network/authorization.rb +114 -113
  1011. data/test/network/authstore.rb +454 -406
  1012. data/test/network/client/ca.rb +46 -48
  1013. data/test/network/client/dipper.rb +22 -22
  1014. data/test/network/client_request.rb +20 -20
  1015. data/test/network/handler/ca.rb +251 -252
  1016. data/test/network/handler/fileserver.rb +1071 -1001
  1017. data/test/network/handler/master.rb +58 -58
  1018. data/test/network/handler/report.rb +64 -64
  1019. data/test/network/handler/runner.rb +8 -8
  1020. data/test/network/rights.rb +22 -19
  1021. data/test/network/server/mongrel_test.rb +87 -87
  1022. data/test/network/server/webrick.rb +99 -87
  1023. data/test/network/xmlrpc/client.rb +30 -30
  1024. data/test/network/xmlrpc/processor.rb +52 -53
  1025. data/test/network/xmlrpc/server.rb +10 -11
  1026. data/test/network/xmlrpc/webrick_servlet.rb +21 -18
  1027. data/test/other/provider.rb +69 -84
  1028. data/test/other/puppet.rb +61 -76
  1029. data/test/other/relationships.rb +73 -65
  1030. data/test/other/report.rb +88 -187
  1031. data/test/other/transactions.rb +363 -885
  1032. data/test/puppet/defaults.rb +51 -54
  1033. data/test/puppet/errortest.rb +8 -8
  1034. data/test/puppet/tc_suidmanager.rb +106 -103
  1035. data/test/rails/rails.rb +8 -9
  1036. data/test/rails/railsparameter.rb +60 -54
  1037. data/test/ral/manager/attributes.rb +262 -260
  1038. data/test/ral/manager/instances.rb +77 -78
  1039. data/test/ral/manager/manager.rb +36 -36
  1040. data/test/ral/manager/provider.rb +56 -79
  1041. data/test/ral/manager/type.rb +308 -449
  1042. data/test/ral/providers/cron/crontab.rb +561 -545
  1043. data/test/ral/providers/group.rb +203 -212
  1044. data/test/ral/providers/host/parsed.rb +189 -180
  1045. data/test/ral/providers/mailalias/aliases.rb +40 -40
  1046. data/test/ral/providers/nameservice.rb +21 -21
  1047. data/test/ral/providers/package.rb +207 -214
  1048. data/test/ral/providers/package/aptitude.rb +75 -63
  1049. data/test/ral/providers/package/aptrpm.rb +84 -72
  1050. data/test/ral/providers/parsedfile.rb +510 -509
  1051. data/test/ral/providers/port/parsed.rb +5 -5
  1052. data/test/ral/providers/provider.rb +421 -421
  1053. data/test/ral/providers/service/base.rb +59 -53
  1054. data/test/ral/providers/sshkey/parsed.rb +86 -83
  1055. data/test/ral/providers/user.rb +471 -451
  1056. data/test/ral/providers/user/useradd.rb +168 -177
  1057. data/test/ral/type/cron.rb +406 -393
  1058. data/test/ral/type/exec.rb +721 -641
  1059. data/test/ral/type/file.rb +827 -896
  1060. data/test/ral/type/file/target.rb +295 -251
  1061. data/test/ral/type/fileignoresource.rb +232 -205
  1062. data/test/ral/type/filesources.rb +446 -485
  1063. data/test/ral/type/host.rb +124 -153
  1064. data/test/ral/type/mailalias.rb +28 -31
  1065. data/test/ral/type/port.rb +7 -7
  1066. data/test/ral/type/resources.rb +88 -93
  1067. data/test/ral/type/service.rb +19 -19
  1068. data/test/ral/type/sshkey.rb +120 -160
  1069. data/test/ral/type/user.rb +132 -414
  1070. data/test/ral/type/yumrepo.rb +95 -92
  1071. data/test/ral/type/zone.rb +316 -287
  1072. data/test/test +1 -1
  1073. data/test/util/classgen.rb +182 -167
  1074. data/test/util/execution.rb +18 -18
  1075. data/test/util/fileparsing.rb +580 -540
  1076. data/test/util/inifile.rb +117 -106
  1077. data/test/util/instance_loader.rb +29 -29
  1078. data/test/util/log.rb +202 -198
  1079. data/test/util/metrics.rb +51 -51
  1080. data/test/util/package.rb +11 -12
  1081. data/test/util/pidlock.rb +115 -115
  1082. data/test/util/settings.rb +613 -557
  1083. data/test/util/storage.rb +71 -88
  1084. data/test/util/subclass_loader.rb +69 -72
  1085. data/test/util/utiltest.rb +204 -203
  1086. metadata +493 -395
  1087. data/lib/puppet/agent/runner.rb +0 -65
  1088. data/lib/puppet/application/pi.rb +0 -214
  1089. data/lib/puppet/application/puppet.rb +0 -181
  1090. data/lib/puppet/application/puppetca.rb +0 -71
  1091. data/lib/puppet/application/puppetd.rb +0 -250
  1092. data/lib/puppet/application/puppetdoc.rb +0 -224
  1093. data/lib/puppet/application/puppetmasterd.rb +0 -168
  1094. data/lib/puppet/application/puppetqd.rb +0 -96
  1095. data/lib/puppet/application/puppetrun.rb +0 -210
  1096. data/lib/puppet/application/ralsh.rb +0 -152
  1097. data/lib/puppet/checksum.rb +0 -57
  1098. data/lib/puppet/indirector/checksum/file.rb +0 -33
  1099. data/lib/puppet/indirector/runner/rest.rb +0 -7
  1100. data/lib/puppet/network/client/dipper.rb +0 -85
  1101. data/lib/puppet/network/client/resource.rb +0 -38
  1102. data/lib/puppet/network/handler/resource.rb +0 -190
  1103. data/lib/puppet/parser/ast/definition.rb +0 -207
  1104. data/lib/puppet/parser/ast/hostclass.rb +0 -95
  1105. data/lib/puppet/parser/ast/node.rb +0 -42
  1106. data/lib/puppet/parser/interpreter.rb +0 -84
  1107. data/lib/puppet/parser/loaded_code.rb +0 -119
  1108. data/lib/puppet/parser/resource/reference.rb +0 -99
  1109. data/lib/puppet/resource/reference.rb +0 -90
  1110. data/lib/puppet/util/config_store.rb +0 -61
  1111. data/spec/integration/application/puppet.rb +0 -33
  1112. data/spec/integration/bin/puppetmasterd.rb +0 -122
  1113. data/spec/integration/checksum.rb +0 -48
  1114. data/spec/integration/configurer.rb +0 -18
  1115. data/spec/integration/defaults.rb +0 -230
  1116. data/spec/integration/file_serving/content.rb +0 -20
  1117. data/spec/integration/file_serving/fileset.rb +0 -14
  1118. data/spec/integration/file_serving/metadata.rb +0 -21
  1119. data/spec/integration/file_serving/terminus_helper.rb +0 -22
  1120. data/spec/integration/indirector/catalog/compiler.rb +0 -67
  1121. data/spec/integration/indirector/catalog/queue.rb +0 -61
  1122. data/spec/integration/indirector/certificate/rest.rb +0 -70
  1123. data/spec/integration/indirector/certificate_request/rest.rb +0 -88
  1124. data/spec/integration/indirector/certificate_revocation_list/rest.rb +0 -76
  1125. data/spec/integration/indirector/direct_file_server.rb +0 -73
  1126. data/spec/integration/indirector/file_content/file_server.rb +0 -94
  1127. data/spec/integration/indirector/file_metadata/file_server.rb +0 -18
  1128. data/spec/integration/indirector/node/ldap.rb +0 -15
  1129. data/spec/integration/indirector/report/rest.rb +0 -94
  1130. data/spec/integration/indirector/rest.rb +0 -523
  1131. data/spec/integration/network/client.rb +0 -19
  1132. data/spec/integration/network/formats.rb +0 -110
  1133. data/spec/integration/network/handler.rb +0 -25
  1134. data/spec/integration/network/server/mongrel.rb +0 -66
  1135. data/spec/integration/network/server/webrick.rb +0 -86
  1136. data/spec/integration/node.rb +0 -93
  1137. data/spec/integration/node/environment.rb +0 -58
  1138. data/spec/integration/node/facts.rb +0 -47
  1139. data/spec/integration/parser/compiler.rb +0 -29
  1140. data/spec/integration/parser/functions/require.rb +0 -86
  1141. data/spec/integration/provider/mailalias/aliases.rb +0 -25
  1142. data/spec/integration/provider/package.rb +0 -26
  1143. data/spec/integration/provider/service/init.rb +0 -32
  1144. data/spec/integration/reference/providers.rb +0 -17
  1145. data/spec/integration/reports.rb +0 -18
  1146. data/spec/integration/resource/catalog.rb +0 -61
  1147. data/spec/integration/ssl/certificate_authority.rb +0 -135
  1148. data/spec/integration/ssl/certificate_request.rb +0 -61
  1149. data/spec/integration/ssl/certificate_revocation_list.rb +0 -42
  1150. data/spec/integration/ssl/host.rb +0 -90
  1151. data/spec/integration/transaction.rb +0 -66
  1152. data/spec/integration/transaction/report.rb +0 -29
  1153. data/spec/integration/type.rb +0 -22
  1154. data/spec/integration/type/file.rb +0 -477
  1155. data/spec/integration/type/package.rb +0 -25
  1156. data/spec/integration/type/tidy.rb +0 -27
  1157. data/spec/integration/util/autoload.rb +0 -114
  1158. data/spec/integration/util/feature.rb +0 -54
  1159. data/spec/integration/util/file_locking.rb +0 -37
  1160. data/spec/integration/util/settings.rb +0 -27
  1161. data/spec/unit/agent.rb +0 -259
  1162. data/spec/unit/agent/locker.rb +0 -100
  1163. data/spec/unit/agent/runner.rb +0 -118
  1164. data/spec/unit/application.rb +0 -420
  1165. data/spec/unit/application/filebucket.rb +0 -220
  1166. data/spec/unit/application/pi.rb +0 -84
  1167. data/spec/unit/application/puppet.rb +0 -399
  1168. data/spec/unit/application/puppetca.rb +0 -142
  1169. data/spec/unit/application/puppetd.rb +0 -502
  1170. data/spec/unit/application/puppetdoc.rb +0 -360
  1171. data/spec/unit/application/puppetmasterd.rb +0 -457
  1172. data/spec/unit/application/puppetqd.rb +0 -186
  1173. data/spec/unit/application/puppetrun.rb +0 -289
  1174. data/spec/unit/application/ralsh.rb +0 -254
  1175. data/spec/unit/configurer.rb +0 -339
  1176. data/spec/unit/configurer/downloader.rb +0 -188
  1177. data/spec/unit/configurer/fact_handler.rb +0 -164
  1178. data/spec/unit/configurer/plugin_handler.rb +0 -112
  1179. data/spec/unit/daemon.rb +0 -287
  1180. data/spec/unit/file_collection.rb +0 -53
  1181. data/spec/unit/file_collection/lookup.rb +0 -46
  1182. data/spec/unit/file_serving/base.rb +0 -132
  1183. data/spec/unit/file_serving/configuration.rb +0 -249
  1184. data/spec/unit/file_serving/configuration/parser.rb +0 -181
  1185. data/spec/unit/file_serving/content.rb +0 -110
  1186. data/spec/unit/file_serving/fileset.rb +0 -347
  1187. data/spec/unit/file_serving/indirection_hooks.rb +0 -63
  1188. data/spec/unit/file_serving/metadata.rb +0 -286
  1189. data/spec/unit/file_serving/mount.rb +0 -32
  1190. data/spec/unit/file_serving/mount/file.rb +0 -196
  1191. data/spec/unit/file_serving/mount/modules.rb +0 -63
  1192. data/spec/unit/file_serving/mount/plugins.rb +0 -61
  1193. data/spec/unit/file_serving/terminus_helper.rb +0 -98
  1194. data/spec/unit/indirector.rb +0 -157
  1195. data/spec/unit/indirector/active_record.rb +0 -76
  1196. data/spec/unit/indirector/catalog/active_record.rb +0 -141
  1197. data/spec/unit/indirector/catalog/compiler.rb +0 -261
  1198. data/spec/unit/indirector/catalog/queue.rb +0 -20
  1199. data/spec/unit/indirector/catalog/rest.rb +0 -11
  1200. data/spec/unit/indirector/catalog/yaml.rb +0 -25
  1201. data/spec/unit/indirector/certificate/ca.rb +0 -28
  1202. data/spec/unit/indirector/certificate/file.rb +0 -28
  1203. data/spec/unit/indirector/certificate/rest.rb +0 -57
  1204. data/spec/unit/indirector/certificate_request/ca.rb +0 -19
  1205. data/spec/unit/indirector/certificate_request/file.rb +0 -19
  1206. data/spec/unit/indirector/certificate_request/rest.rb +0 -23
  1207. data/spec/unit/indirector/certificate_revocation_list/ca.rb +0 -21
  1208. data/spec/unit/indirector/certificate_revocation_list/file.rb +0 -20
  1209. data/spec/unit/indirector/certificate_revocation_list/rest.rb +0 -23
  1210. data/spec/unit/indirector/checksum/file.rb +0 -139
  1211. data/spec/unit/indirector/code.rb +0 -33
  1212. data/spec/unit/indirector/direct_file_server.rb +0 -84
  1213. data/spec/unit/indirector/envelope.rb +0 -47
  1214. data/spec/unit/indirector/exec.rb +0 -56
  1215. data/spec/unit/indirector/facts/active_record.rb +0 -104
  1216. data/spec/unit/indirector/facts/facter.rb +0 -142
  1217. data/spec/unit/indirector/facts/rest.rb +0 -11
  1218. data/spec/unit/indirector/facts/yaml.rb +0 -26
  1219. data/spec/unit/indirector/file.rb +0 -161
  1220. data/spec/unit/indirector/file_content/file.rb +0 -18
  1221. data/spec/unit/indirector/file_content/file_server.rb +0 -18
  1222. data/spec/unit/indirector/file_content/rest.rb +0 -11
  1223. data/spec/unit/indirector/file_metadata/file.rb +0 -52
  1224. data/spec/unit/indirector/file_metadata/file_server.rb +0 -18
  1225. data/spec/unit/indirector/file_metadata/rest.rb +0 -9
  1226. data/spec/unit/indirector/file_server.rb +0 -267
  1227. data/spec/unit/indirector/indirection.rb +0 -795
  1228. data/spec/unit/indirector/key/ca.rb +0 -28
  1229. data/spec/unit/indirector/key/file.rb +0 -104
  1230. data/spec/unit/indirector/ldap.rb +0 -143
  1231. data/spec/unit/indirector/memory.rb +0 -29
  1232. data/spec/unit/indirector/node/active_record.rb +0 -34
  1233. data/spec/unit/indirector/node/exec.rb +0 -69
  1234. data/spec/unit/indirector/node/ldap.rb +0 -458
  1235. data/spec/unit/indirector/node/memory.rb +0 -19
  1236. data/spec/unit/indirector/node/plain.rb +0 -19
  1237. data/spec/unit/indirector/node/rest.rb +0 -13
  1238. data/spec/unit/indirector/node/yaml.rb +0 -25
  1239. data/spec/unit/indirector/plain.rb +0 -29
  1240. data/spec/unit/indirector/queue.rb +0 -123
  1241. data/spec/unit/indirector/report/processor.rb +0 -81
  1242. data/spec/unit/indirector/report/rest.rb +0 -28
  1243. data/spec/unit/indirector/request.rb +0 -308
  1244. data/spec/unit/indirector/rest.rb +0 -403
  1245. data/spec/unit/indirector/runner/rest.rb +0 -11
  1246. data/spec/unit/indirector/ssl_file.rb +0 -280
  1247. data/spec/unit/indirector/terminus.rb +0 -245
  1248. data/spec/unit/indirector/yaml.rb +0 -145
  1249. data/spec/unit/module.rb +0 -247
  1250. data/spec/unit/network/authconfig.rb +0 -292
  1251. data/spec/unit/network/authstore.rb +0 -370
  1252. data/spec/unit/network/client.rb +0 -45
  1253. data/spec/unit/network/client/dipper.rb +0 -16
  1254. data/spec/unit/network/format.rb +0 -191
  1255. data/spec/unit/network/format_handler.rb +0 -327
  1256. data/spec/unit/network/formats.rb +0 -365
  1257. data/spec/unit/network/handler/fileserver.rb +0 -176
  1258. data/spec/unit/network/http.rb +0 -35
  1259. data/spec/unit/network/http/api/v1.rb +0 -122
  1260. data/spec/unit/network/http/handler.rb +0 -458
  1261. data/spec/unit/network/http/mongrel.rb +0 -131
  1262. data/spec/unit/network/http/mongrel/rest.rb +0 -232
  1263. data/spec/unit/network/http/rack.rb +0 -102
  1264. data/spec/unit/network/http/rack/rest.rb +0 -199
  1265. data/spec/unit/network/http/rack/xmlrpc.rb +0 -157
  1266. data/spec/unit/network/http/webrick.rb +0 -339
  1267. data/spec/unit/network/http/webrick/rest.rb +0 -157
  1268. data/spec/unit/network/http_pool.rb +0 -206
  1269. data/spec/unit/network/rest_authconfig.rb +0 -146
  1270. data/spec/unit/network/rest_authorization.rb +0 -43
  1271. data/spec/unit/network/rights.rb +0 -519
  1272. data/spec/unit/network/server.rb +0 -534
  1273. data/spec/unit/network/xmlrpc/client.rb +0 -171
  1274. data/spec/unit/node.rb +0 -200
  1275. data/spec/unit/node/environment.rb +0 -187
  1276. data/spec/unit/node/facts.rb +0 -97
  1277. data/spec/unit/other/checksum.rb +0 -92
  1278. data/spec/unit/other/selinux.rb +0 -85
  1279. data/spec/unit/other/transbucket.rb +0 -188
  1280. data/spec/unit/other/transobject.rb +0 -112
  1281. data/spec/unit/parameter.rb +0 -405
  1282. data/spec/unit/parser/ast.rb +0 -41
  1283. data/spec/unit/parser/ast/arithmetic_operator.rb +0 -73
  1284. data/spec/unit/parser/ast/astarray.rb +0 -72
  1285. data/spec/unit/parser/ast/boolean_operator.rb +0 -53
  1286. data/spec/unit/parser/ast/casestatement.rb +0 -135
  1287. data/spec/unit/parser/ast/collection.rb +0 -63
  1288. data/spec/unit/parser/ast/collexpr.rb +0 -115
  1289. data/spec/unit/parser/ast/comparison_operator.rb +0 -92
  1290. data/spec/unit/parser/ast/definition.rb +0 -213
  1291. data/spec/unit/parser/ast/function.rb +0 -83
  1292. data/spec/unit/parser/ast/hostclass.rb +0 -148
  1293. data/spec/unit/parser/ast/ifstatement.rb +0 -76
  1294. data/spec/unit/parser/ast/leaf.rb +0 -298
  1295. data/spec/unit/parser/ast/match_operator.rb +0 -50
  1296. data/spec/unit/parser/ast/minus.rb +0 -36
  1297. data/spec/unit/parser/ast/node.rb +0 -145
  1298. data/spec/unit/parser/ast/nop.rb +0 -20
  1299. data/spec/unit/parser/ast/not.rb +0 -30
  1300. data/spec/unit/parser/ast/resource.rb +0 -103
  1301. data/spec/unit/parser/ast/resource_override.rb +0 -51
  1302. data/spec/unit/parser/ast/resource_reference.rb +0 -69
  1303. data/spec/unit/parser/ast/selector.rb +0 -155
  1304. data/spec/unit/parser/ast/vardef.rb +0 -47
  1305. data/spec/unit/parser/collector.rb +0 -556
  1306. data/spec/unit/parser/compiler.rb +0 -604
  1307. data/spec/unit/parser/files.rb +0 -190
  1308. data/spec/unit/parser/functions.rb +0 -83
  1309. data/spec/unit/parser/functions/fqdn_rand.rb +0 -62
  1310. data/spec/unit/parser/functions/generate.rb +0 -41
  1311. data/spec/unit/parser/functions/inline_template.rb +0 -59
  1312. data/spec/unit/parser/functions/realize.rb +0 -51
  1313. data/spec/unit/parser/functions/regsubst.rb +0 -168
  1314. data/spec/unit/parser/functions/require.rb +0 -69
  1315. data/spec/unit/parser/functions/shellquote.rb +0 -92
  1316. data/spec/unit/parser/functions/split.rb +0 -51
  1317. data/spec/unit/parser/functions/sprintf.rb +0 -42
  1318. data/spec/unit/parser/functions/template.rb +0 -62
  1319. data/spec/unit/parser/functions/versioncmp.rb +0 -29
  1320. data/spec/unit/parser/interpreter.rb +0 -147
  1321. data/spec/unit/parser/lexer.rb +0 -731
  1322. data/spec/unit/parser/loaded_code.rb +0 -215
  1323. data/spec/unit/parser/parser.rb +0 -423
  1324. data/spec/unit/parser/resource.rb +0 -529
  1325. data/spec/unit/parser/resource/reference.rb +0 -111
  1326. data/spec/unit/parser/scope.rb +0 -387
  1327. data/spec/unit/parser/templatewrapper.rb +0 -134
  1328. data/spec/unit/property.rb +0 -305
  1329. data/spec/unit/property/keyvalue.rb +0 -168
  1330. data/spec/unit/property/list.rb +0 -166
  1331. data/spec/unit/property/ordered_list.rb +0 -64
  1332. data/spec/unit/provider.rb +0 -31
  1333. data/spec/unit/provider/augeas/augeas.rb +0 -413
  1334. data/spec/unit/provider/confine.rb +0 -78
  1335. data/spec/unit/provider/confine/exists.rb +0 -81
  1336. data/spec/unit/provider/confine/false.rb +0 -53
  1337. data/spec/unit/provider/confine/feature.rb +0 -60
  1338. data/spec/unit/provider/confine/true.rb +0 -53
  1339. data/spec/unit/provider/confine/variable.rb +0 -107
  1340. data/spec/unit/provider/confine_collection.rb +0 -134
  1341. data/spec/unit/provider/confiner.rb +0 -63
  1342. data/spec/unit/provider/group/groupadd.rb +0 -31
  1343. data/spec/unit/provider/group/ldap.rb +0 -105
  1344. data/spec/unit/provider/ldap.rb +0 -248
  1345. data/spec/unit/provider/macauthorization.rb +0 -147
  1346. data/spec/unit/provider/mcx/mcxcontent.rb +0 -175
  1347. data/spec/unit/provider/mount.rb +0 -130
  1348. data/spec/unit/provider/mount/parsed.rb +0 -194
  1349. data/spec/unit/provider/naginator.rb +0 -58
  1350. data/spec/unit/provider/package/apt.rb +0 -138
  1351. data/spec/unit/provider/package/dpkg.rb +0 -170
  1352. data/spec/unit/provider/package/gem.rb +0 -87
  1353. data/spec/unit/provider/package/hpux.rb +0 -52
  1354. data/spec/unit/provider/package/pkgdmg.rb +0 -73
  1355. data/spec/unit/provider/parsedfile.rb +0 -95
  1356. data/spec/unit/provider/selboolean.rb +0 -37
  1357. data/spec/unit/provider/selmodule.rb +0 -66
  1358. data/spec/unit/provider/service/daemontools.rb +0 -166
  1359. data/spec/unit/provider/service/debian.rb +0 -89
  1360. data/spec/unit/provider/service/init.rb +0 -121
  1361. data/spec/unit/provider/service/launchd.rb +0 -200
  1362. data/spec/unit/provider/service/redhat.rb +0 -96
  1363. data/spec/unit/provider/service/runit.rb +0 -140
  1364. data/spec/unit/provider/ssh_authorized_key/parsed.rb +0 -206
  1365. data/spec/unit/provider/sshkey/parsed.rb +0 -38
  1366. data/spec/unit/provider/user/hpux.rb +0 -25
  1367. data/spec/unit/provider/user/ldap.rb +0 -279
  1368. data/spec/unit/provider/user/user_role_add.rb +0 -249
  1369. data/spec/unit/provider/user/useradd.rb +0 -115
  1370. data/spec/unit/provider/zfs/solaris.rb +0 -99
  1371. data/spec/unit/provider/zone/solaris.rb +0 -42
  1372. data/spec/unit/provider/zpool/solaris.rb +0 -179
  1373. data/spec/unit/rails.rb +0 -133
  1374. data/spec/unit/rails/host.rb +0 -163
  1375. data/spec/unit/rails/param_value.rb +0 -49
  1376. data/spec/unit/rails/resource.rb +0 -107
  1377. data/spec/unit/relationship.rb +0 -236
  1378. data/spec/unit/reports.rb +0 -61
  1379. data/spec/unit/resource.rb +0 -495
  1380. data/spec/unit/resource/catalog.rb +0 -1053
  1381. data/spec/unit/resource/reference.rb +0 -111
  1382. data/spec/unit/simple_graph.rb +0 -551
  1383. data/spec/unit/ssl/certificate.rb +0 -124
  1384. data/spec/unit/ssl/certificate_authority.rb +0 -741
  1385. data/spec/unit/ssl/certificate_authority/interface.rb +0 -269
  1386. data/spec/unit/ssl/certificate_factory.rb +0 -107
  1387. data/spec/unit/ssl/certificate_request.rb +0 -193
  1388. data/spec/unit/ssl/certificate_revocation_list.rb +0 -168
  1389. data/spec/unit/ssl/host.rb +0 -704
  1390. data/spec/unit/ssl/inventory.rb +0 -180
  1391. data/spec/unit/ssl/key.rb +0 -198
  1392. data/spec/unit/transaction.rb +0 -146
  1393. data/spec/unit/transaction/change.rb +0 -187
  1394. data/spec/unit/transaction/event.rb +0 -25
  1395. data/spec/unit/transaction/report.rb +0 -40
  1396. data/spec/unit/type.rb +0 -426
  1397. data/spec/unit/type/augeas.rb +0 -106
  1398. data/spec/unit/type/component.rb +0 -63
  1399. data/spec/unit/type/computer.rb +0 -78
  1400. data/spec/unit/type/cron.rb +0 -33
  1401. data/spec/unit/type/exec.rb +0 -116
  1402. data/spec/unit/type/file.rb +0 -810
  1403. data/spec/unit/type/file/checksum.rb +0 -28
  1404. data/spec/unit/type/file/content.rb +0 -297
  1405. data/spec/unit/type/file/ensure.rb +0 -84
  1406. data/spec/unit/type/file/group.rb +0 -123
  1407. data/spec/unit/type/file/owner.rb +0 -143
  1408. data/spec/unit/type/file/selinux.rb +0 -84
  1409. data/spec/unit/type/file/source.rb +0 -264
  1410. data/spec/unit/type/filebucket.rb +0 -74
  1411. data/spec/unit/type/group.rb +0 -39
  1412. data/spec/unit/type/macauthorization.rb +0 -111
  1413. data/spec/unit/type/maillist.rb +0 -42
  1414. data/spec/unit/type/mcx.rb +0 -100
  1415. data/spec/unit/type/mount.rb +0 -211
  1416. data/spec/unit/type/nagios.rb +0 -63
  1417. data/spec/unit/type/noop_metaparam.rb +0 -37
  1418. data/spec/unit/type/package.rb +0 -236
  1419. data/spec/unit/type/resources.rb +0 -89
  1420. data/spec/unit/type/schedule.rb +0 -333
  1421. data/spec/unit/type/selboolean.rb +0 -45
  1422. data/spec/unit/type/selmodule.rb +0 -18
  1423. data/spec/unit/type/service.rb +0 -230
  1424. data/spec/unit/type/ssh_authorized_key.rb +0 -140
  1425. data/spec/unit/type/tidy.rb +0 -422
  1426. data/spec/unit/type/user.rb +0 -285
  1427. data/spec/unit/type/zfs.rb +0 -45
  1428. data/spec/unit/type/zone.rb +0 -20
  1429. data/spec/unit/type/zpool.rb +0 -110
  1430. data/spec/unit/util/autoload.rb +0 -133
  1431. data/spec/unit/util/autoload/file_cache.rb +0 -183
  1432. data/spec/unit/util/backups.rb +0 -159
  1433. data/spec/unit/util/cache_accumulator.rb +0 -69
  1434. data/spec/unit/util/cacher.rb +0 -185
  1435. data/spec/unit/util/checksums.rb +0 -113
  1436. data/spec/unit/util/constant_inflector.rb +0 -70
  1437. data/spec/unit/util/feature.rb +0 -72
  1438. data/spec/unit/util/file_locking.rb +0 -115
  1439. data/spec/unit/util/filetype.rb +0 -100
  1440. data/spec/unit/util/json.rb +0 -21
  1441. data/spec/unit/util/ldap/connection.rb +0 -169
  1442. data/spec/unit/util/ldap/generator.rb +0 -54
  1443. data/spec/unit/util/ldap/manager.rb +0 -654
  1444. data/spec/unit/util/loadedfile.rb +0 -65
  1445. data/spec/unit/util/log.rb +0 -202
  1446. data/spec/unit/util/metric.rb +0 -95
  1447. data/spec/unit/util/monkey_patches.rb +0 -103
  1448. data/spec/unit/util/nagios_maker.rb +0 -126
  1449. data/spec/unit/util/package.rb +0 -21
  1450. data/spec/unit/util/posix.rb +0 -256
  1451. data/spec/unit/util/queue.rb +0 -96
  1452. data/spec/unit/util/queue/stomp.rb +0 -140
  1453. data/spec/unit/util/reference_serializer.rb +0 -52
  1454. data/spec/unit/util/resource_template.rb +0 -58
  1455. data/spec/unit/util/selinux.rb +0 -280
  1456. data/spec/unit/util/settings.rb +0 -1058
  1457. data/spec/unit/util/settings/file_setting.rb +0 -248
  1458. data/spec/unit/util/storage.rb +0 -248
  1459. data/spec/unit/util/tagging.rb +0 -102
  1460. data/spec/unit/util/user_attr.rb +0 -47
  1461. data/spec/unit/util/warnings.rb +0 -39
  1462. data/spec/unit/util/zaml.rb +0 -38
  1463. data/test/language/ast/casestatement.rb +0 -103
  1464. data/test/language/ast/resource.rb +0 -58
  1465. data/test/language/ast/resource_reference.rb +0 -77
  1466. data/test/language/ast/selector.rb +0 -61
  1467. data/test/language/resource.rb +0 -172
  1468. data/test/lib/puppettest/support/collection.rb +0 -29
  1469. data/test/network/client/resource.rb +0 -52
  1470. data/test/network/handler/bucket.rb +0 -313
  1471. data/test/network/handler/resource.rb +0 -250
  1472. data/test/other/dsl.rb +0 -215
  1473. data/test/other/events.rb +0 -124
  1474. data/test/ral/type/group.rb +0 -170
@@ -4,828 +4,884 @@ require 'digest/md5'
4
4
 
5
5
  module Generators
6
6
 
7
- # This module holds all the classes needed to generate the HTML documentation
8
- # of a bunch of puppet manifests.
9
- #
10
- # It works by traversing all the code objects defined by the Puppet RDoc::Parser
11
- # and produces HTML counterparts objects that in turns are used by RDoc template engine
12
- # to produce the final HTML.
13
- #
14
- # It is also responsible of creating the whole directory hierarchy, and various index
15
- # files.
16
- #
17
- # It is to be noted that the whole system is built on top of ruby RDoc. As such there
18
- # is an implicit mapping of puppet entities to ruby entitites:
19
- #
20
- # Puppet => Ruby
21
- # ------------------------
22
- # Module Module
23
- # Class Class
24
- # Definition Method
25
- # Resource
26
- # Node
27
- # Plugin
28
- # Fact
29
-
30
- MODULE_DIR = "modules"
31
- NODE_DIR = "nodes"
32
- PLUGIN_DIR = "plugins"
33
-
34
- # This is a specialized HTMLGenerator tailored to Puppet manifests
35
- class PuppetGenerator < HTMLGenerator
36
-
37
- def PuppetGenerator.for(options)
38
- AllReferences::reset
39
- HtmlMethod::reset
40
-
41
- if options.all_one_file
42
- PuppetGeneratorInOne.new(options)
43
- else
44
- PuppetGenerator.new(options)
45
- end
46
- end
7
+ # This module holds all the classes needed to generate the HTML documentation
8
+ # of a bunch of puppet manifests.
9
+ #
10
+ # It works by traversing all the code objects defined by the Puppet RDoc::Parser
11
+ # and produces HTML counterparts objects that in turns are used by RDoc template engine
12
+ # to produce the final HTML.
13
+ #
14
+ # It is also responsible of creating the whole directory hierarchy, and various index
15
+ # files.
16
+ #
17
+ # It is to be noted that the whole system is built on top of ruby RDoc. As such there
18
+ # is an implicit mapping of puppet entities to ruby entitites:
19
+ #
20
+ # Puppet => Ruby
21
+ # ------------------------
22
+ # Module Module
23
+ # Class Class
24
+ # Definition Method
25
+ # Resource
26
+ # Node
27
+ # Plugin
28
+ # Fact
29
+
30
+ MODULE_DIR = "modules"
31
+ NODE_DIR = "nodes"
32
+ PLUGIN_DIR = "plugins"
33
+
34
+ # This is a specialized HTMLGenerator tailored to Puppet manifests
35
+ class PuppetGenerator < HTMLGenerator
36
+
37
+ def PuppetGenerator.for(options)
38
+ AllReferences::reset
39
+ HtmlMethod::reset
40
+
41
+ if options.all_one_file
42
+ PuppetGeneratorInOne.new(options)
43
+ else
44
+ PuppetGenerator.new(options)
45
+ end
46
+ end
47
47
 
48
- def initialize(options) #:not-new:
49
- @options = options
50
- load_html_template
51
- end
48
+ def initialize(options) #:not-new:
49
+ @options = options
50
+ load_html_template
51
+ end
52
52
 
53
- # loads our own html template file
54
- def load_html_template
55
- begin
56
- require 'puppet/util/rdoc/generators/template/puppet/puppet'
57
- extend RDoc::Page
58
- rescue LoadError
59
- $stderr.puts "Could not find Puppet template '#{template}'"
60
- exit 99
61
- end
62
- end
53
+ # loads our own html template file
54
+ def load_html_template
55
+ require 'puppet/util/rdoc/generators/template/puppet/puppet'
56
+ extend RDoc::Page
57
+ rescue LoadError
58
+ $stderr.puts "Could not find Puppet template '#{template}'"
59
+ exit 99
60
+ end
63
61
 
64
- def gen_method_index
65
- # we don't generate an all define index
66
- # as the presentation is per module/per class
67
- end
62
+ def gen_method_index
63
+ # we don't generate an all define index
64
+ # as the presentation is per module/per class
65
+ end
68
66
 
69
- # This is the central method, it generates the whole structures
70
- # along with all the indices.
71
- def generate_html
72
- super
73
- gen_into(@nodes)
74
- gen_into(@plugins)
75
- end
67
+ # This is the central method, it generates the whole structures
68
+ # along with all the indices.
69
+ def generate_html
70
+ super
71
+ gen_into(@nodes)
72
+ gen_into(@plugins)
73
+ end
76
74
 
77
- ##
78
- # Generate:
79
- # the list of modules
80
- # the list of classes and definitions of a specific module
81
- # the list of all classes
82
- # the list of nodes
83
- # the list of resources
84
- def build_indices
85
- @allfiles = []
86
- @nodes = []
87
- @plugins = []
88
-
89
- # contains all the seen modules
90
- @modules = {}
91
- @allclasses = {}
92
-
93
- # build the modules, classes and per modules classes and define list
94
- @toplevels.each do |toplevel|
95
- next unless toplevel.document_self
96
- file = HtmlFile.new(toplevel, @options, FILE_DIR)
97
- classes = []
98
- methods = []
99
- modules = []
100
- nodes = []
101
-
102
- # find all classes of this toplevel
103
- # store modules if we find one
104
- toplevel.each_classmodule do |k|
105
- generate_class_list(classes, modules, k, toplevel, CLASS_DIR)
106
- end
107
-
108
- # find all defines belonging to this toplevel
109
- HtmlMethod.all_methods.each do |m|
110
- # find parent module, check this method is not already
111
- # defined.
112
- if m.context.parent.toplevel === toplevel
113
- methods << m
114
- end
115
- end
116
-
117
- classes.each do |k|
118
- @allclasses[k.index_name] = k if !@allclasses.has_key?(k.index_name)
119
- end
120
-
121
- # generate nodes and plugins found
122
- classes.each do |k|
123
- if k.context.is_module?
124
- k.context.each_node do |name,node|
125
- nodes << HTMLPuppetNode.new(node, toplevel, NODE_DIR, @options)
126
- @nodes << nodes.last
127
- end
128
- k.context.each_plugin do |plugin|
129
- @plugins << HTMLPuppetPlugin.new(plugin, toplevel, PLUGIN_DIR, @options)
130
- end
131
- k.context.each_fact do |fact|
132
- @plugins << HTMLPuppetPlugin.new(fact, toplevel, PLUGIN_DIR, @options)
133
- end
134
- end
135
- end
136
-
137
- @files << file
138
- @allfiles << { "file" => file, "modules" => modules, "classes" => classes, "methods" => methods, "nodes" => nodes }
139
- end
75
+ ##
76
+ # Generate:
77
+ # the list of modules
78
+ # the list of classes and definitions of a specific module
79
+ # the list of all classes
80
+ # the list of nodes
81
+ # the list of resources
82
+ def build_indices
83
+ @allfiles = []
84
+ @nodes = []
85
+ @plugins = []
140
86
 
141
- @classes = @allclasses.values
142
- end
87
+ # contains all the seen modules
88
+ @modules = {}
89
+ @allclasses = {}
143
90
 
144
- # produce a class/module list of HTMLPuppetModule/HTMLPuppetClass
145
- # based on the code object traversal.
146
- def generate_class_list(classes, modules, from, html_file, class_dir)
147
- if from.is_module? and !@modules.has_key?(from.name)
148
- k = HTMLPuppetModule.new(from, html_file, class_dir, @options)
149
- classes << k
150
- @modules[from.name] = k
151
- modules << @modules[from.name]
152
- elsif from.is_module?
153
- modules << @modules[from.name]
154
- elsif !from.is_module?
155
- k = HTMLPuppetClass.new(from, html_file, class_dir, @options)
156
- classes << k
157
- end
158
- from.each_classmodule do |mod|
159
- generate_class_list(classes, modules, mod, html_file, class_dir)
160
- end
91
+ # build the modules, classes and per modules classes and define list
92
+ @toplevels.each do |toplevel|
93
+ next unless toplevel.document_self
94
+ file = HtmlFile.new(toplevel, @options, FILE_DIR)
95
+ classes = []
96
+ methods = []
97
+ modules = []
98
+ nodes = []
99
+
100
+ # find all classes of this toplevel
101
+ # store modules if we find one
102
+ toplevel.each_classmodule do |k|
103
+ generate_class_list(classes, modules, k, toplevel, CLASS_DIR)
161
104
  end
162
105
 
163
- # generate all the subdirectories, modules, classes and files
164
- def gen_sub_directories
165
- begin
166
- super
167
- File.makedirs(MODULE_DIR)
168
- File.makedirs(NODE_DIR)
169
- File.makedirs(PLUGIN_DIR)
170
- rescue
171
- $stderr.puts $!.message
172
- exit 1
173
- end
106
+ # find all defines belonging to this toplevel
107
+ HtmlMethod.all_methods.each do |m|
108
+ # find parent module, check this method is not already
109
+ # defined.
110
+ if m.context.parent.toplevel === toplevel
111
+ methods << m
112
+ end
174
113
  end
175
114
 
176
- # generate the index of modules
177
- def gen_file_index
178
- gen_top_index(@modules.values, 'All Modules', RDoc::Page::TOP_INDEX, "fr_modules_index.html")
115
+ classes.each do |k|
116
+ @allclasses[k.index_name] = k if !@allclasses.has_key?(k.index_name)
179
117
  end
180
118
 
181
- # generate a top index
182
- def gen_top_index(collection, title, template, filename)
183
- template = TemplatePage.new(RDoc::Page::FR_INDEX_BODY, template)
184
- res = []
185
- collection.sort.each do |f|
186
- if f.document_self
187
- res << { "classlist" => CGI.escapeHTML("#{MODULE_DIR}/fr_#{f.index_name}.html"), "module" => CGI.escapeHTML("#{CLASS_DIR}/#{f.index_name}.html"),"name" => CGI.escapeHTML(f.index_name) }
188
- end
119
+ # generate nodes and plugins found
120
+ classes.each do |k|
121
+ if k.context.is_module?
122
+ k.context.each_node do |name,node|
123
+ nodes << HTMLPuppetNode.new(node, toplevel, NODE_DIR, @options)
124
+ @nodes << nodes.last
189
125
  end
190
-
191
- values = {
192
- "entries" => res,
193
- 'list_title' => CGI.escapeHTML(title),
194
- 'index_url' => main_url,
195
- 'charset' => @options.charset,
196
- 'style_url' => style_url('', @options.css),
197
- }
198
-
199
- File.open(filename, "w") do |f|
200
- template.write_html_on(f, values)
126
+ k.context.each_plugin do |plugin|
127
+ @plugins << HTMLPuppetPlugin.new(plugin, toplevel, PLUGIN_DIR, @options)
201
128
  end
202
- end
203
-
204
- # generate the all classes index file and the combo index
205
- def gen_class_index
206
- gen_an_index(@classes, 'All Classes', RDoc::Page::CLASS_INDEX, "fr_class_index.html")
207
- @allfiles.each do |file|
208
- unless file['file'].context.file_relative_name =~ /\.rb$/
209
- gen_composite_index(file,
210
- RDoc::Page::COMBO_INDEX,
211
- "#{MODULE_DIR}/fr_#{file["file"].context.module_name}.html")
212
- end
129
+ k.context.each_fact do |fact|
130
+ @plugins << HTMLPuppetPlugin.new(fact, toplevel, PLUGIN_DIR, @options)
213
131
  end
132
+ end
214
133
  end
215
134
 
216
- def gen_composite_index(collection, template, filename)\
217
- return if FileTest.exists?(filename)
218
-
219
- template = TemplatePage.new(RDoc::Page::FR_INDEX_BODY, template)
220
- res1 = []
221
- collection['classes'].sort.each do |f|
222
- if f.document_self
223
- unless f.context.is_module?
224
- res1 << { "href" => "../"+CGI.escapeHTML(f.path), "name" => CGI.escapeHTML(f.index_name) }
225
- end
226
- end
227
- end
135
+ @files << file
136
+ @allfiles << { "file" => file, "modules" => modules, "classes" => classes, "methods" => methods, "nodes" => nodes }
137
+ end
228
138
 
229
- res2 = []
230
- collection['methods'].sort.each do |f|
231
- if f.document_self
232
- res2 << { "href" => "../"+f.path, "name" => f.index_name.sub(/\(.*\)$/,'') }
233
- end
234
- end
139
+ # scan all classes to create the childs references
140
+ @allclasses.values.each do |klass|
141
+ if superklass = klass.context.superclass
142
+ if superklass = AllReferences[superklass] and (superklass.is_a?(HTMLPuppetClass) or superklass.is_a?(HTMLPuppetNode))
143
+ superklass.context.add_child(klass.context)
144
+ end
145
+ end
146
+ end
235
147
 
236
- module_name = []
237
- res3 = []
238
- res4 = []
239
- collection['modules'].sort.each do |f|
240
- module_name << { "href" => "../"+CGI.escapeHTML(f.path), "name" => CGI.escapeHTML(f.index_name) }
241
- unless f.facts.nil?
242
- f.facts.each do |fact|
243
- res3 << {"href" => "../"+CGI.escapeHTML(AllReferences["PLUGIN(#{fact.name})"].path), "name" => CGI.escapeHTML(fact.name)}
244
- end
245
- end
246
- unless f.plugins.nil?
247
- f.plugins.each do |plugin|
248
- res4 << {"href" => "../"+CGI.escapeHTML(AllReferences["PLUGIN(#{plugin.name})"].path), "name" => CGI.escapeHTML(plugin.name)}
249
- end
250
- end
251
- end
148
+ @classes = @allclasses.values
149
+ end
252
150
 
253
- res5 = []
254
- collection['nodes'].sort.each do |f|
255
- if f.document_self
256
- res5 << { "href" => "../"+CGI.escapeHTML(f.path), "name" => CGI.escapeHTML(f.name) }
257
- end
258
- end
151
+ # produce a class/module list of HTMLPuppetModule/HTMLPuppetClass
152
+ # based on the code object traversal.
153
+ def generate_class_list(classes, modules, from, html_file, class_dir)
154
+ if from.is_module? and !@modules.has_key?(from.name)
155
+ k = HTMLPuppetModule.new(from, html_file, class_dir, @options)
156
+ classes << k
157
+ @modules[from.name] = k
158
+ modules << @modules[from.name]
159
+ elsif from.is_module?
160
+ modules << @modules[from.name]
161
+ elsif !from.is_module?
162
+ k = HTMLPuppetClass.new(from, html_file, class_dir, @options)
163
+ classes << k
164
+ end
165
+ from.each_classmodule do |mod|
166
+ generate_class_list(classes, modules, mod, html_file, class_dir)
167
+ end
168
+ end
259
169
 
260
- values = {
261
- "module" => module_name,
262
- "classes" => res1,
263
- 'classes_title' => CGI.escapeHTML("Classes"),
264
- 'defines_title' => CGI.escapeHTML("Defines"),
265
- 'facts_title' => CGI.escapeHTML("Custom Facts"),
266
- 'plugins_title' => CGI.escapeHTML("Plugins"),
267
- 'nodes_title' => CGI.escapeHTML("Nodes"),
268
- 'index_url' => main_url,
269
- 'charset' => @options.charset,
270
- 'style_url' => style_url('', @options.css),
271
- }
272
-
273
- values["defines"] = res2 if res2.size>0
274
- values["facts"] = res3 if res3.size>0
275
- values["plugins"] = res4 if res4.size>0
276
- values["nodes"] = res5 if res5.size>0
277
-
278
- File.open(filename, "w") do |f|
279
- template.write_html_on(f, values)
280
- end
281
- end
170
+ # generate all the subdirectories, modules, classes and files
171
+ def gen_sub_directories
172
+ super
173
+ File.makedirs(MODULE_DIR)
174
+ File.makedirs(NODE_DIR)
175
+ File.makedirs(PLUGIN_DIR)
176
+ rescue
177
+ $stderr.puts $ERROR_INFO.message
178
+ exit 1
179
+ end
282
180
 
283
- # returns the initial_page url
284
- def main_url
285
- main_page = @options.main_page
286
- ref = nil
287
- if main_page
288
- ref = AllReferences[main_page]
289
- if ref
290
- ref = ref.path
291
- else
292
- $stderr.puts "Could not find main page #{main_page}"
293
- end
294
- end
181
+ # generate the index of modules
182
+ def gen_file_index
183
+ gen_top_index(@modules.values, 'All Modules', RDoc::Page::TOP_INDEX, "fr_modules_index.html")
184
+ end
295
185
 
296
- unless ref
297
- for file in @files
298
- if file.document_self and file.context.global
299
- ref = CGI.escapeHTML("#{CLASS_DIR}/#{file.context.module_name}.html")
300
- break
301
- end
302
- end
303
- end
186
+ # generate a top index
187
+ def gen_top_index(collection, title, template, filename)
188
+ template = TemplatePage.new(RDoc::Page::FR_INDEX_BODY, template)
189
+ res = []
190
+ collection.sort.each do |f|
191
+ if f.document_self
192
+ res << { "classlist" => CGI.escapeHTML("#{MODULE_DIR}/fr_#{f.index_name}.html"), "module" => CGI.escapeHTML("#{CLASS_DIR}/#{f.index_name}.html"),"name" => CGI.escapeHTML(f.index_name) }
193
+ end
194
+ end
195
+
196
+ values = {
197
+ "entries" => res,
198
+ 'list_title' => CGI.escapeHTML(title),
199
+ 'index_url' => main_url,
200
+ 'charset' => @options.charset,
201
+ 'style_url' => style_url('', @options.css),
202
+ }
203
+
204
+ File.open(filename, "w") do |f|
205
+ template.write_html_on(f, values)
206
+ end
207
+ end
304
208
 
305
- unless ref
306
- for file in @files
307
- if file.document_self and !file.context.global
308
- ref = CGI.escapeHTML("#{CLASS_DIR}/#{file.context.module_name}.html")
309
- break
310
- end
311
- end
312
- end
209
+ # generate the all classes index file and the combo index
210
+ def gen_class_index
211
+ gen_an_index(@classes, 'All Classes', RDoc::Page::CLASS_INDEX, "fr_class_index.html")
212
+ @allfiles.each do |file|
213
+ unless file['file'].context.file_relative_name =~ /\.rb$/
313
214
 
314
- unless ref
315
- $stderr.puts "Couldn't find anything to document"
316
- $stderr.puts "Perhaps you've used :stopdoc: in all classes"
317
- exit(1)
318
- end
215
+ gen_composite_index(
216
+ file,
217
+ RDoc::Page::COMBO_INDEX,
319
218
 
320
- ref
219
+ "#{MODULE_DIR}/fr_#{file["file"].context.module_name}.html")
321
220
  end
221
+ end
222
+ end
322
223
 
224
+ def gen_composite_index(collection, template, filename)\
225
+ return if FileTest.exists?(filename)
226
+
227
+ template = TemplatePage.new(RDoc::Page::FR_INDEX_BODY, template)
228
+ res1 = []
229
+ collection['classes'].sort.each do |f|
230
+ if f.document_self
231
+ res1 << { "href" => "../"+CGI.escapeHTML(f.path), "name" => CGI.escapeHTML(f.index_name) } unless f.context.is_module?
232
+ end
233
+ end
234
+
235
+ res2 = []
236
+ collection['methods'].sort.each do |f|
237
+ res2 << { "href" => "../#{f.path}", "name" => f.index_name.sub(/\(.*\)$/,'') } if f.document_self
238
+ end
239
+
240
+ module_name = []
241
+ res3 = []
242
+ res4 = []
243
+ collection['modules'].sort.each do |f|
244
+ module_name << { "href" => "../"+CGI.escapeHTML(f.path), "name" => CGI.escapeHTML(f.index_name) }
245
+ unless f.facts.nil?
246
+ f.facts.each do |fact|
247
+ res3 << {"href" => "../"+CGI.escapeHTML(AllReferences["PLUGIN(#{fact.name})"].path), "name" => CGI.escapeHTML(fact.name)}
248
+ end
249
+ end
250
+ unless f.plugins.nil?
251
+ f.plugins.each do |plugin|
252
+ res4 << {"href" => "../"+CGI.escapeHTML(AllReferences["PLUGIN(#{plugin.name})"].path), "name" => CGI.escapeHTML(plugin.name)}
253
+ end
254
+ end
255
+ end
256
+
257
+ res5 = []
258
+ collection['nodes'].sort.each do |f|
259
+ res5 << { "href" => "../"+CGI.escapeHTML(f.path), "name" => CGI.escapeHTML(f.name) } if f.document_self
260
+ end
261
+
262
+ values = {
263
+ "module" => module_name,
264
+ "classes" => res1,
265
+ 'classes_title' => CGI.escapeHTML("Classes"),
266
+ 'defines_title' => CGI.escapeHTML("Defines"),
267
+ 'facts_title' => CGI.escapeHTML("Custom Facts"),
268
+ 'plugins_title' => CGI.escapeHTML("Plugins"),
269
+ 'nodes_title' => CGI.escapeHTML("Nodes"),
270
+ 'index_url' => main_url,
271
+ 'charset' => @options.charset,
272
+ 'style_url' => style_url('', @options.css),
273
+ }
274
+
275
+ values["defines"] = res2 if res2.size>0
276
+ values["facts"] = res3 if res3.size>0
277
+ values["plugins"] = res4 if res4.size>0
278
+ values["nodes"] = res5 if res5.size>0
279
+
280
+ File.open(filename, "w") do |f|
281
+ template.write_html_on(f, values)
282
+ end
323
283
  end
324
284
 
325
- # This module is used to hold/generate a list of puppet resources
326
- # this is used in HTMLPuppetClass and HTMLPuppetNode
327
- module ResourceContainer
328
- def collect_resources
329
- list = @context.resource_list
330
- @resources = list.collect {|m| HTMLPuppetResource.new(m, self, @options) }
331
- end
285
+ # returns the initial_page url
286
+ def main_url
287
+ main_page = @options.main_page
288
+ ref = nil
289
+ if main_page
290
+ ref = AllReferences[main_page]
291
+ if ref
292
+ ref = ref.path
293
+ else
294
+ $stderr.puts "Could not find main page #{main_page}"
295
+ end
296
+ end
297
+
298
+ unless ref
299
+ for file in @files
300
+ if file.document_self and file.context.global
301
+ ref = CGI.escapeHTML("#{CLASS_DIR}/#{file.context.module_name}.html")
302
+ break
303
+ end
304
+ end
305
+ end
306
+
307
+ unless ref
308
+ for file in @files
309
+ if file.document_self and !file.context.global
310
+ ref = CGI.escapeHTML("#{CLASS_DIR}/#{file.context.module_name}.html")
311
+ break
312
+ end
313
+ end
314
+ end
315
+
316
+ unless ref
317
+ $stderr.puts "Couldn't find anything to document"
318
+ $stderr.puts "Perhaps you've used :stopdoc: in all classes"
319
+ exit(1)
320
+ end
321
+
322
+ ref
323
+ end
332
324
 
333
- def build_resource_summary_list(path_prefix='')
334
- collect_resources unless @resources
335
- resources = @resources.sort
336
- res = []
337
- resources.each do |r|
338
- res << {
339
- "name" => CGI.escapeHTML(r.name),
340
- "aref" => CGI.escape(path_prefix)+"\#"+CGI.escape(r.aref)
341
- }
342
- end
343
- res
344
- end
325
+ end
326
+
327
+ # This module is used to generate a referenced full name list of ContextUser
328
+ module ReferencedListBuilder
329
+ def build_referenced_list(list)
330
+ res = []
331
+ list.each do |i|
332
+ ref = AllReferences[i.name] || @context.find_symbol(i.name)
333
+ ref = ref.viewer if ref and ref.respond_to?(:viewer)
334
+ name = i.respond_to?(:full_name) ? i.full_name : i.name
335
+ h_name = CGI.escapeHTML(name)
336
+ if ref and ref.document_self
337
+ path = url(ref.path)
338
+ res << { "name" => h_name, "aref" => path }
339
+ else
340
+ res << { "name" => h_name }
341
+ end
342
+ end
343
+ res
344
+ end
345
+ end
346
+
347
+ # This module is used to hold/generate a list of puppet resources
348
+ # this is used in HTMLPuppetClass and HTMLPuppetNode
349
+ module ResourceContainer
350
+ def collect_resources
351
+ list = @context.resource_list
352
+ @resources = list.collect {|m| HTMLPuppetResource.new(m, self, @options) }
353
+ end
345
354
 
346
- def build_resource_detail_list(section)
347
- outer = []
348
- resources = @resources.sort
349
- resources.each do |r|
350
- row = {}
351
- if r.section == section and r.document_self
352
- row["name"] = CGI.escapeHTML(r.name)
353
- desc = r.description.strip
354
- row["m_desc"] = desc unless desc.empty?
355
- row["aref"] = r.aref
356
- row["params"] = r.params
357
- outer << row
358
- end
359
- end
360
- outer
361
- end
355
+ def build_resource_summary_list(path_prefix='')
356
+ collect_resources unless @resources
357
+ resources = @resources.sort
358
+ res = []
359
+ resources.each do |r|
360
+ res << {
361
+ "name" => CGI.escapeHTML(r.name),
362
+ "aref" => CGI.escape(path_prefix)+"\#"+CGI.escape(r.aref)
363
+ }
364
+ end
365
+ res
362
366
  end
363
367
 
364
- class HTMLPuppetClass < HtmlClass
365
- include ResourceContainer
368
+ def build_resource_detail_list(section)
369
+ outer = []
370
+ resources = @resources.sort
371
+ resources.each do |r|
372
+ row = {}
373
+ if r.section == section and r.document_self
374
+ row["name"] = CGI.escapeHTML(r.name)
375
+ desc = r.description.strip
376
+ row["m_desc"] = desc unless desc.empty?
377
+ row["aref"] = r.aref
378
+ row["params"] = r.params
379
+ outer << row
380
+ end
381
+ end
382
+ outer
383
+ end
384
+ end
366
385
 
367
- def value_hash
368
- super
369
- rl = build_resource_summary_list
370
- @values["resources"] = rl unless rl.empty?
386
+ class HTMLPuppetClass < HtmlClass
387
+ include ResourceContainer, ReferencedListBuilder
371
388
 
372
- @context.sections.each do |section|
373
- secdata = @values["sections"].select { |secdata| secdata["secsequence"] == section.sequence }
374
- if secdata.size == 1
375
- secdata = secdata[0]
389
+ def value_hash
390
+ super
391
+ rl = build_resource_summary_list
392
+ @values["resources"] = rl unless rl.empty?
376
393
 
377
- rdl = build_resource_detail_list(section)
378
- secdata["resource_list"] = rdl unless rdl.empty?
379
- end
380
- end
381
- @values
394
+ @context.sections.each do |section|
395
+ secdata = @values["sections"].select { |secdata| secdata["secsequence"] == section.sequence }
396
+ if secdata.size == 1
397
+ secdata = secdata[0]
398
+
399
+ rdl = build_resource_detail_list(section)
400
+ secdata["resource_list"] = rdl unless rdl.empty?
382
401
  end
402
+ end
403
+
404
+ rl = build_require_list(@context)
405
+ @values["requires"] = rl unless rl.empty?
406
+
407
+ rl = build_realize_list(@context)
408
+ @values["realizes"] = rl unless rl.empty?
409
+
410
+ cl = build_child_list(@context)
411
+ @values["childs"] = cl unless cl.empty?
412
+
413
+ @values
383
414
  end
384
415
 
385
- class HTMLPuppetNode < ContextUser
386
- include ResourceContainer
416
+ def build_require_list(context)
417
+ build_referenced_list(context.requires)
418
+ end
387
419
 
388
- attr_reader :path
420
+ def build_realize_list(context)
421
+ build_referenced_list(context.realizes)
422
+ end
389
423
 
390
- def initialize(context, html_file, prefix, options)
391
- super(context, options)
424
+ def build_child_list(context)
425
+ build_referenced_list(context.childs)
426
+ end
427
+ end
392
428
 
393
- @html_file = html_file
394
- @is_module = context.is_module?
395
- @values = {}
429
+ class HTMLPuppetNode < ContextUser
430
+ include ResourceContainer, ReferencedListBuilder
396
431
 
397
- context.viewer = self
432
+ attr_reader :path
398
433
 
399
- if options.all_one_file
400
- @path = context.full_name
401
- else
402
- @path = http_url(context.full_name, prefix)
403
- end
434
+ def initialize(context, html_file, prefix, options)
435
+ super(context, options)
404
436
 
405
- AllReferences.add("NODE(#{@context.full_name})", self)
406
- end
437
+ @html_file = html_file
438
+ @is_module = context.is_module?
439
+ @values = {}
407
440
 
408
- def name
409
- @context.name
410
- end
441
+ context.viewer = self
411
442
 
412
- # return the relative file name to store this class in,
413
- # which is also its url
414
- def http_url(full_name, prefix)
415
- path = full_name.dup
416
- if path['<<']
417
- path.gsub!(/<<\s*(\w*)/) { "from-#$1" }
418
- end
419
- File.join(prefix, path.split("::").collect { |p| Digest::MD5.hexdigest(p) }) + ".html"
420
- end
443
+ if options.all_one_file
444
+ @path = context.full_name
445
+ else
446
+ @path = http_url(context.full_name, prefix)
447
+ end
421
448
 
422
- def parent_name
423
- @context.parent.full_name
424
- end
449
+ AllReferences.add("NODE(#{@context.full_name})", self)
450
+ end
425
451
 
426
- def index_name
427
- name
428
- end
452
+ def name
453
+ @context.name
454
+ end
429
455
 
430
- def write_on(f)
431
- value_hash
432
- template = TemplatePage.new(RDoc::Page::BODYINC,
433
- RDoc::Page::NODE_PAGE,
434
- RDoc::Page::METHOD_LIST)
435
- template.write_html_on(f, @values)
436
- end
456
+ # return the relative file name to store this class in,
457
+ # which is also its url
458
+ def http_url(full_name, prefix)
459
+ path = full_name.dup
460
+ path.gsub!(/<<\s*(\w*)/) { "from-#$1" } if path['<<']
461
+ File.join(prefix, path.split("::").collect { |p| Digest::MD5.hexdigest(p) }) + ".html"
462
+ end
437
463
 
438
- def value_hash
439
- class_attribute_values
440
- add_table_of_sections
464
+ def parent_name
465
+ @context.parent.full_name
466
+ end
441
467
 
442
- @values["charset"] = @options.charset
443
- @values["style_url"] = style_url(path, @options.css)
468
+ def index_name
469
+ name
470
+ end
444
471
 
445
- d = markup(@context.comment)
446
- @values["description"] = d unless d.empty?
472
+ def write_on(f)
473
+ value_hash
447
474
 
448
- ml = build_method_summary_list
449
- @values["methods"] = ml unless ml.empty?
475
+ template = TemplatePage.new(
476
+ RDoc::Page::BODYINC,
477
+ RDoc::Page::NODE_PAGE,
450
478
 
451
- rl = build_resource_summary_list
452
- @values["resources"] = rl unless rl.empty?
479
+ RDoc::Page::METHOD_LIST)
480
+ template.write_html_on(f, @values)
481
+ end
453
482
 
454
- il = build_include_list(@context)
455
- @values["includes"] = il unless il.empty?
483
+ def value_hash
484
+ class_attribute_values
485
+ add_table_of_sections
456
486
 
457
- @values["sections"] = @context.sections.map do |section|
487
+ @values["charset"] = @options.charset
488
+ @values["style_url"] = style_url(path, @options.css)
458
489
 
459
- secdata = {
460
- "sectitle" => section.title,
461
- "secsequence" => section.sequence,
462
- "seccomment" => markup(section.comment)
463
- }
490
+ d = markup(@context.comment)
491
+ @values["description"] = d unless d.empty?
464
492
 
465
- al = build_alias_summary_list(section)
466
- secdata["aliases"] = al unless al.empty?
493
+ ml = build_method_summary_list
494
+ @values["methods"] = ml unless ml.empty?
467
495
 
468
- co = build_constants_summary_list(section)
469
- secdata["constants"] = co unless co.empty?
496
+ rl = build_resource_summary_list
497
+ @values["resources"] = rl unless rl.empty?
470
498
 
471
- al = build_attribute_list(section)
472
- secdata["attributes"] = al unless al.empty?
499
+ il = build_include_list(@context)
500
+ @values["includes"] = il unless il.empty?
473
501
 
474
- cl = build_class_list(0, @context, section)
475
- secdata["classlist"] = cl unless cl.empty?
502
+ rl = build_require_list(@context)
503
+ @values["requires"] = rl unless rl.empty?
476
504
 
477
- mdl = build_method_detail_list(section)
478
- secdata["method_list"] = mdl unless mdl.empty?
505
+ rl = build_realize_list(@context)
506
+ @values["realizes"] = rl unless rl.empty?
479
507
 
480
- rdl = build_resource_detail_list(section)
481
- secdata["resource_list"] = rdl unless rdl.empty?
508
+ cl = build_child_list(@context)
509
+ @values["childs"] = cl unless cl.empty?
482
510
 
483
- secdata
484
- end
511
+ @values["sections"] = @context.sections.map do |section|
485
512
 
486
- @values
487
- end
513
+ secdata = {
514
+ "sectitle" => section.title,
515
+ "secsequence" => section.sequence,
516
+ "seccomment" => markup(section.comment)
517
+ }
488
518
 
489
- def build_attribute_list(section)
490
- atts = @context.attributes.sort
491
- res = []
492
- atts.each do |att|
493
- next unless att.section == section
494
- if att.visibility == :public || att.visibility == :protected || @options.show_all
495
- entry = {
496
- "name" => CGI.escapeHTML(att.name),
497
- "rw" => att.rw,
498
- "a_desc" => markup(att.comment, true)
499
- }
500
- unless att.visibility == :public || att.visibility == :protected
501
- entry["rw"] << "-"
502
- end
503
- res << entry
504
- end
505
- end
506
- res
507
- end
519
+ al = build_alias_summary_list(section)
520
+ secdata["aliases"] = al unless al.empty?
508
521
 
509
- def class_attribute_values
510
- h_name = CGI.escapeHTML(name)
522
+ co = build_constants_summary_list(section)
523
+ secdata["constants"] = co unless co.empty?
511
524
 
512
- @values["classmod"] = "Node"
513
- @values["title"] = CGI.escapeHTML("#{@values['classmod']}: #{h_name}")
525
+ al = build_attribute_list(section)
526
+ secdata["attributes"] = al unless al.empty?
514
527
 
515
- c = @context
516
- c = c.parent while c and !c.diagram
528
+ cl = build_class_list(0, @context, section)
529
+ secdata["classlist"] = cl unless cl.empty?
517
530
 
518
- if c && c.diagram
519
- @values["diagram"] = diagram_reference(c.diagram)
520
- end
531
+ mdl = build_method_detail_list(section)
532
+ secdata["method_list"] = mdl unless mdl.empty?
533
+
534
+ rdl = build_resource_detail_list(section)
535
+ secdata["resource_list"] = rdl unless rdl.empty?
521
536
 
522
- @values["full_name"] = h_name
537
+ secdata
538
+ end
523
539
 
524
- parent_class = @context.superclass
540
+ @values
541
+ end
525
542
 
526
- if parent_class
527
- @values["parent"] = CGI.escapeHTML(parent_class)
543
+ def build_attribute_list(section)
544
+ atts = @context.attributes.sort
545
+ res = []
546
+ atts.each do |att|
547
+ next unless att.section == section
548
+ if att.visibility == :public || att.visibility == :protected || @options.show_all
549
+ entry = {
550
+ "name" => CGI.escapeHTML(att.name),
551
+ "rw" => att.rw,
552
+ "a_desc" => markup(att.comment, true)
553
+ }
554
+ unless att.visibility == :public || att.visibility == :protected
555
+ entry["rw"] << "-"
556
+ end
557
+ res << entry
558
+ end
559
+ end
560
+ res
561
+ end
528
562
 
529
- if parent_name
530
- lookup = parent_name + "::" + parent_class
531
- else
532
- lookup = parent_class
533
- end
534
- lookup = "NODE(#{lookup})"
535
- parent_url = AllReferences[lookup] || AllReferences[parent_class]
536
- if parent_url and parent_url.document_self
537
- @values["par_url"] = aref_to(parent_url.path)
538
- end
539
- end
563
+ def class_attribute_values
564
+ h_name = CGI.escapeHTML(name)
540
565
 
541
- files = []
542
- @context.in_files.each do |f|
543
- res = {}
544
- full_path = CGI.escapeHTML(f.file_absolute_name)
566
+ @values["classmod"] = "Node"
567
+ @values["title"] = CGI.escapeHTML("#{@values['classmod']}: #{h_name}")
545
568
 
546
- res["full_path"] = full_path
547
- res["full_path_url"] = aref_to(f.viewer.path) if f.document_self
569
+ c = @context
570
+ c = c.parent while c and !c.diagram
548
571
 
549
- if @options.webcvs
550
- res["cvsurl"] = cvs_url( @options.webcvs, full_path )
551
- end
572
+ @values["diagram"] = diagram_reference(c.diagram) if c && c.diagram
552
573
 
553
- files << res
554
- end
574
+ @values["full_name"] = h_name
555
575
 
556
- @values['infiles'] = files
557
- end
576
+ parent_class = @context.superclass
558
577
 
559
- def <=>(other)
560
- self.name <=> other.name
578
+ if parent_class
579
+ @values["parent"] = CGI.escapeHTML(parent_class)
580
+
581
+ if parent_name
582
+ lookup = parent_name + "::#{parent_class}"
583
+ else
584
+ lookup = parent_class
561
585
  end
586
+ lookup = "NODE(#{lookup})"
587
+ parent_url = AllReferences[lookup] || AllReferences[parent_class]
588
+ @values["par_url"] = aref_to(parent_url.path) if parent_url and parent_url.document_self
589
+ end
590
+
591
+ files = []
592
+ @context.in_files.each do |f|
593
+ res = {}
594
+ full_path = CGI.escapeHTML(f.file_absolute_name)
595
+
596
+ res["full_path"] = full_path
597
+ res["full_path_url"] = aref_to(f.viewer.path) if f.document_self
598
+
599
+ res["cvsurl"] = cvs_url( @options.webcvs, full_path ) if @options.webcvs
600
+
601
+ files << res
602
+ end
603
+
604
+ @values['infiles'] = files
562
605
  end
563
606
 
564
- class HTMLPuppetModule < HtmlClass
607
+ def build_require_list(context)
608
+ build_referenced_list(context.requires)
609
+ end
565
610
 
566
- def initialize(context, html_file, prefix, options)
567
- super(context, html_file, prefix, options)
568
- end
611
+ def build_realize_list(context)
612
+ build_referenced_list(context.realizes)
613
+ end
569
614
 
570
- def value_hash
571
- @values = super
615
+ def build_child_list(context)
616
+ build_referenced_list(context.childs)
617
+ end
572
618
 
573
- fl = build_facts_summary_list
574
- @values["facts"] = fl unless fl.empty?
619
+ def <=>(other)
620
+ self.name <=> other.name
621
+ end
622
+ end
575
623
 
576
- pl = build_plugins_summary_list
577
- @values["plugins"] = pl unless pl.empty?
624
+ class HTMLPuppetModule < HtmlClass
578
625
 
579
- nl = build_nodes_list(0, @context)
580
- @values["nodelist"] = nl unless nl.empty?
626
+ def initialize(context, html_file, prefix, options)
627
+ super(context, html_file, prefix, options)
628
+ end
581
629
 
582
- @values
583
- end
630
+ def value_hash
631
+ @values = super
584
632
 
585
- def build_nodes_list(level, context)
586
- res = ""
587
- prefix = "&nbsp;&nbsp;::" * level;
588
-
589
- context.nodes.sort.each do |node|
590
- if node.document_self
591
- res <<
592
- prefix <<
593
- "Node " <<
594
- href(url(node.viewer.path), "link", node.full_name) <<
595
- "<br />\n"
596
- end
597
- end
598
- res
599
- end
633
+ fl = build_facts_summary_list
634
+ @values["facts"] = fl unless fl.empty?
600
635
 
601
- def build_facts_summary_list
602
- potentially_referenced_list(context.facts) {|fn| ["PLUGIN(#{fn})"] }
603
- end
636
+ pl = build_plugins_summary_list
637
+ @values["plugins"] = pl unless pl.empty?
604
638
 
605
- def build_plugins_summary_list
606
- potentially_referenced_list(context.plugins) {|fn| ["PLUGIN(#{fn})"] }
607
- end
639
+ nl = build_nodes_list(0, @context)
640
+ @values["nodelist"] = nl unless nl.empty?
608
641
 
609
- def facts
610
- @context.facts
611
- end
642
+ @values
643
+ end
612
644
 
613
- def plugins
614
- @context.plugins
645
+ def build_nodes_list(level, context)
646
+ res = ""
647
+ prefix = "&nbsp;&nbsp;::" * level;
648
+
649
+ context.nodes.sort.each do |node|
650
+ if node.document_self
651
+ res <<
652
+ prefix <<
653
+ "Node " <<
654
+ href(url(node.viewer.path), "link", node.full_name) <<
655
+ "<br />\n"
615
656
  end
657
+ end
658
+ res
659
+ end
616
660
 
661
+ def build_facts_summary_list
662
+ potentially_referenced_list(context.facts) {|fn| ["PLUGIN(#{fn})"] }
617
663
  end
618
664
 
619
- class HTMLPuppetPlugin < ContextUser
620
- attr_reader :path
665
+ def build_plugins_summary_list
666
+ potentially_referenced_list(context.plugins) {|fn| ["PLUGIN(#{fn})"] }
667
+ end
621
668
 
622
- def initialize(context, html_file, prefix, options)
623
- super(context, options)
669
+ def facts
670
+ @context.facts
671
+ end
624
672
 
625
- @html_file = html_file
626
- @is_module = false
627
- @values = {}
673
+ def plugins
674
+ @context.plugins
675
+ end
628
676
 
629
- context.viewer = self
677
+ end
630
678
 
631
- if options.all_one_file
632
- @path = context.full_name
633
- else
634
- @path = http_url(context.full_name, prefix)
635
- end
679
+ class HTMLPuppetPlugin < ContextUser
680
+ attr_reader :path
636
681
 
637
- AllReferences.add("PLUGIN(#{@context.full_name})", self)
638
- end
682
+ def initialize(context, html_file, prefix, options)
683
+ super(context, options)
639
684
 
640
- def name
641
- @context.name
642
- end
685
+ @html_file = html_file
686
+ @is_module = false
687
+ @values = {}
643
688
 
644
- # return the relative file name to store this class in,
645
- # which is also its url
646
- def http_url(full_name, prefix)
647
- path = full_name.dup
648
- if path['<<']
649
- path.gsub!(/<<\s*(\w*)/) { "from-#$1" }
650
- end
651
- File.join(prefix, path.split("::")) + ".html"
652
- end
689
+ context.viewer = self
653
690
 
654
- def parent_name
655
- @context.parent.full_name
656
- end
691
+ if options.all_one_file
692
+ @path = context.full_name
693
+ else
694
+ @path = http_url(context.full_name, prefix)
695
+ end
657
696
 
658
- def index_name
659
- name
660
- end
697
+ AllReferences.add("PLUGIN(#{@context.full_name})", self)
698
+ end
661
699
 
662
- def write_on(f)
663
- value_hash
664
- template = TemplatePage.new(RDoc::Page::BODYINC,
665
- RDoc::Page::PLUGIN_PAGE,
666
- RDoc::Page::PLUGIN_LIST)
667
- template.write_html_on(f, @values)
668
- end
700
+ def name
701
+ @context.name
702
+ end
669
703
 
670
- def value_hash
671
- attribute_values
672
- add_table_of_sections
673
-
674
- @values["charset"] = @options.charset
675
- @values["style_url"] = style_url(path, @options.css)
676
-
677
- d = markup(@context.comment)
678
- @values["description"] = d unless d.empty?
679
-
680
- if context.is_fact?
681
- unless context.confine.empty?
682
- res = {}
683
- res["type"] = context.confine[:type]
684
- res["value"] = context.confine[:value]
685
- @values["confine"] = [res]
686
- end
687
- else
688
- @values["type"] = context.type
689
- end
704
+ # return the relative file name to store this class in,
705
+ # which is also its url
706
+ def http_url(full_name, prefix)
707
+ path = full_name.dup
708
+ path.gsub!(/<<\s*(\w*)/) { "from-#$1" } if path['<<']
709
+ File.join(prefix, path.split("::")) + ".html"
710
+ end
690
711
 
691
- @values["sections"] = @context.sections.map do |section|
692
- secdata = {
693
- "sectitle" => section.title,
694
- "secsequence" => section.sequence,
695
- "seccomment" => markup(section.comment)
696
- }
697
- secdata
698
- end
712
+ def parent_name
713
+ @context.parent.full_name
714
+ end
699
715
 
700
- @values
701
- end
716
+ def index_name
717
+ name
718
+ end
702
719
 
703
- def attribute_values
704
- h_name = CGI.escapeHTML(name)
720
+ def write_on(f)
721
+ value_hash
705
722
 
706
- if @context.is_fact?
707
- @values["classmod"] = "Fact"
708
- else
709
- @values["classmod"] = "Plugin"
710
- end
711
- @values["title"] = "#{@values['classmod']}: #{h_name}"
723
+ template = TemplatePage.new(
724
+ RDoc::Page::BODYINC,
725
+ RDoc::Page::PLUGIN_PAGE,
712
726
 
713
- c = @context
714
- @values["full_name"] = h_name
727
+ RDoc::Page::PLUGIN_LIST)
728
+ template.write_html_on(f, @values)
729
+ end
715
730
 
716
- files = []
717
- @context.in_files.each do |f|
718
- res = {}
719
- full_path = CGI.escapeHTML(f.file_absolute_name)
731
+ def value_hash
732
+ attribute_values
733
+ add_table_of_sections
734
+
735
+ @values["charset"] = @options.charset
736
+ @values["style_url"] = style_url(path, @options.css)
737
+
738
+ d = markup(@context.comment)
739
+ @values["description"] = d unless d.empty?
740
+
741
+ if context.is_fact?
742
+ unless context.confine.empty?
743
+ res = {}
744
+ res["type"] = context.confine[:type]
745
+ res["value"] = context.confine[:value]
746
+ @values["confine"] = [res]
747
+ end
748
+ else
749
+ @values["type"] = context.type
750
+ end
751
+
752
+ @values["sections"] = @context.sections.map do |section|
753
+ secdata = {
754
+ "sectitle" => section.title,
755
+ "secsequence" => section.sequence,
756
+ "seccomment" => markup(section.comment)
757
+ }
758
+ secdata
759
+ end
760
+
761
+ @values
762
+ end
720
763
 
721
- res["full_path"] = full_path
722
- res["full_path_url"] = aref_to(f.viewer.path) if f.document_self
764
+ def attribute_values
765
+ h_name = CGI.escapeHTML(name)
723
766
 
724
- if @options.webcvs
725
- res["cvsurl"] = cvs_url( @options.webcvs, full_path )
726
- end
767
+ if @context.is_fact?
768
+ @values["classmod"] = "Fact"
769
+ else
770
+ @values["classmod"] = "Plugin"
771
+ end
772
+ @values["title"] = "#{@values['classmod']}: #{h_name}"
727
773
 
728
- files << res
729
- end
774
+ c = @context
775
+ @values["full_name"] = h_name
730
776
 
731
- @values['infiles'] = files
732
- end
777
+ files = []
778
+ @context.in_files.each do |f|
779
+ res = {}
780
+ full_path = CGI.escapeHTML(f.file_absolute_name)
733
781
 
734
- def <=>(other)
735
- self.name <=> other.name
736
- end
782
+ res["full_path"] = full_path
783
+ res["full_path_url"] = aref_to(f.viewer.path) if f.document_self
737
784
 
785
+ res["cvsurl"] = cvs_url( @options.webcvs, full_path ) if @options.webcvs
786
+
787
+ files << res
788
+ end
789
+
790
+ @values['infiles'] = files
738
791
  end
739
792
 
740
- class HTMLPuppetResource
741
- include MarkUp
793
+ def <=>(other)
794
+ self.name <=> other.name
795
+ end
742
796
 
743
- attr_reader :context
797
+ end
744
798
 
745
- @@seq = "R000000"
799
+ class HTMLPuppetResource
800
+ include MarkUp
746
801
 
747
- def initialize(context, html_class, options)
748
- @context = context
749
- @html_class = html_class
750
- @options = options
751
- @@seq = @@seq.succ
752
- @seq = @@seq
802
+ attr_reader :context
753
803
 
754
- context.viewer = self
804
+ @@seq = "R000000"
755
805
 
756
- AllReferences.add(name, self)
757
- end
806
+ def initialize(context, html_class, options)
807
+ @context = context
808
+ @html_class = html_class
809
+ @options = options
810
+ @@seq = @@seq.succ
811
+ @seq = @@seq
758
812
 
759
- def as_href(from_path)
760
- if @options.all_one_file
761
- "#" + path
762
- else
763
- HTMLGenerator.gen_url(from_path, path)
764
- end
765
- end
813
+ context.viewer = self
766
814
 
767
- def name
768
- @context.name
769
- end
815
+ AllReferences.add(name, self)
816
+ end
770
817
 
771
- def section
772
- @context.section
773
- end
818
+ def as_href(from_path)
819
+ if @options.all_one_file
820
+ "##{path}"
821
+ else
822
+ HTMLGenerator.gen_url(from_path, path)
823
+ end
824
+ end
774
825
 
775
- def index_name
776
- "#{@context.name}"
777
- end
826
+ def name
827
+ @context.name
828
+ end
778
829
 
779
- def params
780
- @context.params
781
- end
830
+ def section
831
+ @context.section
832
+ end
782
833
 
783
- def parent_name
784
- if @context.parent.parent
785
- @context.parent.parent.full_name
786
- else
787
- nil
788
- end
789
- end
834
+ def index_name
835
+ "#{@context.name}"
836
+ end
790
837
 
791
- def aref
792
- @seq
793
- end
838
+ def params
839
+ @context.params
840
+ end
794
841
 
795
- def path
796
- if @options.all_one_file
797
- aref
798
- else
799
- @html_class.path + "#" + aref
800
- end
801
- end
842
+ def parent_name
843
+ if @context.parent.parent
844
+ @context.parent.parent.full_name
845
+ else
846
+ nil
847
+ end
848
+ end
802
849
 
803
- def description
804
- markup(@context.comment)
805
- end
850
+ def aref
851
+ @seq
852
+ end
806
853
 
807
- def <=>(other)
808
- @context <=> other.context
809
- end
854
+ def path
855
+ if @options.all_one_file
856
+ aref
857
+ else
858
+ @html_class.path + "##{aref}"
859
+ end
860
+ end
810
861
 
811
- def document_self
812
- @context.document_self
813
- end
862
+ def description
863
+ markup(@context.comment)
864
+ end
814
865
 
815
- def find_symbol(symbol, method=nil)
816
- res = @context.parent.find_symbol(symbol, method)
817
- if res
818
- res = res.viewer
819
- end
820
- res
821
- end
866
+ def <=>(other)
867
+ @context <=> other.context
868
+ end
822
869
 
870
+ def document_self
871
+ @context.document_self
823
872
  end
824
873
 
825
- class PuppetGeneratorInOne < HTMLGeneratorInOne
826
- def gen_method_index
827
- gen_an_index(HtmlMethod.all_methods, 'Defines')
828
- end
874
+ def find_symbol(symbol, method=nil)
875
+ res = @context.parent.find_symbol(symbol, method)
876
+ res &&= res.viewer
877
+ end
878
+
879
+ end
880
+
881
+ class PuppetGeneratorInOne < HTMLGeneratorInOne
882
+ def gen_method_index
883
+ gen_an_index(HtmlMethod.all_methods, 'Defines')
829
884
  end
885
+ end
830
886
 
831
887
  end