redcar 0.2.9dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. data/CHANGES +64 -0
  2. data/LICENSE +32 -0
  3. data/README.md +64 -0
  4. data/ROADMAP.md +69 -0
  5. data/Rakefile +223 -0
  6. data/bin/redcar +6 -0
  7. data/config/default.yaml +15 -0
  8. data/ext/extconf.rb +18 -0
  9. data/lib/freebase2/README.txt +47 -0
  10. data/lib/freebase2/bin/default.yaml +15 -0
  11. data/lib/freebase2/bin/install.rb +42 -0
  12. data/lib/freebase2/bin/run.rb +48 -0
  13. data/lib/freebase2/lib/freebase/configuration.rb +535 -0
  14. data/lib/freebase2/lib/freebase/core.rb +197 -0
  15. data/lib/freebase2/lib/freebase/databus.rb +1128 -0
  16. data/lib/freebase2/lib/freebase/freebase.rb +60 -0
  17. data/lib/freebase2/lib/freebase/logger.rb +117 -0
  18. data/lib/freebase2/lib/freebase/plugin.rb +384 -0
  19. data/lib/freebase2/lib/freebase/properties.rb +130 -0
  20. data/lib/freebase2/lib/freebase/readers.rb +321 -0
  21. data/lib/freebase2/notes +61 -0
  22. data/lib/freebase2/plugins/raa_webrick/httpd.rb +125 -0
  23. data/lib/freebase2/plugins/raa_webrick/plugin.yaml +7 -0
  24. data/lib/freebase2/plugins/raa_webrick/web_root/test.html +5 -0
  25. data/lib/freebase2/plugins/raa_webrick/webserver.yaml +6 -0
  26. data/lib/freebase2/plugins/raa_xmlrpc4r/plugin.xml +8 -0
  27. data/lib/freebase2/plugins/raa_xmlrpc4r/rpcd.rb +54 -0
  28. data/lib/freebase2/regress/README +1 -0
  29. data/lib/little_plugger/History.txt +20 -0
  30. data/lib/little_plugger/Rakefile +34 -0
  31. data/lib/little_plugger/lib/little-plugger.rb +323 -0
  32. data/lib/little_plugger/spec/little-plugger_spec.rb +26 -0
  33. data/lib/little_plugger/spec/spec_helper.rb +16 -0
  34. data/lib/logging/History.txt +240 -0
  35. data/lib/logging/Rakefile +37 -0
  36. data/lib/logging/data/bad_logging_1.rb +13 -0
  37. data/lib/logging/data/bad_logging_2.rb +21 -0
  38. data/lib/logging/data/logging.rb +42 -0
  39. data/lib/logging/data/logging.yaml +63 -0
  40. data/lib/logging/data/simple_logging.rb +13 -0
  41. data/lib/logging/examples/appenders.rb +47 -0
  42. data/lib/logging/examples/classes.rb +41 -0
  43. data/lib/logging/examples/consolidation.rb +83 -0
  44. data/lib/logging/examples/formatting.rb +51 -0
  45. data/lib/logging/examples/hierarchies.rb +73 -0
  46. data/lib/logging/examples/layouts.rb +48 -0
  47. data/lib/logging/examples/loggers.rb +29 -0
  48. data/lib/logging/examples/names.rb +43 -0
  49. data/lib/logging/examples/simple.rb +17 -0
  50. data/lib/logging/lib/logging.rb +501 -0
  51. data/lib/logging/lib/logging/appender.rb +251 -0
  52. data/lib/logging/lib/logging/appenders.rb +131 -0
  53. data/lib/logging/lib/logging/appenders/buffering.rb +168 -0
  54. data/lib/logging/lib/logging/appenders/console.rb +60 -0
  55. data/lib/logging/lib/logging/appenders/email.rb +75 -0
  56. data/lib/logging/lib/logging/appenders/file.rb +58 -0
  57. data/lib/logging/lib/logging/appenders/growl.rb +197 -0
  58. data/lib/logging/lib/logging/appenders/io.rb +69 -0
  59. data/lib/logging/lib/logging/appenders/rolling_file.rb +293 -0
  60. data/lib/logging/lib/logging/appenders/string_io.rb +68 -0
  61. data/lib/logging/lib/logging/appenders/syslog.rb +194 -0
  62. data/lib/logging/lib/logging/config/configurator.rb +188 -0
  63. data/lib/logging/lib/logging/config/yaml_configurator.rb +191 -0
  64. data/lib/logging/lib/logging/layout.rb +117 -0
  65. data/lib/logging/lib/logging/layouts.rb +47 -0
  66. data/lib/logging/lib/logging/layouts/basic.rb +32 -0
  67. data/lib/logging/lib/logging/layouts/parseable.rb +211 -0
  68. data/lib/logging/lib/logging/layouts/pattern.rb +311 -0
  69. data/lib/logging/lib/logging/log_event.rb +45 -0
  70. data/lib/logging/lib/logging/logger.rb +503 -0
  71. data/lib/logging/lib/logging/repository.rb +232 -0
  72. data/lib/logging/lib/logging/root_logger.rb +61 -0
  73. data/lib/logging/lib/logging/stats.rb +278 -0
  74. data/lib/logging/lib/logging/utils.rb +153 -0
  75. data/lib/logging/lib/spec/logging_helper.rb +34 -0
  76. data/lib/logging/test/appenders/test_buffered_io.rb +176 -0
  77. data/lib/logging/test/appenders/test_console.rb +66 -0
  78. data/lib/logging/test/appenders/test_email.rb +170 -0
  79. data/lib/logging/test/appenders/test_file.rb +95 -0
  80. data/lib/logging/test/appenders/test_growl.rb +127 -0
  81. data/lib/logging/test/appenders/test_io.rb +129 -0
  82. data/lib/logging/test/appenders/test_rolling_file.rb +200 -0
  83. data/lib/logging/test/appenders/test_syslog.rb +194 -0
  84. data/lib/logging/test/benchmark.rb +86 -0
  85. data/lib/logging/test/config/test_configurator.rb +70 -0
  86. data/lib/logging/test/config/test_yaml_configurator.rb +40 -0
  87. data/lib/logging/test/layouts/test_basic.rb +42 -0
  88. data/lib/logging/test/layouts/test_json.rb +112 -0
  89. data/lib/logging/test/layouts/test_pattern.rb +198 -0
  90. data/lib/logging/test/layouts/test_yaml.rb +121 -0
  91. data/lib/logging/test/setup.rb +44 -0
  92. data/lib/logging/test/test_appender.rb +152 -0
  93. data/lib/logging/test/test_consolidate.rb +46 -0
  94. data/lib/logging/test/test_layout.rb +110 -0
  95. data/lib/logging/test/test_log_event.rb +80 -0
  96. data/lib/logging/test/test_logger.rb +699 -0
  97. data/lib/logging/test/test_logging.rb +267 -0
  98. data/lib/logging/test/test_repository.rb +158 -0
  99. data/lib/logging/test/test_root_logger.rb +81 -0
  100. data/lib/logging/test/test_stats.rb +274 -0
  101. data/lib/logging/test/test_utils.rb +116 -0
  102. data/lib/redcar.rb +12 -0
  103. data/lib/redcar/boot.rb +105 -0
  104. data/lib/redcar/install.rb +97 -0
  105. data/lib/redcar/plist.rb +83 -0
  106. data/lib/redcar/ruby_extensions.rb +14 -0
  107. data/lib/redcar/runner.rb +32 -0
  108. data/lib/redcar/usage.rb +24 -0
  109. data/lib/regex_replace.rb +220 -0
  110. data/plugins/application/features/main_menu.feature +9 -0
  111. data/plugins/application/features/main_window.feature +8 -0
  112. data/plugins/application/features/step_definitions/dialog_steps.rb +5 -0
  113. data/plugins/application/features/step_definitions/menu_steps.rb +21 -0
  114. data/plugins/application/features/step_definitions/window_steps.rb +4 -0
  115. data/plugins/application/features/support/env.rb +32 -0
  116. data/plugins/application/lib/application.rb +128 -0
  117. data/plugins/application/lib/application/assets/file.png +0 -0
  118. data/plugins/application/lib/application/command.rb +70 -0
  119. data/plugins/application/lib/application/command/executor.rb +46 -0
  120. data/plugins/application/lib/application/command/history.rb +49 -0
  121. data/plugins/application/lib/application/dialog.rb +15 -0
  122. data/plugins/application/lib/application/menu.rb +27 -0
  123. data/plugins/application/lib/application/menu/builder.rb +51 -0
  124. data/plugins/application/lib/application/menu/item.rb +26 -0
  125. data/plugins/application/lib/application/notebook.rb +77 -0
  126. data/plugins/application/lib/application/sensitive.rb +57 -0
  127. data/plugins/application/lib/application/sensitivity.rb +78 -0
  128. data/plugins/application/lib/application/tab.rb +47 -0
  129. data/plugins/application/lib/application/tab/command.rb +5 -0
  130. data/plugins/application/lib/application/window.rb +139 -0
  131. data/plugins/application/plugin.yaml +11 -0
  132. data/plugins/application/spec/application/application_spec.rb +23 -0
  133. data/plugins/application/spec/application/command/executor_spec.rb +67 -0
  134. data/plugins/application/spec/application/command/history_spec.rb +49 -0
  135. data/plugins/application/spec/application/command_spec.rb +59 -0
  136. data/plugins/application/spec/application/controllers/application_controller.rb +4 -0
  137. data/plugins/application/spec/application/controllers/notebook_controller.rb +4 -0
  138. data/plugins/application/spec/application/controllers/window_controller.rb +5 -0
  139. data/plugins/application/spec/application/menu/builder_spec.rb +57 -0
  140. data/plugins/application/spec/application/menu/menu_item_spec.rb +17 -0
  141. data/plugins/application/spec/application/menu_spec.rb +36 -0
  142. data/plugins/application/spec/application/notebook_spec.rb +26 -0
  143. data/plugins/application/spec/application/sensitive_spec.rb +156 -0
  144. data/plugins/application/spec/application/window_spec.rb +24 -0
  145. data/plugins/application/spec/spec_helper.rb +7 -0
  146. data/plugins/application_swt/lib/application_swt.rb +70 -0
  147. data/plugins/application_swt/lib/application_swt/cucumber_patches.rb +118 -0
  148. data/plugins/application_swt/lib/application_swt/cucumber_runner.rb +25 -0
  149. data/plugins/application_swt/lib/application_swt/dialog_adapter.rb +23 -0
  150. data/plugins/application_swt/lib/application_swt/event_loop.rb +27 -0
  151. data/plugins/application_swt/lib/application_swt/menu.rb +59 -0
  152. data/plugins/application_swt/lib/application_swt/menu/binding_translator.rb +39 -0
  153. data/plugins/application_swt/lib/application_swt/notebook.rb +129 -0
  154. data/plugins/application_swt/lib/application_swt/notebook/drag_and_drop_listener.rb +71 -0
  155. data/plugins/application_swt/lib/application_swt/swt/grid_data.rb +11 -0
  156. data/plugins/application_swt/lib/application_swt/swt_wrapper.rb +106 -0
  157. data/plugins/application_swt/lib/application_swt/tab.rb +58 -0
  158. data/plugins/application_swt/lib/application_swt/window.rb +142 -0
  159. data/plugins/application_swt/plugin.yaml +11 -0
  160. data/plugins/application_swt/spec/application_swt/menu/binding_translator_spec.rb +45 -0
  161. data/plugins/application_swt/spec/application_swt/menu_spec.rb +7 -0
  162. data/plugins/application_swt/spec/spec_helper.rb +18 -0
  163. data/plugins/application_swt/vendor/swt/linux/dummy +1 -0
  164. data/plugins/application_swt/vendor/swt/osx/dummy +1 -0
  165. data/plugins/application_swt/vendor/swt/osx64/dummy +1 -0
  166. data/plugins/application_swt/vendor/swt/win32/dummy +1 -0
  167. data/plugins/core/lib/core.rb +29 -0
  168. data/plugins/core/lib/core/controller.rb +5 -0
  169. data/plugins/core/lib/core/gui.rb +87 -0
  170. data/plugins/core/lib/core/logger.rb +25 -0
  171. data/plugins/core/lib/core/model.rb +9 -0
  172. data/plugins/core/lib/core/observable.rb +111 -0
  173. data/plugins/core/lib/core/plugin.rb +5 -0
  174. data/plugins/core/plugin.yaml +7 -0
  175. data/plugins/core/spec/core/gui_spec.rb +27 -0
  176. data/plugins/core/spec/core/observable_spec.rb +104 -0
  177. data/plugins/core/spec/spec_helper.rb +4 -0
  178. data/plugins/edit_view/features/multiple_notebooks.feature +77 -0
  179. data/plugins/edit_view/features/multiple_windows.feature +48 -0
  180. data/plugins/edit_view/features/new_tab.feature +12 -0
  181. data/plugins/edit_view/features/step_definitions/key_steps.rb +48 -0
  182. data/plugins/edit_view/features/step_definitions/notebook_steps.rb +60 -0
  183. data/plugins/edit_view/features/step_definitions/tab_steps.rb +55 -0
  184. data/plugins/edit_view/features/step_definitions/window_steps.rb +80 -0
  185. data/plugins/edit_view/features/support/env.rb +66 -0
  186. data/plugins/edit_view/lib/edit_view.rb +76 -0
  187. data/plugins/edit_view/lib/edit_view/command.rb +6 -0
  188. data/plugins/edit_view/lib/edit_view/document.rb +63 -0
  189. data/plugins/edit_view/lib/edit_view/edit_tab.rb +29 -0
  190. data/plugins/edit_view/lib/edit_view/mirror.rb +42 -0
  191. data/plugins/edit_view/plugin.yaml +14 -0
  192. data/plugins/edit_view/spec/edit_view/document_spec.rb +77 -0
  193. data/plugins/edit_view/spec/spec_helper.rb +4 -0
  194. data/plugins/edit_view_swt/lib/edit_view_swt.rb +170 -0
  195. data/plugins/edit_view_swt/lib/edit_view_swt/document.rb +31 -0
  196. data/plugins/edit_view_swt/lib/edit_view_swt/edit_tab.rb +33 -0
  197. data/plugins/edit_view_swt/plugin.yaml +14 -0
  198. data/plugins/edit_view_swt/vendor/dummy +1 -0
  199. data/plugins/edit_view_swt/vendor/java-mateview.rb +12 -0
  200. data/plugins/project/features/fixtures/winter.txt +1 -0
  201. data/plugins/project/features/open_and_save_files.feature +22 -0
  202. data/plugins/project/features/step_definitions/file_steps.rb +24 -0
  203. data/plugins/project/features/support/env.rb +15 -0
  204. data/plugins/project/lib/project.rb +79 -0
  205. data/plugins/project/lib/project/dir_mirror.rb +53 -0
  206. data/plugins/project/lib/project/file_mirror.rb +70 -0
  207. data/plugins/project/plugin.yaml +12 -0
  208. data/plugins/project/spec/project/dir_mirror_spec.rb +76 -0
  209. data/plugins/project/spec/project/file_mirror_spec.rb +78 -0
  210. data/plugins/project/spec/spec_helper.rb +4 -0
  211. data/plugins/redcar/plugin.yaml +20 -0
  212. data/plugins/redcar/redcar.rb +166 -0
  213. data/plugins/repl/lib/repl.rb +44 -0
  214. data/plugins/repl/lib/repl/internal_mirror.rb +98 -0
  215. data/plugins/repl/plugin.yaml +12 -0
  216. data/plugins/repl/spec/repl/internal_mirror_spec.rb +147 -0
  217. data/plugins/repl/spec/spec_helper.rb +4 -0
  218. data/plugins/tree_view/lib/tree_view.rb +7 -0
  219. data/plugins/tree_view/lib/tree_view/mirror.rb +74 -0
  220. data/plugins/tree_view/plugin.yaml +14 -0
  221. data/plugins/tree_view/spec/spec_helper.rb +4 -0
  222. data/plugins/tree_view_swt/lib/tree_view_swt.rb +5 -0
  223. data/plugins/tree_view_swt/plugin.yaml +14 -0
  224. data/textmate/Bundles/C.tmbundle/Snippets/010_main_______main__.plist +20 -0
  225. data/textmate/Bundles/C.tmbundle/Snippets/030_for_int_loop___fori__.plist +19 -0
  226. data/textmate/Bundles/C.tmbundle/Snippets/Include_header_once_only_guard.plist +28 -0
  227. data/textmate/Bundles/C.tmbundle/Snippets/Typedef.tmSnippet +16 -0
  228. data/textmate/Bundles/C.tmbundle/Snippets/__1_begin_________1_end_______beginend__.plist +16 -0
  229. data/textmate/Bundles/C.tmbundle/Snippets/__endif.plist +17 -0
  230. data/textmate/Bundles/C.tmbundle/Snippets/__ifndef__________define__________endif.tmSnippet +18 -0
  231. data/textmate/Bundles/C.tmbundle/Snippets/__include________inc__.plist +16 -0
  232. data/textmate/Bundles/C.tmbundle/Snippets/__pragma_mark___mark__.plist +21 -0
  233. data/textmate/Bundles/C.tmbundle/Snippets/class______class__.plist +24 -0
  234. data/textmate/Bundles/C.tmbundle/Snippets/do___while_loop___do__.plist +18 -0
  235. data/textmate/Bundles/C.tmbundle/Snippets/fprintf_______.tmSnippet +16 -0
  236. data/textmate/Bundles/C.tmbundle/Snippets/if______if__.plist +19 -0
  237. data/textmate/Bundles/C.tmbundle/Snippets/namespace______namespace__.plist +20 -0
  238. data/textmate/Bundles/C.tmbundle/Snippets/next___include________Inc__.plist +16 -0
  239. data/textmate/Bundles/C.tmbundle/Snippets/printf______printf__.plist +16 -0
  240. data/textmate/Bundles/C.tmbundle/Snippets/read_file___readF__.plist +23 -0
  241. data/textmate/Bundles/C.tmbundle/Snippets/std____map___map__.plist +16 -0
  242. data/textmate/Bundles/C.tmbundle/Snippets/std____vector___v__.plist +16 -0
  243. data/textmate/Bundles/C.tmbundle/Snippets/struct.plist +19 -0
  244. data/textmate/Bundles/C.tmbundle/Snippets/template___typename________template__.plist +16 -0
  245. data/textmate/Bundles/C.tmbundle/Syntaxes/C.plist +1084 -0
  246. data/textmate/Bundles/C.tmbundle/Syntaxes/C____.plist +521 -0
  247. data/textmate/Bundles/CSS.tmbundle/Snippets/Fixed_Position_Bottom_100___wide_IE6.tmSnippet +18 -0
  248. data/textmate/Bundles/CSS.tmbundle/Snippets/__important_CSS_______.plist +18 -0
  249. data/textmate/Bundles/CSS.tmbundle/Snippets/background____color_image_repeat_attachment_position___background__.plist +16 -0
  250. data/textmate/Bundles/CSS.tmbundle/Snippets/background__attachment___scroll__fixed___background__.plist +16 -0
  251. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____color__hex___background__.plist +16 -0
  252. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____color__name___background__.plist +16 -0
  253. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____color__rgb___background__.plist +16 -0
  254. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____transparent___background__.plist +16 -0
  255. data/textmate/Bundles/CSS.tmbundle/Snippets/background__image____none___background__.plist +16 -0
  256. data/textmate/Bundles/CSS.tmbundle/Snippets/background__image____url___background__.plist +16 -0
  257. data/textmate/Bundles/CSS.tmbundle/Snippets/background__position____position___background__.plist +16 -0
  258. data/textmate/Bundles/CSS.tmbundle/Snippets/background__repeat____r__r__x__r__y__n__r___background__.plist +16 -0
  259. data/textmate/Bundles/CSS.tmbundle/Snippets/border_____size_style_color___border__.plist +16 -0
  260. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom___size_style_color___border__.plist +16 -0
  261. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom__color___size_style_color___border__.plist +16 -0
  262. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom__style___size_style_color___border__.plist +16 -0
  263. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom__width___size_style_color___border__.plist +16 -0
  264. data/textmate/Bundles/CSS.tmbundle/Snippets/border__color___color___border__.plist +16 -0
  265. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left___size_style_color___border__.plist +16 -0
  266. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left__color___color___border__.plist +16 -0
  267. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left__style___style___border__.plist +16 -0
  268. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left__width___size___border__.plist +16 -0
  269. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right___size_style_color___border__.plist +16 -0
  270. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right__color___color___border__.plist +16 -0
  271. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right__style___style___border__.plist +16 -0
  272. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right__width___size___border__.plist +16 -0
  273. data/textmate/Bundles/CSS.tmbundle/Snippets/border__style___style___border__.plist +16 -0
  274. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top___size_style_color___border__.plist +16 -0
  275. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top__color___color___border__.plist +16 -0
  276. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top__style___style___border__.plist +16 -0
  277. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top__width___size___border__.plist +16 -0
  278. data/textmate/Bundles/CSS.tmbundle/Snippets/border__width___width___border__.plist +16 -0
  279. data/textmate/Bundles/CSS.tmbundle/Snippets/clear___value___clear__.plist +16 -0
  280. data/textmate/Bundles/CSS.tmbundle/Snippets/color____color__hex___color__.plist +16 -0
  281. data/textmate/Bundles/CSS.tmbundle/Snippets/color____color__name___color__.plist +16 -0
  282. data/textmate/Bundles/CSS.tmbundle/Snippets/color____color__rgb___color__.plist +16 -0
  283. data/textmate/Bundles/CSS.tmbundle/Snippets/cursor___type___cursor__.plist +16 -0
  284. data/textmate/Bundles/CSS.tmbundle/Snippets/cursor___url___cursor__.plist +16 -0
  285. data/textmate/Bundles/CSS.tmbundle/Snippets/direction___ltr__rtl___direction__.plist +16 -0
  286. data/textmate/Bundles/CSS.tmbundle/Snippets/display___block___display__.plist +16 -0
  287. data/textmate/Bundles/CSS.tmbundle/Snippets/display___common__types___display__.plist +16 -0
  288. data/textmate/Bundles/CSS.tmbundle/Snippets/display___inline___display__.plist +16 -0
  289. data/textmate/Bundles/CSS.tmbundle/Snippets/display___table__types___display__.plist +16 -0
  290. data/textmate/Bundles/CSS.tmbundle/Snippets/filter___AlphaImageLoader___for_IE_PNGs_____background__.plist +19 -0
  291. data/textmate/Bundles/CSS.tmbundle/Snippets/float___left__right__none___float__.plist +16 -0
  292. data/textmate/Bundles/CSS.tmbundle/Snippets/font_____style_variant_weight_size__line__height_font___family___font__.plist +16 -0
  293. data/textmate/Bundles/CSS.tmbundle/Snippets/font___size_font___font__.plist +16 -0
  294. data/textmate/Bundles/CSS.tmbundle/Snippets/font__family_____family___font__.plist +16 -0
  295. data/textmate/Bundles/CSS.tmbundle/Snippets/font__size___size___font__.plist +16 -0
  296. data/textmate/Bundles/CSS.tmbundle/Snippets/font__style_____normal__italic__oblique___font__.plist +16 -0
  297. data/textmate/Bundles/CSS.tmbundle/Snippets/font__variant_____normal__small__caps___font__.plist +16 -0
  298. data/textmate/Bundles/CSS.tmbundle/Snippets/font__weight___weight___font__.plist +16 -0
  299. data/textmate/Bundles/CSS.tmbundle/Snippets/letter__spacing_____length__em___letter__.plist +16 -0
  300. data/textmate/Bundles/CSS.tmbundle/Snippets/letter__spacing_____length__px___letter__.plist +16 -0
  301. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style___type_position_image___list__.plist +16 -0
  302. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__image___url___list__.plist +16 -0
  303. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__position___pos___list__.plist +16 -0
  304. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___asian___list__.plist +16 -0
  305. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___marker__list__.plist +16 -0
  306. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___numeric___list__.plist +16 -0
  307. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___other___list__.plist +16 -0
  308. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___roman__alpha__greek___list__.plist +16 -0
  309. data/textmate/Bundles/CSS.tmbundle/Snippets/margin___T_R_B_L___margin__.plist +16 -0
  310. data/textmate/Bundles/CSS.tmbundle/Snippets/margin___V_H___margin__.plist +16 -0
  311. data/textmate/Bundles/CSS.tmbundle/Snippets/margin_____all___margin__.plist +16 -0
  312. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__bottom___length___margin__.plist +16 -0
  313. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__left___length___margin__.plist +16 -0
  314. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__right___length___margin__.plist +16 -0
  315. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__top___length___margin__.plist +16 -0
  316. data/textmate/Bundles/CSS.tmbundle/Snippets/marker__offset___auto___marker__.plist +16 -0
  317. data/textmate/Bundles/CSS.tmbundle/Snippets/marker__offset___length___marker__.plist +16 -0
  318. data/textmate/Bundles/CSS.tmbundle/Snippets/opacity_____for_Safari___FF_and_IE_____opacity__.plist +18 -0
  319. data/textmate/Bundles/CSS.tmbundle/Snippets/overflow___type___overflow__.plist +16 -0
  320. data/textmate/Bundles/CSS.tmbundle/Snippets/padding_____T_R_B_L___padding__.plist +16 -0
  321. data/textmate/Bundles/CSS.tmbundle/Snippets/padding_____V_H___padding__.plist +16 -0
  322. data/textmate/Bundles/CSS.tmbundle/Snippets/padding_____all___padding__.plist +16 -0
  323. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__bottom___length___margin__.plist +16 -0
  324. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__left___length___margin__.plist +16 -0
  325. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__right___length___margin__.plist +16 -0
  326. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__top___length___margin__.plist +16 -0
  327. data/textmate/Bundles/CSS.tmbundle/Snippets/position___type___position__.plist +16 -0
  328. data/textmate/Bundles/CSS.tmbundle/Snippets/properties_______________.plist +19 -0
  329. data/textmate/Bundles/CSS.tmbundle/Snippets/scrollbar.tmSnippet +23 -0
  330. data/textmate/Bundles/CSS.tmbundle/Snippets/selection.tmSnippet +20 -0
  331. data/textmate/Bundles/CSS.tmbundle/Snippets/text__align___left__center__right___txt__.plist +16 -0
  332. data/textmate/Bundles/CSS.tmbundle/Snippets/text__decoration___none__underline__overline__line__through__blink___text__.plist +16 -0
  333. data/textmate/Bundles/CSS.tmbundle/Snippets/text__indent___length___text__.plist +16 -0
  334. data/textmate/Bundles/CSS.tmbundle/Snippets/text__shadow___color__hex_x_y_blur___text__.plist +16 -0
  335. data/textmate/Bundles/CSS.tmbundle/Snippets/text__shadow___color__rgb_x_y_blur___text__.plist +16 -0
  336. data/textmate/Bundles/CSS.tmbundle/Snippets/text__shadow___none___text__.plist +16 -0
  337. data/textmate/Bundles/CSS.tmbundle/Snippets/text__transform___capitalize__upper__lower___text__.plist +16 -0
  338. data/textmate/Bundles/CSS.tmbundle/Snippets/text__transform___none___text__.plist +16 -0
  339. data/textmate/Bundles/CSS.tmbundle/Snippets/vertical__align___type___vertical__.plist +16 -0
  340. data/textmate/Bundles/CSS.tmbundle/Snippets/visibility___type___visibility__.plist +16 -0
  341. data/textmate/Bundles/CSS.tmbundle/Snippets/white__space____normal__pre__nowrap___white__.plist +16 -0
  342. data/textmate/Bundles/CSS.tmbundle/Snippets/word__spacing____length___word__.plist +16 -0
  343. data/textmate/Bundles/CSS.tmbundle/Snippets/word__spacing____normal___word__.plist +16 -0
  344. data/textmate/Bundles/CSS.tmbundle/Snippets/z__index___index___z__.plist +16 -0
  345. data/textmate/Bundles/CSS.tmbundle/Syntaxes/CSS.plist +543 -0
  346. data/textmate/Bundles/HTML.tmbundle/Snippets/Arrow___arrow__.plist +16 -0
  347. data/textmate/Bundles/HTML.tmbundle/Snippets/Backspace___backspace__.plist +16 -0
  348. data/textmate/Bundles/HTML.tmbundle/Snippets/Backtab___backtab__.plist +16 -0
  349. data/textmate/Bundles/HTML.tmbundle/Snippets/Command___command__.plist +16 -0
  350. data/textmate/Bundles/HTML.tmbundle/Snippets/Control___control__.plist +16 -0
  351. data/textmate/Bundles/HTML.tmbundle/Snippets/Delete___delete__.plist +16 -0
  352. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_HTML_4_0_Strict.plist +18 -0
  353. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTL_1_0_Frameset.plist +18 -0
  354. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTML_1_0_Strict.plist +18 -0
  355. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTML_1_0_Transitional.plist +18 -0
  356. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTML_1_1.plist +18 -0
  357. data/textmate/Bundles/HTML.tmbundle/Snippets/Down___down__.plist +16 -0
  358. data/textmate/Bundles/HTML.tmbundle/Snippets/Embed_QT_movie___movie__.plist +26 -0
  359. data/textmate/Bundles/HTML.tmbundle/Snippets/Emphasize.tmSnippet +16 -0
  360. data/textmate/Bundles/HTML.tmbundle/Snippets/Enter___enter__.plist +16 -0
  361. data/textmate/Bundles/HTML.tmbundle/Snippets/Escape___escape__.plist +16 -0
  362. data/textmate/Bundles/HTML.tmbundle/Snippets/Fieldset.tmSnippet +22 -0
  363. data/textmate/Bundles/HTML.tmbundle/Snippets/HTML________4_0_Transitional___doctype__.plist +18 -0
  364. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer.tmSnippet +16 -0
  365. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_5_0_only.tmSnippet +16 -0
  366. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_5_5_only.tmSnippet +16 -0
  367. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_5_x.tmSnippet +16 -0
  368. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_6_and_below.tmSnippet +16 -0
  369. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_6_only.tmSnippet +16 -0
  370. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_7__.tmSnippet +16 -0
  371. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___NOT_Internet_Explorer.tmSnippet +16 -0
  372. data/textmate/Bundles/HTML.tmbundle/Snippets/Input_with_Label.tmSnippet +19 -0
  373. data/textmate/Bundles/HTML.tmbundle/Snippets/Left___left__.plist +16 -0
  374. data/textmate/Bundles/HTML.tmbundle/Snippets/Option.tmSnippet +18 -0
  375. data/textmate/Bundles/HTML.tmbundle/Snippets/Option___option__.plist +16 -0
  376. data/textmate/Bundles/HTML.tmbundle/Snippets/Return___return__.plist +16 -0
  377. data/textmate/Bundles/HTML.tmbundle/Snippets/Right___right__.plist +16 -0
  378. data/textmate/Bundles/HTML.tmbundle/Snippets/Select_Box.tmSnippet +22 -0
  379. data/textmate/Bundles/HTML.tmbundle/Snippets/Shift___shift__.plist +16 -0
  380. data/textmate/Bundles/HTML.tmbundle/Snippets/Smart_return__indent_for_tag_pairs.plist +18 -0
  381. data/textmate/Bundles/HTML.tmbundle/Snippets/Strong.tmSnippet +16 -0
  382. data/textmate/Bundles/HTML.tmbundle/Snippets/Tab___tab__.plist +16 -0
  383. data/textmate/Bundles/HTML.tmbundle/Snippets/Up___up__.plist +16 -0
  384. data/textmate/Bundles/HTML.tmbundle/Snippets/Wrap_Selection_In_Tag.plist +16 -0
  385. data/textmate/Bundles/HTML.tmbundle/Snippets/Wrap_in___________________.plist +14 -0
  386. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML_____input__.plist +16 -0
  387. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML_____textarea__.plist +16 -0
  388. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___a_mailto_____.plist +16 -0
  389. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___base__.plist +16 -0
  390. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___body__.plist +18 -0
  391. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___br_____.plist +16 -0
  392. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___div__.plist +18 -0
  393. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___form__.plist +20 -0
  394. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___h1__.plist +16 -0
  395. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___head__.plist +20 -0
  396. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___link__.plist +16 -0
  397. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___meta__.plist +16 -0
  398. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___nbsp___NonBreakingSpace.plist +16 -0
  399. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___script__.plist +18 -0
  400. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___script_src_____.plist +16 -0
  401. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___style__.plist +18 -0
  402. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___table__.plist +19 -0
  403. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___title__.plist +16 -0
  404. data/textmate/Bundles/HTML.tmbundle/Syntaxes/HTML.plist +962 -0
  405. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/223 4.0 Strict/index.html" +15 -0
  406. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/223 4.0 Strict/info.plist" +20 -0
  407. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/224 4.0 Transitional/index.html" +15 -0
  408. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/224 4.0 Transitional/info.plist" +20 -0
  409. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Frameset/index.html" +16 -0
  410. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Frameset/info.plist" +16 -0
  411. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Strict/index.html" +16 -0
  412. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Strict/info.plist" +16 -0
  413. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Transitional/index.html" +16 -0
  414. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Transitional/info.plist" +16 -0
  415. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.1/index.html" +15 -0
  416. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.1/info.plist" +16 -0
  417. data/textmate/Bundles/RedcarRepl.tmbundle/Syntaxes/InternalRuby.plist +54 -0
  418. data/textmate/Bundles/Ruby.tmbundle/Snippets/060_ruby_if_else.plist +20 -0
  419. data/textmate/Bundles/Ruby.tmbundle/Snippets/070_ruby_if.plist +18 -0
  420. data/textmate/Bundles/Ruby.tmbundle/Snippets/080_ruby_case.plist +19 -0
  421. data/textmate/Bundles/Ruby.tmbundle/Snippets/Add_____________Marker.tmSnippet +16 -0
  422. data/textmate/Bundles/Ruby.tmbundle/Snippets/Array_new__10________i____________Arr__.plist +16 -0
  423. data/textmate/Bundles/Ruby.tmbundle/Snippets/Benchmark_bmbm_______do____end.tmSnippet +19 -0
  424. data/textmate/Bundles/Ruby.tmbundle/Snippets/Dir__________.tmSnippet +16 -0
  425. data/textmate/Bundles/Ruby.tmbundle/Snippets/Dir_glob___________do___file______end____Dir__.plist +16 -0
  426. data/textmate/Bundles/Ruby.tmbundle/Snippets/File_foreach____________do___line______end____File__.plist +16 -0
  427. data/textmate/Bundles/Ruby.tmbundle/Snippets/File_open________________file________.tmSnippet +16 -0
  428. data/textmate/Bundles/Ruby.tmbundle/Snippets/File_read__________.tmSnippet +16 -0
  429. data/textmate/Bundles/Ruby.tmbundle/Snippets/Hash_new______hash___key___hash__key_______________Has__.plist +16 -0
  430. data/textmate/Bundles/Ruby.tmbundle/Snippets/Insert_ERb__s______________or_______________.tmSnippet +16 -0
  431. data/textmate/Bundles/Ruby.tmbundle/Snippets/Marshal_dump__obj___file______Md__.plist +16 -0
  432. data/textmate/Bundles/Ruby.tmbundle/Snippets/Marshal_load__obj______Ml__.plist +16 -0
  433. data/textmate/Bundles/Ruby.tmbundle/Snippets/PStore_new________.tmSnippet +16 -0
  434. data/textmate/Bundles/Ruby.tmbundle/Snippets/RDoc_documentation_block.tmSnippet +20 -0
  435. data/textmate/Bundles/Ruby.tmbundle/Snippets/Wrap_in_Begin________Rescue________End.plist +23 -0
  436. data/textmate/Bundles/Ruby.tmbundle/Snippets/YAML_dump_______file______Yd____.plist +16 -0
  437. data/textmate/Bundles/Ruby.tmbundle/Snippets/YAML_load__file______Yl____.plist +16 -0
  438. data/textmate/Bundles/Ruby.tmbundle/Snippets/__END__.tmSnippet +17 -0
  439. data/textmate/Bundles/Ruby.tmbundle/Snippets/______usr__local__bin__ruby___w.plist +17 -0
  440. data/textmate/Bundles/Ruby.tmbundle/Snippets/__yields___RDoc_comment.tmSnippet +16 -0
  441. data/textmate/Bundles/Ruby.tmbundle/Snippets/alias_method_______am__.plist +16 -0
  442. data/textmate/Bundles/Ruby.tmbundle/Snippets/all________e____________all__.plist +16 -0
  443. data/textmate/Bundles/Ruby.tmbundle/Snippets/any________e____________any__.plist +16 -0
  444. data/textmate/Bundles/Ruby.tmbundle/Snippets/application_code_______app__.plist +18 -0
  445. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert__________as__.plist +16 -0
  446. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_equal.tmSnippet +16 -0
  447. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_in_delta__________asid__.plist +16 -0
  448. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_instance_of__________asio__.plist +16 -0
  449. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_kind_of__________asko__.plist +16 -0
  450. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_match__________asm__.plist +16 -0
  451. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_nil__________asn__.plist +16 -0
  452. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_no_match__________asnm__.plist +16 -0
  453. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_not_equal__________asne__.plist +16 -0
  454. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_not_nil__________asnn__.plist +16 -0
  455. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_not_same__________asns__.plist +16 -0
  456. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_nothing_raised___________________asnr__.plist +16 -0
  457. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_nothing_thrown_____________asnt__.plist +16 -0
  458. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_operator__________aso__.plist +16 -0
  459. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_raise___________________asr__.plist +16 -0
  460. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_respond_to__________asrt__.plist +16 -0
  461. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_same__________ass__.plist +16 -0
  462. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_send__________ass__.plist +16 -0
  463. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_throws___________________ast__.plist +16 -0
  464. data/textmate/Bundles/Ruby.tmbundle/Snippets/attr_accessor_______rw__.plist +16 -0
  465. data/textmate/Bundles/Ruby.tmbundle/Snippets/attr_reader_______r__.plist +16 -0
  466. data/textmate/Bundles/Ruby.tmbundle/Snippets/attr_writer_______w__.plist +16 -0
  467. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______DelegateClass____initialize____end____class__.plist +24 -0
  468. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______ParentClass____initialize____end.plist +22 -0
  469. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______Struct____initialize____end.plist +22 -0
  470. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______Test____Unit____TestCase____end____tc__.plist +24 -0
  471. data/textmate/Bundles/Ruby.tmbundle/Snippets/class______self____end.tmSnippet +18 -0
  472. data/textmate/Bundles/Ruby.tmbundle/Snippets/class____end____cla__.plist +18 -0
  473. data/textmate/Bundles/Ruby.tmbundle/Snippets/class____initialize____end.plist +22 -0
  474. data/textmate/Bundles/Ruby.tmbundle/Snippets/class____instance_methods____undef____initialize____end____class__.plist +30 -0
  475. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_from_name________clafn__.plist +16 -0
  476. data/textmate/Bundles/Ruby.tmbundle/Snippets/classify______e____________clas__.plist +16 -0
  477. data/textmate/Bundles/Ruby.tmbundle/Snippets/collect______e____________col__.plist +16 -0
  478. data/textmate/Bundles/Ruby.tmbundle/Snippets/deep_copy__________dee__.plist +16 -0
  479. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_delegator______defd__.plist +16 -0
  480. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_delegators______defds__.plist +16 -0
  481. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_end.plist +18 -0
  482. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_method_missing____end____mm__.plist +18 -0
  483. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_self____end____defs__.plist +18 -0
  484. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_test_____end____t__.plist +18 -0
  485. data/textmate/Bundles/Ruby.tmbundle/Snippets/delete_if______e____________deli__.plist +16 -0
  486. data/textmate/Bundles/Ruby.tmbundle/Snippets/detect______e____________det__.plist +16 -0
  487. data/textmate/Bundles/Ruby.tmbundle/Snippets/directory____.tmSnippet +16 -0
  488. data/textmate/Bundles/Ruby.tmbundle/Snippets/do___obj______end___doo__.plist +18 -0
  489. data/textmate/Bundles/Ruby.tmbundle/Snippets/downto__0________n____________dow__.plist +16 -0
  490. data/textmate/Bundles/Ruby.tmbundle/Snippets/each______e____________ea__.plist +16 -0
  491. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_byte______byte____________eab__.plist +16 -0
  492. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_char______chr____________eac____.plist +16 -0
  493. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_cons____________group____________eac____.plist +16 -0
  494. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_index______i____________eai__.plist +16 -0
  495. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_key______key____________eak__.plist +16 -0
  496. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_line______line____________eal__.plist +16 -0
  497. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_pair______name___val____________eap__.plist +16 -0
  498. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_slice______group____________eas__.plist +16 -0
  499. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_value______val____________eav__.plist +16 -0
  500. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_with_index______e___i____________eawi__.plist +16 -0
  501. data/textmate/Bundles/Ruby.tmbundle/Snippets/elsif____.tmSnippet +17 -0
  502. data/textmate/Bundles/Ruby.tmbundle/Snippets/embed_string_variable.plist +16 -0
  503. data/textmate/Bundles/Ruby.tmbundle/Snippets/extend_Forwardable____Forw__.plist +16 -0
  504. data/textmate/Bundles/Ruby.tmbundle/Snippets/fetch__name________key____________fet__.plist +16 -0
  505. data/textmate/Bundles/Ruby.tmbundle/Snippets/fill__range________i____________fil__.plist +16 -0
  506. data/textmate/Bundles/Ruby.tmbundle/Snippets/find______e____________fin__.plist +16 -0
  507. data/textmate/Bundles/Ruby.tmbundle/Snippets/find_all______e____________fina__.plist +16 -0
  508. data/textmate/Bundles/Ruby.tmbundle/Snippets/flatten_once____fla__.plist +16 -0
  509. data/textmate/Bundles/Ruby.tmbundle/Snippets/flunk__________fl__.plist +16 -0
  510. data/textmate/Bundles/Ruby.tmbundle/Snippets/grep____pattern__________match____________gre__.plist +16 -0
  511. data/textmate/Bundles/Ruby.tmbundle/Snippets/gsub________________match____________gsu__.plist +16 -0
  512. data/textmate/Bundles/Ruby.tmbundle/Snippets/hash_pair_______.plist +16 -0
  513. data/textmate/Bundles/Ruby.tmbundle/Snippets/hash_pointer.plist +16 -0
  514. data/textmate/Bundles/Ruby.tmbundle/Snippets/include_Comparable_______Comp__.plist +20 -0
  515. data/textmate/Bundles/Ruby.tmbundle/Snippets/include_Enumerable_______Enum__.plist +20 -0
  516. data/textmate/Bundles/Ruby.tmbundle/Snippets/inject__init________mem___var____________inj__.plist +16 -0
  517. data/textmate/Bundles/Ruby.tmbundle/Snippets/lambda______args____________lam__.plist +16 -0
  518. data/textmate/Bundles/Ruby.tmbundle/Snippets/loop_________.tmSnippet +16 -0
  519. data/textmate/Bundles/Ruby.tmbundle/Snippets/map______e____________map__.plist +16 -0
  520. data/textmate/Bundles/Ruby.tmbundle/Snippets/map_with_index______e___i____________mapwi__.plist +16 -0
  521. data/textmate/Bundles/Ruby.tmbundle/Snippets/max______a___b____________max__.plist +16 -0
  522. data/textmate/Bundles/Ruby.tmbundle/Snippets/min______a___b____________min__.plist +16 -0
  523. data/textmate/Bundles/Ruby.tmbundle/Snippets/module____ClassMethods____end.plist +29 -0
  524. data/textmate/Bundles/Ruby.tmbundle/Snippets/module____end.plist +18 -0
  525. data/textmate/Bundles/Ruby.tmbundle/Snippets/module____module_function____end.plist +20 -0
  526. data/textmate/Bundles/Ruby.tmbundle/Snippets/namespace______do____end.tmSnippet +18 -0
  527. data/textmate/Bundles/Ruby.tmbundle/Snippets/open____path__or__url_______w_____do___doc______end___ope__.plist +16 -0
  528. data/textmate/Bundles/Ruby.tmbundle/Snippets/open_yield_block_______.plist +16 -0
  529. data/textmate/Bundles/Ruby.tmbundle/Snippets/option_parse_____________optp__.plist +43 -0
  530. data/textmate/Bundles/Ruby.tmbundle/Snippets/partition______e____________par__.plist +16 -0
  531. data/textmate/Bundles/Ruby.tmbundle/Snippets/path_from_here________.tmSnippet +16 -0
  532. data/textmate/Bundles/Ruby.tmbundle/Snippets/randomize____ran__.plist +16 -0
  533. data/textmate/Bundles/Ruby.tmbundle/Snippets/reject______e____________rej__.plist +16 -0
  534. data/textmate/Bundles/Ruby.tmbundle/Snippets/require___________req__.plist +16 -0
  535. data/textmate/Bundles/Ruby.tmbundle/Snippets/require___tc____________ts__.plist +20 -0
  536. data/textmate/Bundles/Ruby.tmbundle/Snippets/require_gem_______.tmSnippet +16 -0
  537. data/textmate/Bundles/Ruby.tmbundle/Snippets/results_report_______________.tmSnippet +16 -0
  538. data/textmate/Bundles/Ruby.tmbundle/Snippets/reverse_each______e____________rea__.plist +16 -0
  539. data/textmate/Bundles/Ruby.tmbundle/Snippets/scan________________match____________sca__.plist +16 -0
  540. data/textmate/Bundles/Ruby.tmbundle/Snippets/select______e____________sel__.plist +16 -0
  541. data/textmate/Bundles/Ruby.tmbundle/Snippets/singleton_class____.tmSnippet +16 -0
  542. data/textmate/Bundles/Ruby.tmbundle/Snippets/sort______a___b____________sor__.plist +16 -0
  543. data/textmate/Bundles/Ruby.tmbundle/Snippets/sort_by______e____________sorb__.plist +16 -0
  544. data/textmate/Bundles/Ruby.tmbundle/Snippets/step__2________e____________ste__.plist +16 -0
  545. data/textmate/Bundles/Ruby.tmbundle/Snippets/sub________________match____________sub__.plist +16 -0
  546. data/textmate/Bundles/Ruby.tmbundle/Snippets/task___task_name__________dependent_____tasks___do____end.tmSnippet +19 -0
  547. data/textmate/Bundles/Ruby.tmbundle/Snippets/times______n____________tim__.plist +16 -0
  548. data/textmate/Bundles/Ruby.tmbundle/Snippets/transaction_________do____end.tmSnippet +16 -0
  549. data/textmate/Bundles/Ruby.tmbundle/Snippets/unix_filter______uni__.plist +18 -0
  550. data/textmate/Bundles/Ruby.tmbundle/Snippets/unless___unless__.plist +18 -0
  551. data/textmate/Bundles/Ruby.tmbundle/Snippets/until_____end.tmSnippet +18 -0
  552. data/textmate/Bundles/Ruby.tmbundle/Snippets/untitled.plist +19 -0
  553. data/textmate/Bundles/Ruby.tmbundle/Snippets/upto__1_0__0_0________n____________upt__.plist +16 -0
  554. data/textmate/Bundles/Ruby.tmbundle/Snippets/usage_if________usai__.plist +18 -0
  555. data/textmate/Bundles/Ruby.tmbundle/Snippets/usage_unless________usau__.plist +18 -0
  556. data/textmate/Bundles/Ruby.tmbundle/Snippets/when.plist +17 -0
  557. data/textmate/Bundles/Ruby.tmbundle/Snippets/while_____end.tmSnippet +18 -0
  558. data/textmate/Bundles/Ruby.tmbundle/Snippets/xmlread______.tmSnippet +16 -0
  559. data/textmate/Bundles/Ruby.tmbundle/Snippets/xpath_______________.tmSnippet +18 -0
  560. data/textmate/Bundles/Ruby.tmbundle/Snippets/zip__enums________row____________zip__.plist +16 -0
  561. data/textmate/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist +2763 -0
  562. data/textmate/Bundles/Source.tmbundle/Snippets/Continue_line_comment.plist +35 -0
  563. data/textmate/Bundles/Source.tmbundle/Snippets/Escaped_Quote_Pair_____________.plist +14 -0
  564. data/textmate/Bundles/Source.tmbundle/Snippets/Escaped_Single_Quote_Pair_____________.plist +14 -0
  565. data/textmate/Bundles/Source.tmbundle/Snippets/Frame_text.plist +16 -0
  566. data/textmate/Bundles/Source.tmbundle/Snippets/__n.plist +16 -0
  567. data/textmate/Bundles/Text.tmbundle/Snippets/010_Copyright.plist +14 -0
  568. data/textmate/Bundles/Text.tmbundle/Snippets/Conitnue_bullet.plist +17 -0
  569. data/textmate/Bundles/Text.tmbundle/Snippets/Conitnue_light_bullet.plist +17 -0
  570. data/textmate/Bundles/Text.tmbundle/Snippets/Conitnue_star_bullet.plist +17 -0
  571. data/textmate/Bundles/Text.tmbundle/Snippets/Insert_ISO_date.plist +14 -0
  572. data/textmate/Bundles/Text.tmbundle/Snippets/Lorem_ipsum.plist +14 -0
  573. data/textmate/Bundles/Text.tmbundle/Syntaxes/Plain_text.plist +83 -0
  574. data/textmate/Bundles/Text.tmbundle/Templates/Empty file/info.plist +14 -0
  575. data/textmate/Bundles/Text.tmbundle/Templates/From Clipboard/info.plist +17 -0
  576. data/textmate/Themes/Active4D.tmTheme +407 -0
  577. data/textmate/Themes/All Hallow's Eve.tmTheme +277 -0
  578. data/textmate/Themes/Amy.tmTheme +557 -0
  579. data/textmate/Themes/Blackboard.tmTheme +350 -0
  580. data/textmate/Themes/Brilliance Black.tmTheme +2619 -0
  581. data/textmate/Themes/Brilliance Dull.tmTheme +2243 -0
  582. data/textmate/Themes/Cobalt.tmTheme +559 -0
  583. data/textmate/Themes/Dawn.tmTheme +437 -0
  584. data/textmate/Themes/Eiffel.tmTheme +439 -0
  585. data/textmate/Themes/Espresso Libre.tmTheme +402 -0
  586. data/textmate/Themes/IDLE.tmTheme +235 -0
  587. data/textmate/Themes/LAZY.tmTheme +291 -0
  588. data/textmate/Themes/Mac Classic.tmTheme +450 -0
  589. data/textmate/Themes/MagicWB (Amiga).tmTheme +376 -0
  590. data/textmate/Themes/Pastels on Dark.tmTheme +701 -0
  591. data/textmate/Themes/Railscasts.tmTheme +278 -0
  592. data/textmate/Themes/Slush & Poppies.tmTheme +336 -0
  593. data/textmate/Themes/SpaceCadet.tmTheme +212 -0
  594. data/textmate/Themes/Sunburst.tmTheme +665 -0
  595. data/textmate/Themes/Twilight.tmTheme +514 -0
  596. data/textmate/Themes/Vibrant Ink.tmTheme +447 -0
  597. data/textmate/Themes/Zenburnesque.tmTheme +343 -0
  598. data/textmate/Themes/choco.tmTheme +542 -0
  599. data/textmate/Themes/iPlastic.tmTheme +286 -0
  600. metadata +673 -0
@@ -0,0 +1,293 @@
1
+
2
+ module Logging::Appenders
3
+
4
+ # An appender that writes to a file and ensures that the file size or age
5
+ # never exceeds some user specified level.
6
+ #
7
+ # The goal of this class is to write log messages to a file. When the file
8
+ # age or size exceeds a given limit then the log file is closed, the name
9
+ # is changed to indicate it is an older log file, and a new log file is
10
+ # created.
11
+ #
12
+ # The name of the log file is changed by inserting the age of the log file
13
+ # (as a single number) between the log file name and the extension. If the
14
+ # file has no extension then the number is appended to the filename. Here
15
+ # is a simple example:
16
+ #
17
+ # /var/log/ruby.log => /var/log/ruby.1.log
18
+ #
19
+ # New log messages will be appended to a newly opened log file of the same
20
+ # name (<tt>/var/log/ruby.log</tt> in our example above). The age number
21
+ # for all older log files is incremented when the log file is rolled. The
22
+ # number of older log files to keep can be given, otherwise all the log
23
+ # files are kept.
24
+ #
25
+ # The actual process of rolling all the log file names can be expensive if
26
+ # there are many, many older log files to process.
27
+ #
28
+ class RollingFile < ::Logging::Appenders::IO
29
+
30
+ # call-seq:
31
+ # RollingFile.new( name, opts )
32
+ #
33
+ # Creates a new Rolling File Appender. The _name_ is the unique Appender
34
+ # name used to retrieve this appender from the Appender hash. The only
35
+ # required option is the filename to use for creating log files.
36
+ #
37
+ # [:filename] The base filename to use when constructing new log
38
+ # filenames.
39
+ #
40
+ # The following options are optional:
41
+ #
42
+ # [:layout] The Layout that will be used by this appender. The Basic
43
+ # layout will be used if none is given.
44
+ # [:truncate] When set to true any existing log files will be rolled
45
+ # immediately and a new, empty log file will be created.
46
+ # [:size] The maximum allowed size (in bytes) of a log file before
47
+ # it is rolled.
48
+ # [:age] The maximum age (in seconds) of a log file before it is
49
+ # rolled. The age can also be given as 'daily', 'weekly',
50
+ # or 'monthly'.
51
+ # [:keep] The number of rolled log files to keep.
52
+ # [:safe] When set to true, extra checks are made to ensure that
53
+ # only once process can roll the log files; this option
54
+ # should only be used when multiple processes will be
55
+ # logging to the same log file (does not work on Windows)
56
+ #
57
+ def initialize( name, opts = {} )
58
+ # raise an error if a filename was not given
59
+ @fn = opts.getopt(:filename, name)
60
+ raise ArgumentError, 'no filename was given' if @fn.nil?
61
+ ::Logging::Appenders::File.assert_valid_logfile(@fn)
62
+
63
+ # grab the information we need to properly roll files
64
+ ext = ::File.extname(@fn)
65
+ bn = ::File.join(::File.dirname(@fn), ::File.basename(@fn, ext))
66
+ @rgxp = %r/\.(\d+)#{Regexp.escape(ext)}\z/
67
+ @glob = "#{bn}.*#{ext}"
68
+ @logname_fmt = "#{bn}.%d#{ext}"
69
+
70
+ # grab our options
71
+ @keep = opts.getopt(:keep, :as => Integer)
72
+ @size = opts.getopt(:size, :as => Integer)
73
+
74
+ @lockfile = if HAVE_LOCKFILE and opts.getopt(:safe, false)
75
+ ::Lockfile.new(
76
+ @fn + '.lck',
77
+ :retries => 1,
78
+ :timeout => 2
79
+ )
80
+ end
81
+
82
+ code = 'def sufficiently_aged?() false end'
83
+ @age_fn = @fn + '.age'
84
+
85
+ case @age = opts.getopt(:age)
86
+ when 'daily'
87
+ FileUtils.touch(@age_fn) unless test(?f, @age_fn)
88
+ code = <<-CODE
89
+ def sufficiently_aged?
90
+ now = Time.now
91
+ start = ::File.mtime(@age_fn)
92
+ if (now.day != start.day) or (now - start) > 86400
93
+ return true
94
+ end
95
+ false
96
+ end
97
+ CODE
98
+ when 'weekly'
99
+ FileUtils.touch(@age_fn) unless test(?f, @age_fn)
100
+ code = <<-CODE
101
+ def sufficiently_aged?
102
+ if (Time.now - ::File.mtime(@age_fn)) > 604800
103
+ return true
104
+ end
105
+ false
106
+ end
107
+ CODE
108
+ when 'monthly'
109
+ FileUtils.touch(@age_fn) unless test(?f, @age_fn)
110
+ code = <<-CODE
111
+ def sufficiently_aged?
112
+ now = Time.now
113
+ start = ::File.mtime(@age_fn)
114
+ if (now.month != start.month) or (now - start) > 2678400
115
+ return true
116
+ end
117
+ false
118
+ end
119
+ CODE
120
+ when Integer, String
121
+ @age = Integer(@age)
122
+ FileUtils.touch(@age_fn) unless test(?f, @age_fn)
123
+ code = <<-CODE
124
+ def sufficiently_aged?
125
+ if (Time.now - ::File.mtime(@age_fn)) > @age
126
+ return true
127
+ end
128
+ false
129
+ end
130
+ CODE
131
+ end
132
+ meta = class << self; self end
133
+ meta.class_eval code, __FILE__, __LINE__
134
+
135
+ # if the truncate flag was set to true, then roll
136
+ roll_now = opts.getopt(:truncate, false)
137
+ roll_files if roll_now
138
+
139
+ super(name, open_logfile, opts)
140
+ end
141
+
142
+ # Returns the path to the logfile.
143
+ #
144
+ def filename() @fn.dup end
145
+
146
+
147
+ private
148
+
149
+ # call-seq:
150
+ # write( event )
151
+ #
152
+ # Write the given _event_ to the log file. The log file will be rolled
153
+ # if the maximum file size is exceeded or if the file is older than the
154
+ # maximum age.
155
+ #
156
+ def write( event )
157
+ str = event.instance_of?(::Logging::LogEvent) ?
158
+ @layout.format(event) : event.to_s
159
+ return if str.empty?
160
+
161
+ check_logfile
162
+ super(str)
163
+
164
+ if roll_required?(str)
165
+ return roll unless @lockfile
166
+
167
+ @lockfile.lock {
168
+ check_logfile
169
+ roll if roll_required?
170
+ }
171
+ end
172
+ end
173
+
174
+ # call-seq:
175
+ # roll
176
+ #
177
+ # Close the currently open log file, roll all the log files, and open a
178
+ # new log file.
179
+ #
180
+ def roll
181
+ @io.close rescue nil
182
+ roll_files
183
+ open_logfile
184
+ end
185
+
186
+ # call-seq:
187
+ # roll_required?( str ) => true or false
188
+ #
189
+ # Returns +true+ if the log file needs to be rolled.
190
+ #
191
+ def roll_required?( str = nil )
192
+ # check if max size has been exceeded
193
+ s = if @size
194
+ @file_size = @stat.size if @stat.size > @file_size
195
+ @file_size += str.size if str
196
+ @file_size > @size
197
+ end
198
+
199
+ # check if max age has been exceeded
200
+ a = sufficiently_aged?
201
+
202
+ return (s || a)
203
+ end
204
+
205
+ # call-seq:
206
+ # roll_files
207
+ #
208
+ # Roll the log files. This is accomplished by renaming the log files
209
+ # starting with the oldest and working towards the youngest.
210
+ #
211
+ # test.10.log => deleted (we are only keeping 10)
212
+ # test.9.log => test.10.log
213
+ # test.8.log => test.9.log
214
+ # ...
215
+ # test.1.log => test.2.log
216
+ #
217
+ # Lastly the current log file is rolled to a numbered log file.
218
+ #
219
+ # test.log => test.1.log
220
+ #
221
+ # This method leaves no <tt>test.log</tt> file when it is done. This
222
+ # file will be created elsewhere.
223
+ #
224
+ def roll_files
225
+ return unless ::File.exist?(@fn)
226
+
227
+ files = Dir.glob(@glob).find_all {|fn| @rgxp =~ fn}
228
+ unless files.empty?
229
+ # sort the files in revese order based on their count number
230
+ files = files.sort do |a,b|
231
+ a = Integer(@rgxp.match(a)[1])
232
+ b = Integer(@rgxp.match(b)[1])
233
+ b <=> a
234
+ end
235
+
236
+ # for each file, roll its count number one higher
237
+ files.each do |fn|
238
+ cnt = Integer(@rgxp.match(fn)[1])
239
+ if @keep and cnt >= @keep
240
+ ::File.delete fn
241
+ next
242
+ end
243
+ ::File.rename fn, sprintf(@logname_fmt, cnt+1)
244
+ end
245
+ end
246
+
247
+ # finally reanme the base log file
248
+ ::File.rename(@fn, sprintf(@logname_fmt, 1))
249
+
250
+ # touch the age file if needed
251
+ FileUtils.touch(@age_fn) if @age
252
+ end
253
+
254
+ # call-seq:
255
+ # open_logfile => io
256
+ #
257
+ # Opens the logfile and stores the current file szie and inode.
258
+ #
259
+ def open_logfile
260
+ @io = ::File.new(@fn, 'a')
261
+ @io.sync = true
262
+
263
+ @stat = ::File.stat(@fn)
264
+ @file_size = @stat.size
265
+ @inode = @stat.ino
266
+
267
+ return @io
268
+ end
269
+
270
+ #
271
+ #
272
+ def check_logfile
273
+ retry_cnt ||= 0
274
+
275
+ if ::File.exist?(@fn) then
276
+ @stat = ::File.stat(@fn)
277
+ return unless @lockfile
278
+ return if @inode == @stat.ino
279
+
280
+ @io.close rescue nil
281
+ end
282
+ open_logfile
283
+ rescue SystemCallError
284
+ raise if retry_cnt > 3
285
+ retry_cnt += 1
286
+ sleep 0.08
287
+ retry
288
+ end
289
+
290
+ end # class RollingFile
291
+ end # module Logging::Appenders
292
+
293
+ # EOF
@@ -0,0 +1,68 @@
1
+
2
+ module Logging::Appenders
3
+
4
+ # This class provides an Appender that can write to a StringIO instance.
5
+ # This is very useful for testing log message output.
6
+ #
7
+ class StringIo < ::Logging::Appenders::IO
8
+
9
+ # The StringIO instance the appender is writing to.
10
+ attr_reader :sio
11
+
12
+ # call-seq:
13
+ # StringIo.new( name, opts = {} )
14
+ #
15
+ # Creates a new StrinIo appender that will append log messages to a
16
+ # StringIO instance.
17
+ #
18
+ def initialize( name, opts = {} )
19
+ @sio = StringIO.new
20
+ @sio.extend IoToS
21
+ @pos = 0
22
+ super(name, @sio, opts)
23
+ end
24
+
25
+ # Clears the internal StringIO instance. All log messages are removed
26
+ # from the buffer.
27
+ #
28
+ def clear
29
+ sync {
30
+ @pos = 0
31
+ @sio.seek 0
32
+ @sio.truncate 0
33
+ }
34
+ end
35
+ alias :reset :clear
36
+
37
+ %w[read readline readlines].each do|m|
38
+ class_eval <<-CODE
39
+ def #{m}( *args )
40
+ sync {
41
+ begin
42
+ @sio.seek @pos
43
+ rv = @sio.#{m}(*args)
44
+ @pos = @sio.tell
45
+ rv
46
+ rescue EOFError
47
+ nil
48
+ end
49
+ }
50
+ end
51
+ CODE
52
+ end
53
+
54
+ # :stopdoc:
55
+ module IoToS
56
+ def to_s
57
+ seek 0
58
+ str = read
59
+ seek 0
60
+ return str
61
+ end
62
+ end
63
+ # :startdoc:
64
+
65
+ end # class StringIo
66
+ end # module Logging::Appenders
67
+
68
+ # EOF
@@ -0,0 +1,194 @@
1
+
2
+ # only load this class if we have the syslog library
3
+ # Windows does not have syslog
4
+ #
5
+ if HAVE_SYSLOG
6
+
7
+ module Logging::Appenders
8
+
9
+ # This class provides an Appender that can write to the UNIX syslog
10
+ # daemon.
11
+ #
12
+ class Syslog < ::Logging::Appender
13
+ include ::Syslog::Constants
14
+
15
+ # call-seq:
16
+ # Syslog.new( name, opts = {} )
17
+ #
18
+ # Create an appender that will log messages to the system message
19
+ # logger. The message is then written to the system console, log files,
20
+ # logged-in users, or forwarded to other machines as appropriate. The
21
+ # options that can be used to configure the appender are as follows:
22
+ #
23
+ # :ident => identifier string (name is used by default)
24
+ # :logopt => options used when opening the connection
25
+ # :facility => the syslog facility to use
26
+ #
27
+ # The parameter :ident is a string that will be prepended to every
28
+ # message. The :logopt argument is a bit field specifying logging
29
+ # options, which is formed by OR'ing one or more of the following
30
+ # values:
31
+ #
32
+ # LOG_CONS If syslog() cannot pass the message to syslogd(8) it
33
+ # wil attempt to write the message to the console
34
+ # ('/dev/console').
35
+ #
36
+ # LOG_NDELAY Open the connection to syslogd(8) immediately. Normally
37
+ # the open is delayed until the first message is logged.
38
+ # Useful for programs that need to manage the order in
39
+ # which file descriptors are allocated.
40
+ #
41
+ # LOG_PERROR Write the message to standard error output as well to
42
+ # the system log.
43
+ #
44
+ # LOG_PID Log the process id with each message: useful for
45
+ # identifying instantiations of daemons.
46
+ #
47
+ # The :facility parameter encodes a default facility to be assigned to
48
+ # all messages that do not have an explicit facility encoded:
49
+ #
50
+ # LOG_AUTH The authorization system: login(1), su(1), getty(8),
51
+ # etc.
52
+ #
53
+ # LOG_AUTHPRIV The same as LOG_AUTH, but logged to a file readable
54
+ # only by selected individuals.
55
+ #
56
+ # LOG_CONSOLE Messages written to /dev/console by the kernel console
57
+ # output driver.
58
+ #
59
+ # LOG_CRON The cron daemon: cron(8).
60
+ #
61
+ # LOG_DAEMON System daemons, such as routed(8), that are not
62
+ # provided for explicitly by other facilities.
63
+ #
64
+ # LOG_FTP The file transfer protocol daemons: ftpd(8), tftpd(8).
65
+ #
66
+ # LOG_KERN Messages generated by the kernel. These cannot be
67
+ # generated by any user processes.
68
+ #
69
+ # LOG_LPR The line printer spooling system: lpr(1), lpc(8),
70
+ # lpd(8), etc.
71
+ #
72
+ # LOG_MAIL The mail system.
73
+ #
74
+ # LOG_NEWS The network news system.
75
+ #
76
+ # LOG_SECURITY Security subsystems, such as ipfw(4).
77
+ #
78
+ # LOG_SYSLOG Messages generated internally by syslogd(8).
79
+ #
80
+ # LOG_USER Messages generated by random user processes. This is
81
+ # the default facility identifier if none is specified.
82
+ #
83
+ # LOG_UUCP The uucp system.
84
+ #
85
+ # LOG_LOCAL0 Reserved for local use. Similarly for LOG_LOCAL1
86
+ # through LOG_LOCAL7.
87
+ #
88
+ def initialize( name, opts = {} )
89
+ ident = opts.getopt(:ident, name)
90
+ logopt = opts.getopt(:logopt, (LOG_PID | LOG_CONS), :as => Integer)
91
+ facility = opts.getopt(:facility, LOG_USER, :as => Integer)
92
+ @syslog = ::Syslog.open(ident, logopt, facility)
93
+
94
+ # provides a mapping from the default Logging levels
95
+ # to the syslog levels
96
+ @map = [LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERR, LOG_CRIT]
97
+
98
+ map = opts.getopt(:map)
99
+ self.map = map unless map.nil?
100
+
101
+ super
102
+ end
103
+
104
+ # call-seq:
105
+ # map = { logging_levels => syslog_levels }
106
+ #
107
+ # Configure the mapping from the Logging levels to the syslog levels.
108
+ # This is needed in order to log events at the proper syslog level.
109
+ #
110
+ # Without any configuration, the following maping will be used:
111
+ #
112
+ # :debug => LOG_DEBUG
113
+ # :info => LOG_INFO
114
+ # :warn => LOG_WARNING
115
+ # :error => LOG_ERR
116
+ # :fatal => LOG_CRIT
117
+ #
118
+ def map=( levels )
119
+ map = []
120
+ levels.keys.each do |lvl|
121
+ num = ::Logging.level_num(lvl)
122
+ map[num] = syslog_level_num(levels[lvl])
123
+ end
124
+ @map = map
125
+ end
126
+
127
+ # call-seq:
128
+ # close
129
+ #
130
+ # Closes the connetion to the syslog facility.
131
+ #
132
+ def close( footer = true )
133
+ super
134
+ @syslog.close
135
+ self
136
+ end
137
+
138
+ # call-seq:
139
+ # closed? => true or false
140
+ #
141
+ # Queries the connection to the syslog facility and returns +true+ if
142
+ # the connection is closed.
143
+ #
144
+ def closed?
145
+ !@syslog.opened?
146
+ end
147
+
148
+
149
+ private
150
+
151
+ # call-seq:
152
+ # write( event )
153
+ #
154
+ # Write the given _event_ to the syslog facility. The log event will be
155
+ # processed through the Layout assciated with this appender. The message
156
+ # will be logged at the level specified by the event.
157
+ #
158
+ def write( event )
159
+ pri = LOG_DEBUG
160
+ message = if event.instance_of?(::Logging::LogEvent)
161
+ pri = @map[event.level]
162
+ @layout.format(event)
163
+ else
164
+ event.to_s
165
+ end
166
+ return if message.empty?
167
+
168
+ @syslog.log(pri, '%s', message)
169
+ self
170
+ end
171
+
172
+ # call-seq:
173
+ # syslog_level_num( level ) => integer
174
+ #
175
+ # Takes the given _level_ as a string, symbol, or integer and returns
176
+ # the corresponding syslog level number.
177
+ #
178
+ def syslog_level_num( level )
179
+ case level
180
+ when Integer; level
181
+ when String, Symbol
182
+ level = level.to_s.upcase
183
+ self.class.const_get level
184
+ else
185
+ raise ArgumentError, "unkonwn level '#{level}'"
186
+ end
187
+ end
188
+
189
+ end # class Syslog
190
+
191
+ end # module Logging::Appenders
192
+ end # HAVE_SYSLOG
193
+
194
+ # EOF