ribit 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/INSTALL +52 -0
- data/LICENSE +343 -0
- data/README +42 -0
- data/bin/ribit +26 -0
- data/bin/ribit-setup +153 -0
- data/bin/ribitd +18 -0
- data/doc/TODO.txt +207 -0
- data/doc/devdiary.txt +258 -0
- data/doc/diagrams/content-classes.dia +0 -0
- data/doc/diagrams/main-classes.dia +0 -0
- data/doc/diagrams/page-rendering-classes.dia +0 -0
- data/doc/diagrams/ribitservlet-classes.dia +0 -0
- data/doc/examples/xhtml-example.html +64 -0
- data/doc/notes.txt +7 -0
- data/doc/rdoc/classes/ActionAdapter.html +137 -0
- data/doc/rdoc/classes/ActionAdapter.src/M000160.html +26 -0
- data/doc/rdoc/classes/ActionElement.html +179 -0
- data/doc/rdoc/classes/ActionElement.src/M000204.html +19 -0
- data/doc/rdoc/classes/ActionElement.src/M000205.html +18 -0
- data/doc/rdoc/classes/ActionManager.html +187 -0
- data/doc/rdoc/classes/ActionManager.src/M000237.html +19 -0
- data/doc/rdoc/classes/ActionManager.src/M000238.html +22 -0
- data/doc/rdoc/classes/ActionManager.src/M000239.html +22 -0
- data/doc/rdoc/classes/ActionManager.src/M000240.html +23 -0
- data/doc/rdoc/classes/Assert.html +229 -0
- data/doc/rdoc/classes/Assert.src/M000369.html +20 -0
- data/doc/rdoc/classes/Assert.src/M000370.html +18 -0
- data/doc/rdoc/classes/Assert.src/M000371.html +20 -0
- data/doc/rdoc/classes/Assert.src/M000372.html +18 -0
- data/doc/rdoc/classes/Assert.src/M000373.html +20 -0
- data/doc/rdoc/classes/Assert.src/M000374.html +18 -0
- data/doc/rdoc/classes/Assert.src/M000375.html +22 -0
- data/doc/rdoc/classes/Assert/AssertionFailedException.html +117 -0
- data/doc/rdoc/classes/BaseTag.html +166 -0
- data/doc/rdoc/classes/BaseTag.src/M000049.html +20 -0
- data/doc/rdoc/classes/BoldContainer.html +139 -0
- data/doc/rdoc/classes/BoldContainer.src/M000164.html +18 -0
- data/doc/rdoc/classes/BoldParser.html +156 -0
- data/doc/rdoc/classes/BoldParser.src/M000247.html +18 -0
- data/doc/rdoc/classes/BoldParser.src/M000248.html +18 -0
- data/doc/rdoc/classes/CachedPage.html +187 -0
- data/doc/rdoc/classes/CachedPage.src/M000244.html +20 -0
- data/doc/rdoc/classes/CachedPage.src/M000245.html +27 -0
- data/doc/rdoc/classes/CachedPage.src/M000246.html +18 -0
- data/doc/rdoc/classes/CancelAction.html +179 -0
- data/doc/rdoc/classes/CancelAction.src/M000165.html +22 -0
- data/doc/rdoc/classes/CancelAction.src/M000166.html +20 -0
- data/doc/rdoc/classes/CancelAction.src/M000167.html +21 -0
- data/doc/rdoc/classes/CancelCategoryAction.html +164 -0
- data/doc/rdoc/classes/CancelCategoryAction.src/M000115.html +22 -0
- data/doc/rdoc/classes/CancelCategoryAction.src/M000116.html +20 -0
- data/doc/rdoc/classes/CategoriesPage.html +212 -0
- data/doc/rdoc/classes/CategoriesPage.src/M000232.html +27 -0
- data/doc/rdoc/classes/CategoriesPage.src/M000233.html +18 -0
- data/doc/rdoc/classes/CategoriesPage.src/M000234.html +73 -0
- data/doc/rdoc/classes/CategoriesPage.src/M000235.html +29 -0
- data/doc/rdoc/classes/CategoriesPage.src/M000236.html +59 -0
- data/doc/rdoc/classes/CategoryBarActionElement.html +139 -0
- data/doc/rdoc/classes/CategoryBarActionElement.src/M000069.html +18 -0
- data/doc/rdoc/classes/CategoryBarNextLevelActionElement.html +139 -0
- data/doc/rdoc/classes/CategoryBarNextLevelActionElement.src/M000026.html +18 -0
- data/doc/rdoc/classes/CategoryFormAction.html +169 -0
- data/doc/rdoc/classes/CategoryFormAction.src/M000148.html +18 -0
- data/doc/rdoc/classes/CategoryFormAction.src/M000149.html +30 -0
- data/doc/rdoc/classes/CategoryFormActionAdapter.html +171 -0
- data/doc/rdoc/classes/CategoryFormActionAdapter.src/M000112.html +19 -0
- data/doc/rdoc/classes/CategoryFormActionAdapter.src/M000113.html +18 -0
- data/doc/rdoc/classes/CategoryFormActionAdapter.src/M000114.html +18 -0
- data/doc/rdoc/classes/CompositeAction.html +186 -0
- data/doc/rdoc/classes/CompositeAction.src/M000119.html +19 -0
- data/doc/rdoc/classes/CompositeAction.src/M000120.html +18 -0
- data/doc/rdoc/classes/CompositeAction.src/M000121.html +21 -0
- data/doc/rdoc/classes/CompositeAction.src/M000122.html +18 -0
- data/doc/rdoc/classes/CompositeLinkActionElement.html +156 -0
- data/doc/rdoc/classes/CompositeLinkActionElement.src/M000196.html +20 -0
- data/doc/rdoc/classes/CompositeLinkActionElement.src/M000197.html +41 -0
- data/doc/rdoc/classes/Constants.html +198 -0
- data/doc/rdoc/classes/Container.html +281 -0
- data/doc/rdoc/classes/Container.src/M000251.html +19 -0
- data/doc/rdoc/classes/Container.src/M000252.html +18 -0
- data/doc/rdoc/classes/Container.src/M000253.html +18 -0
- data/doc/rdoc/classes/Container.src/M000254.html +18 -0
- data/doc/rdoc/classes/Container.src/M000255.html +27 -0
- data/doc/rdoc/classes/Container.src/M000256.html +18 -0
- data/doc/rdoc/classes/Container.src/M000257.html +18 -0
- data/doc/rdoc/classes/Container.src/M000258.html +18 -0
- data/doc/rdoc/classes/Container.src/M000259.html +18 -0
- data/doc/rdoc/classes/Container.src/M000260.html +23 -0
- data/doc/rdoc/classes/ContentDoc.html +236 -0
- data/doc/rdoc/classes/ContentDoc.src/M000129.html +22 -0
- data/doc/rdoc/classes/ContentDoc.src/M000130.html +18 -0
- data/doc/rdoc/classes/ContentDoc.src/M000131.html +20 -0
- data/doc/rdoc/classes/ContentDoc.src/M000132.html +18 -0
- data/doc/rdoc/classes/ContentDoc.src/M000133.html +18 -0
- data/doc/rdoc/classes/ContentDoc.src/M000134.html +18 -0
- data/doc/rdoc/classes/ContentDoc.src/M000135.html +18 -0
- data/doc/rdoc/classes/ContentParser.html +176 -0
- data/doc/rdoc/classes/ContentParser.src/M000176.html +30 -0
- data/doc/rdoc/classes/ContentParser.src/M000177.html +28 -0
- data/doc/rdoc/classes/ContentParser.src/M000178.html +55 -0
- data/doc/rdoc/classes/CurrentList.html +209 -0
- data/doc/rdoc/classes/CurrentList.src/M000228.html +19 -0
- data/doc/rdoc/classes/CurrentList.src/M000229.html +18 -0
- data/doc/rdoc/classes/CurrentList.src/M000230.html +18 -0
- data/doc/rdoc/classes/CurrentList.src/M000231.html +18 -0
- data/doc/rdoc/classes/DataContainer.html +234 -0
- data/doc/rdoc/classes/DataContainer.src/M000101.html +26 -0
- data/doc/rdoc/classes/DataContainer.src/M000102.html +24 -0
- data/doc/rdoc/classes/DataContainer.src/M000103.html +23 -0
- data/doc/rdoc/classes/DataContainer.src/M000104.html +26 -0
- data/doc/rdoc/classes/DataContainer.src/M000105.html +22 -0
- data/doc/rdoc/classes/DataContainer.src/M000106.html +18 -0
- data/doc/rdoc/classes/DataStorage.html +199 -0
- data/doc/rdoc/classes/DataStorage.src/M000031.html +23 -0
- data/doc/rdoc/classes/DataStorage.src/M000032.html +36 -0
- data/doc/rdoc/classes/DataStorage.src/M000033.html +25 -0
- data/doc/rdoc/classes/DataStorage.src/M000034.html +30 -0
- data/doc/rdoc/classes/DataStorage.src/M000035.html +21 -0
- data/doc/rdoc/classes/DefaultAction.html +187 -0
- data/doc/rdoc/classes/DefaultAction.src/M000014.html +23 -0
- data/doc/rdoc/classes/DefaultAction.src/M000015.html +36 -0
- data/doc/rdoc/classes/DefaultAction.src/M000016.html +38 -0
- data/doc/rdoc/classes/DefaultLoggerFactory.html +140 -0
- data/doc/rdoc/classes/DefaultLoggerFactory.src/M000169.html +19 -0
- data/doc/rdoc/classes/DirectLinkContainer.html +156 -0
- data/doc/rdoc/classes/DirectLinkContainer.src/M000209.html +19 -0
- data/doc/rdoc/classes/DirectLinkContainer.src/M000210.html +18 -0
- data/doc/rdoc/classes/DirectLinkParser.html +137 -0
- data/doc/rdoc/classes/DirectLinkParser.src/M000168.html +39 -0
- data/doc/rdoc/classes/DivTag.html +150 -0
- data/doc/rdoc/classes/DivTag.src/M000030.html +19 -0
- data/doc/rdoc/classes/EditAction.html +177 -0
- data/doc/rdoc/classes/EditAction.src/M000056.html +24 -0
- data/doc/rdoc/classes/EditAction.src/M000057.html +64 -0
- data/doc/rdoc/classes/EditActionAdapter.html +139 -0
- data/doc/rdoc/classes/EditActionAdapter.src/M000002.html +20 -0
- data/doc/rdoc/classes/EditCategoryAction.html +176 -0
- data/doc/rdoc/classes/EditCategoryAction.src/M000126.html +24 -0
- data/doc/rdoc/classes/EditCategoryAction.src/M000127.html +39 -0
- data/doc/rdoc/classes/EditCategoryActionAdapter.html +139 -0
- data/doc/rdoc/classes/EditCategoryActionAdapter.src/M000021.html +20 -0
- data/doc/rdoc/classes/EditCategoryPage.html +242 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000036.html +29 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000037.html +18 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000038.html +18 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000039.html +18 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000040.html +109 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000041.html +60 -0
- data/doc/rdoc/classes/EditCategoryPage.src/M000042.html +29 -0
- data/doc/rdoc/classes/EditNewActionAdapter.html +156 -0
- data/doc/rdoc/classes/EditNewActionAdapter.src/M000220.html +20 -0
- data/doc/rdoc/classes/EditNewActionAdapter.src/M000221.html +23 -0
- data/doc/rdoc/classes/EditPage.html +212 -0
- data/doc/rdoc/classes/EditPage.src/M000064.html +33 -0
- data/doc/rdoc/classes/EditPage.src/M000065.html +18 -0
- data/doc/rdoc/classes/EditPage.src/M000066.html +18 -0
- data/doc/rdoc/classes/EditPage.src/M000067.html +18 -0
- data/doc/rdoc/classes/EditPage.src/M000068.html +112 -0
- data/doc/rdoc/classes/EmphasisContainer.html +156 -0
- data/doc/rdoc/classes/EmphasisContainer.src/M000003.html +20 -0
- data/doc/rdoc/classes/EmphasisContainer.src/M000004.html +19 -0
- data/doc/rdoc/classes/EmphasisParser.html +176 -0
- data/doc/rdoc/classes/EmphasisParser.src/M000076.html +19 -0
- data/doc/rdoc/classes/EmphasisParser.src/M000077.html +18 -0
- data/doc/rdoc/classes/EmphasisParser.src/M000078.html +45 -0
- data/doc/rdoc/classes/EscapeParser.html +137 -0
- data/doc/rdoc/classes/EscapeParser.src/M000150.html +26 -0
- data/doc/rdoc/classes/ExpireMetaTag.html +139 -0
- data/doc/rdoc/classes/ExpireMetaTag.src/M000241.html +18 -0
- data/doc/rdoc/classes/FilePersistentStorageHandler.html +207 -0
- data/doc/rdoc/classes/FilePersistentStorageHandler.src/M000215.html +27 -0
- data/doc/rdoc/classes/FilePersistentStorageHandler.src/M000216.html +21 -0
- data/doc/rdoc/classes/FilePersistentStorageHandler.src/M000217.html +19 -0
- data/doc/rdoc/classes/FilePersistentStorageHandler.src/M000218.html +19 -0
- data/doc/rdoc/classes/FilePersistentStorageHandler.src/M000219.html +20 -0
- data/doc/rdoc/classes/FormAction.html +169 -0
- data/doc/rdoc/classes/FormAction.src/M000081.html +18 -0
- data/doc/rdoc/classes/FormAction.src/M000082.html +30 -0
- data/doc/rdoc/classes/FormActionAdapter.html +171 -0
- data/doc/rdoc/classes/FormActionAdapter.src/M000086.html +19 -0
- data/doc/rdoc/classes/FormActionAdapter.src/M000087.html +18 -0
- data/doc/rdoc/classes/FormActionAdapter.src/M000088.html +18 -0
- data/doc/rdoc/classes/FormActionElement.html +169 -0
- data/doc/rdoc/classes/FormActionElement.src/M000044.html +18 -0
- data/doc/rdoc/classes/FormActionElement.src/M000045.html +18 -0
- data/doc/rdoc/classes/FormActionElement.src/M000046.html +23 -0
- data/doc/rdoc/classes/FormInputTag.html +165 -0
- data/doc/rdoc/classes/FormInputTag.src/M000161.html +21 -0
- data/doc/rdoc/classes/HiddenFormInputTag.html +139 -0
- data/doc/rdoc/classes/HiddenFormInputTag.src/M000027.html +18 -0
- data/doc/rdoc/classes/IDataStorage.html +170 -0
- data/doc/rdoc/classes/IDataStorage.src/M000382.html +18 -0
- data/doc/rdoc/classes/IDataStorage.src/M000383.html +18 -0
- data/doc/rdoc/classes/IDataStorage.src/M000384.html +18 -0
- data/doc/rdoc/classes/ItalicContainer.html +139 -0
- data/doc/rdoc/classes/ItalicContainer.src/M000128.html +18 -0
- data/doc/rdoc/classes/ItalicParser.html +156 -0
- data/doc/rdoc/classes/ItalicParser.src/M000207.html +18 -0
- data/doc/rdoc/classes/ItalicParser.src/M000208.html +18 -0
- data/doc/rdoc/classes/LinkActionElement.html +184 -0
- data/doc/rdoc/classes/LinkActionElement.src/M000005.html +18 -0
- data/doc/rdoc/classes/LinkActionElement.src/M000006.html +18 -0
- data/doc/rdoc/classes/LinkActionElement.src/M000007.html +18 -0
- data/doc/rdoc/classes/LinkActionElement.src/M000008.html +18 -0
- data/doc/rdoc/classes/LinkTag.html +187 -0
- data/doc/rdoc/classes/LinkTag.src/M000153.html +34 -0
- data/doc/rdoc/classes/LinkTag.src/M000154.html +18 -0
- data/doc/rdoc/classes/LinkTag.src/M000155.html +20 -0
- data/doc/rdoc/classes/ListContainer.html +156 -0
- data/doc/rdoc/classes/ListContainer.src/M000174.html +18 -0
- data/doc/rdoc/classes/ListContainer.src/M000175.html +19 -0
- data/doc/rdoc/classes/ListItemContainer.html +156 -0
- data/doc/rdoc/classes/ListItemContainer.src/M000028.html +19 -0
- data/doc/rdoc/classes/ListItemContainer.src/M000029.html +19 -0
- data/doc/rdoc/classes/ListParser.html +144 -0
- data/doc/rdoc/classes/ListParser.src/M000195.html +147 -0
- data/doc/rdoc/classes/ListParserUtils.html +141 -0
- data/doc/rdoc/classes/ListParserUtils.src/M000385.html +23 -0
- data/doc/rdoc/classes/Localization.html +209 -0
- data/doc/rdoc/classes/Localization.src/M000311.html +40 -0
- data/doc/rdoc/classes/Localization.src/M000312.html +23 -0
- data/doc/rdoc/classes/Log4r.html +111 -0
- data/doc/rdoc/classes/Log4r/ExtendedRollingFileOutputter.html +178 -0
- data/doc/rdoc/classes/Log4r/ExtendedRollingFileOutputter.src/M000380.html +25 -0
- data/doc/rdoc/classes/Log4r/ExtendedRollingFileOutputter.src/M000381.html +33 -0
- data/doc/rdoc/classes/LoggerFactory.html +152 -0
- data/doc/rdoc/classes/LoggerFactory.src/M000062.html +22 -0
- data/doc/rdoc/classes/LoggerFactory.src/M000063.html +18 -0
- data/doc/rdoc/classes/MetaTag.html +166 -0
- data/doc/rdoc/classes/MetaTag.src/M000118.html +20 -0
- data/doc/rdoc/classes/NoCacheMetaTag.html +139 -0
- data/doc/rdoc/classes/NoCacheMetaTag.src/M000043.html +18 -0
- data/doc/rdoc/classes/PageRequest.html +259 -0
- data/doc/rdoc/classes/PageRequest.src/M000179.html +20 -0
- data/doc/rdoc/classes/PageRequest.src/M000180.html +18 -0
- data/doc/rdoc/classes/PageRequest.src/M000181.html +18 -0
- data/doc/rdoc/classes/PageRequest.src/M000182.html +18 -0
- data/doc/rdoc/classes/PageRequest.src/M000183.html +19 -0
- data/doc/rdoc/classes/PageRequest.src/M000184.html +23 -0
- data/doc/rdoc/classes/PageRequest.src/M000185.html +23 -0
- data/doc/rdoc/classes/PageRequest.src/M000186.html +19 -0
- data/doc/rdoc/classes/PageRequest.src/M000187.html +18 -0
- data/doc/rdoc/classes/PageResponse.html +250 -0
- data/doc/rdoc/classes/PageResponse.src/M000092.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000093.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000094.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000095.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000096.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000097.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000098.html +18 -0
- data/doc/rdoc/classes/PageResponse.src/M000099.html +18 -0
- data/doc/rdoc/classes/ParagraphContainer.html +156 -0
- data/doc/rdoc/classes/ParagraphContainer.src/M000158.html +19 -0
- data/doc/rdoc/classes/ParagraphContainer.src/M000159.html +24 -0
- data/doc/rdoc/classes/ParagraphParser.html +137 -0
- data/doc/rdoc/classes/ParagraphParser.src/M000151.html +42 -0
- data/doc/rdoc/classes/PersistentStorageHandler.html +182 -0
- data/doc/rdoc/classes/PersistentStorageHandler.src/M000376.html +18 -0
- data/doc/rdoc/classes/PersistentStorageHandler.src/M000377.html +18 -0
- data/doc/rdoc/classes/PersistentStorageHandler.src/M000378.html +18 -0
- data/doc/rdoc/classes/PersistentStorageHandler.src/M000379.html +18 -0
- data/doc/rdoc/classes/Pid.html +182 -0
- data/doc/rdoc/classes/Pid.src/M000083.html +18 -0
- data/doc/rdoc/classes/Pid.src/M000084.html +24 -0
- data/doc/rdoc/classes/Pid.src/M000085.html +18 -0
- data/doc/rdoc/classes/Properties.html +184 -0
- data/doc/rdoc/classes/Properties.src/M000058.html +18 -0
- data/doc/rdoc/classes/Properties.src/M000059.html +18 -0
- data/doc/rdoc/classes/Properties.src/M000060.html +18 -0
- data/doc/rdoc/classes/Properties.src/M000061.html +27 -0
- data/doc/rdoc/classes/PropertyList.html +187 -0
- data/doc/rdoc/classes/PropertyList.src/M000017.html +19 -0
- data/doc/rdoc/classes/PropertyList.src/M000018.html +23 -0
- data/doc/rdoc/classes/PropertyList.src/M000019.html +23 -0
- data/doc/rdoc/classes/PropertyList.src/M000020.html +18 -0
- data/doc/rdoc/classes/RawAttribute.html +154 -0
- data/doc/rdoc/classes/RawAttribute.src/M000249.html +20 -0
- data/doc/rdoc/classes/RawAttribute.src/M000250.html +21 -0
- data/doc/rdoc/classes/RawPage.html +171 -0
- data/doc/rdoc/classes/RawPage.src/M000107.html +19 -0
- data/doc/rdoc/classes/RawPage.src/M000108.html +18 -0
- data/doc/rdoc/classes/RawPage.src/M000109.html +18 -0
- data/doc/rdoc/classes/ReferenceLinkContainer.html +156 -0
- data/doc/rdoc/classes/ReferenceLinkContainer.src/M000213.html +20 -0
- data/doc/rdoc/classes/ReferenceLinkContainer.src/M000214.html +19 -0
- data/doc/rdoc/classes/Ribit.html +124 -0
- data/doc/rdoc/classes/Ribit/ContentStore.html +236 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000304.html +23 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000305.html +29 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000306.html +25 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000307.html +49 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000308.html +18 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000309.html +73 -0
- data/doc/rdoc/classes/Ribit/ContentStore.src/M000310.html +51 -0
- data/doc/rdoc/classes/Ribit/FileWriter.html +162 -0
- data/doc/rdoc/classes/Ribit/FileWriter.src/M000289.html +19 -0
- data/doc/rdoc/classes/Ribit/FileWriter.src/M000290.html +32 -0
- data/doc/rdoc/classes/Ribit/Repository.html +174 -0
- data/doc/rdoc/classes/Ribit/Repository.src/M000276.html +18 -0
- data/doc/rdoc/classes/Ribit/Repository.src/M000277.html +18 -0
- data/doc/rdoc/classes/Ribit/Repository.src/M000278.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLogger.html +137 -0
- data/doc/rdoc/classes/Ribit/RibitLogger.src/M000301.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerConfig.html +182 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerConfig.src/M000279.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerConfig.src/M000280.html +23 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerConfig.src/M000281.html +21 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerConfig.src/M000282.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerFactory.html +154 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerFactory.src/M000287.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerFactory.src/M000288.html +25 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.html +229 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000294.html +26 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000295.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000296.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000297.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000298.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000299.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerImpl.src/M000300.html +18 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerWrapper.html +210 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerWrapper.src/M000291.html +20 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerWrapper.src/M000292.html +32 -0
- data/doc/rdoc/classes/Ribit/RibitLoggerWrapper.src/M000293.html +18 -0
- data/doc/rdoc/classes/Ribit/Writer.html +163 -0
- data/doc/rdoc/classes/Ribit/Writer.src/M000302.html +18 -0
- data/doc/rdoc/classes/Ribit/Writer.src/M000303.html +21 -0
- data/doc/rdoc/classes/RibitConfig.html +247 -0
- data/doc/rdoc/classes/RibitConfig.src/M000072.html +32 -0
- data/doc/rdoc/classes/RibitConfig.src/M000073.html +18 -0
- data/doc/rdoc/classes/RibitConfig.src/M000074.html +18 -0
- data/doc/rdoc/classes/RibitConfig.src/M000075.html +18 -0
- data/doc/rdoc/classes/RibitConfigParser.html +140 -0
- data/doc/rdoc/classes/RibitConfigParser.src/M000117.html +45 -0
- data/doc/rdoc/classes/RibitData.html +128 -0
- data/doc/rdoc/classes/RibitData/CategoriesWriter.html +169 -0
- data/doc/rdoc/classes/RibitData/CategoriesWriter.src/M000338.html +18 -0
- data/doc/rdoc/classes/RibitData/CategoriesWriter.src/M000339.html +27 -0
- data/doc/rdoc/classes/RibitData/CategoriesWriter.src/M000340.html +24 -0
- data/doc/rdoc/classes/RibitData/Category.html +485 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000313.html +27 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000314.html +36 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000315.html +22 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000316.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000317.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000318.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000319.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000320.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000321.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000322.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000323.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000324.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000325.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000326.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000327.html +36 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000328.html +18 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000329.html +48 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000330.html +45 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000331.html +30 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000332.html +25 -0
- data/doc/rdoc/classes/RibitData/Category.src/M000333.html +18 -0
- data/doc/rdoc/classes/RibitData/CategoryParser.html +217 -0
- data/doc/rdoc/classes/RibitData/CategoryParser.src/M000357.html +18 -0
- data/doc/rdoc/classes/RibitData/CategoryParser.src/M000358.html +29 -0
- data/doc/rdoc/classes/RibitData/CategoryParser.src/M000359.html +31 -0
- data/doc/rdoc/classes/RibitData/CategoryParser.src/M000360.html +27 -0
- data/doc/rdoc/classes/RibitData/CategoryParser.src/M000361.html +45 -0
- data/doc/rdoc/classes/RibitData/Page.html +313 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000362.html +33 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000363.html +22 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000364.html +18 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000365.html +18 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000366.html +18 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000367.html +46 -0
- data/doc/rdoc/classes/RibitData/Page.src/M000368.html +26 -0
- data/doc/rdoc/classes/RibitData/PageParser.html +190 -0
- data/doc/rdoc/classes/RibitData/PageParser.src/M000334.html +19 -0
- data/doc/rdoc/classes/RibitData/PageParser.src/M000335.html +32 -0
- data/doc/rdoc/classes/RibitData/PageParser.src/M000336.html +42 -0
- data/doc/rdoc/classes/RibitData/PageParser.src/M000337.html +21 -0
- data/doc/rdoc/classes/RibitData/RibitData.html +389 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000341.html +26 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000342.html +22 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000343.html +18 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000344.html +36 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000345.html +18 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000346.html +25 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000347.html +18 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000348.html +22 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000349.html +18 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000350.html +30 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000351.html +18 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000352.html +48 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000353.html +30 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000354.html +22 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000355.html +22 -0
- data/doc/rdoc/classes/RibitData/RibitData.src/M000356.html +22 -0
- data/doc/rdoc/classes/RibitData/RibitDataException.html +113 -0
- data/doc/rdoc/classes/RibitException.html +117 -0
- data/doc/rdoc/classes/RibitLinkContainer.html +156 -0
- data/doc/rdoc/classes/RibitLinkContainer.src/M000211.html +85 -0
- data/doc/rdoc/classes/RibitLinkContainer.src/M000212.html +18 -0
- data/doc/rdoc/classes/RibitLinkParser.html +137 -0
- data/doc/rdoc/classes/RibitLinkParser.src/M000100.html +50 -0
- data/doc/rdoc/classes/RibitServlet.html +196 -0
- data/doc/rdoc/classes/RibitServlet.src/M000222.html +37 -0
- data/doc/rdoc/classes/RibitServlet.src/M000223.html +53 -0
- data/doc/rdoc/classes/RibitServlet.src/M000224.html +39 -0
- data/doc/rdoc/classes/RibitServlet.src/M000225.html +19 -0
- data/doc/rdoc/classes/RootContainer.html +139 -0
- data/doc/rdoc/classes/RootContainer.src/M000206.html +19 -0
- data/doc/rdoc/classes/SaveAction.html +164 -0
- data/doc/rdoc/classes/SaveAction.src/M000162.html +24 -0
- data/doc/rdoc/classes/SaveAction.src/M000163.html +116 -0
- data/doc/rdoc/classes/SaveCategoryAction.html +164 -0
- data/doc/rdoc/classes/SaveCategoryAction.src/M000047.html +24 -0
- data/doc/rdoc/classes/SaveCategoryAction.src/M000048.html +97 -0
- data/doc/rdoc/classes/SectionContainer.html +156 -0
- data/doc/rdoc/classes/SectionContainer.src/M000070.html +19 -0
- data/doc/rdoc/classes/SectionContainer.src/M000071.html +20 -0
- data/doc/rdoc/classes/SectionParser.html +137 -0
- data/doc/rdoc/classes/SectionParser.src/M000152.html +41 -0
- data/doc/rdoc/classes/SelectOptionTag.html +177 -0
- data/doc/rdoc/classes/SelectOptionTag.src/M000156.html +22 -0
- data/doc/rdoc/classes/SelectOptionTag.src/M000157.html +18 -0
- data/doc/rdoc/classes/StyleSheetAction.html +182 -0
- data/doc/rdoc/classes/StyleSheetAction.src/M000226.html +31 -0
- data/doc/rdoc/classes/StyleSheetAction.src/M000227.html +36 -0
- data/doc/rdoc/classes/TextContainer.html +214 -0
- data/doc/rdoc/classes/TextContainer.src/M000050.html +19 -0
- data/doc/rdoc/classes/TextContainer.src/M000051.html +18 -0
- data/doc/rdoc/classes/TextContainer.src/M000052.html +18 -0
- data/doc/rdoc/classes/TextContainer.src/M000053.html +18 -0
- data/doc/rdoc/classes/TextContainer.src/M000054.html +18 -0
- data/doc/rdoc/classes/TextContainer.src/M000055.html +18 -0
- data/doc/rdoc/classes/TextPage.html +226 -0
- data/doc/rdoc/classes/TextPage.src/M000198.html +29 -0
- data/doc/rdoc/classes/TextPage.src/M000199.html +18 -0
- data/doc/rdoc/classes/TextPage.src/M000200.html +54 -0
- data/doc/rdoc/classes/TextPage.src/M000201.html +36 -0
- data/doc/rdoc/classes/TextPage.src/M000202.html +46 -0
- data/doc/rdoc/classes/TextPage.src/M000203.html +25 -0
- data/doc/rdoc/classes/URL.html +182 -0
- data/doc/rdoc/classes/URL.src/M000123.html +24 -0
- data/doc/rdoc/classes/URL.src/M000124.html +19 -0
- data/doc/rdoc/classes/URL.src/M000125.html +35 -0
- data/doc/rdoc/classes/UnformattedContentContainer.html +156 -0
- data/doc/rdoc/classes/UnformattedContentContainer.src/M000079.html +20 -0
- data/doc/rdoc/classes/UnformattedContentContainer.src/M000080.html +20 -0
- data/doc/rdoc/classes/UnformattedContentParser.html +137 -0
- data/doc/rdoc/classes/UnformattedContentParser.src/M000194.html +49 -0
- data/doc/rdoc/classes/ViewAction.html +221 -0
- data/doc/rdoc/classes/ViewAction.src/M000009.html +25 -0
- data/doc/rdoc/classes/ViewAction.src/M000010.html +20 -0
- data/doc/rdoc/classes/ViewAction.src/M000011.html +77 -0
- data/doc/rdoc/classes/ViewAction.src/M000012.html +18 -0
- data/doc/rdoc/classes/ViewAction.src/M000013.html +22 -0
- data/doc/rdoc/classes/ViewActionAdapter.html +186 -0
- data/doc/rdoc/classes/ViewActionAdapter.src/M000022.html +20 -0
- data/doc/rdoc/classes/ViewActionAdapter.src/M000023.html +24 -0
- data/doc/rdoc/classes/ViewActionAdapter.src/M000024.html +20 -0
- data/doc/rdoc/classes/ViewActionAdapter.src/M000025.html +21 -0
- data/doc/rdoc/classes/ViewCategoriesAction.html +211 -0
- data/doc/rdoc/classes/ViewCategoriesAction.src/M000261.html +25 -0
- data/doc/rdoc/classes/ViewCategoriesAction.src/M000262.html +20 -0
- data/doc/rdoc/classes/ViewCategoriesAction.src/M000263.html +61 -0
- data/doc/rdoc/classes/ViewCategoriesAction.src/M000264.html +22 -0
- data/doc/rdoc/classes/ViewCategoriesActionAdapter.html +171 -0
- data/doc/rdoc/classes/ViewCategoriesActionAdapter.src/M000089.html +18 -0
- data/doc/rdoc/classes/ViewCategoriesActionAdapter.src/M000090.html +24 -0
- data/doc/rdoc/classes/ViewCategoriesActionAdapter.src/M000091.html +18 -0
- data/doc/rdoc/classes/W3CValidatorLinkActionAdapter.html +156 -0
- data/doc/rdoc/classes/W3CValidatorLinkActionAdapter.src/M000110.html +26 -0
- data/doc/rdoc/classes/W3CValidatorLinkActionAdapter.src/M000111.html +18 -0
- data/doc/rdoc/classes/WebAction.html +165 -0
- data/doc/rdoc/classes/WebAction.src/M000242.html +18 -0
- data/doc/rdoc/classes/WebAction.src/M000243.html +19 -0
- data/doc/rdoc/classes/WebPage.html +184 -0
- data/doc/rdoc/classes/WebPage.src/M000170.html +17 -0
- data/doc/rdoc/classes/WebPage.src/M000171.html +19 -0
- data/doc/rdoc/classes/WebPage.src/M000172.html +18 -0
- data/doc/rdoc/classes/WebPage.src/M000173.html +18 -0
- data/doc/rdoc/classes/XHTMLDocument.html +377 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000136.html +26 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000137.html +40 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000138.html +20 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000139.html +18 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000140.html +18 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000141.html +19 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000142.html +21 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000143.html +30 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000144.html +18 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000145.html +18 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000146.html +23 -0
- data/doc/rdoc/classes/XHTMLDocument.src/M000147.html +18 -0
- data/doc/rdoc/classes/XHTMLException.html +117 -0
- data/doc/rdoc/classes/XHTMLPage.html +225 -0
- data/doc/rdoc/classes/XHTMLPage.src/M000188.html +20 -0
- data/doc/rdoc/classes/XHTMLPage.src/M000189.html +18 -0
- data/doc/rdoc/classes/XHTMLPage.src/M000190.html +44 -0
- data/doc/rdoc/classes/XHTMLPage.src/M000191.html +18 -0
- data/doc/rdoc/classes/XHTMLPage.src/M000192.html +54 -0
- data/doc/rdoc/classes/XHTMLPage.src/M000193.html +22 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/CHANGES.html +150 -0
- data/doc/rdoc/files/INSTALL.html +169 -0
- data/doc/rdoc/files/LICENSE.html +449 -0
- data/doc/rdoc/files/README.html +176 -0
- data/doc/rdoc/files/lib/common/assert_rb.html +101 -0
- data/doc/rdoc/files/lib/common/cvs_rb.html +116 -0
- data/doc/rdoc/files/lib/common/datastorage_rb.html +108 -0
- data/doc/rdoc/files/lib/common/loggerfactory_rb.html +108 -0
- data/doc/rdoc/files/lib/common/pid_rb.html +101 -0
- data/doc/rdoc/files/lib/common/properties_rb.html +101 -0
- data/doc/rdoc/files/lib/common/url_rb.html +108 -0
- data/doc/rdoc/files/lib/log4r/outputter/extendedrollingfileoutputter_rb.html +111 -0
- data/doc/rdoc/files/lib/ribit/action_rb.html +116 -0
- data/doc/rdoc/files/lib/ribit/actionelement_rb.html +108 -0
- data/doc/rdoc/files/lib/ribit/common_rb.html +130 -0
- data/doc/rdoc/files/lib/ribit/common_rb.src/M000001.html +25 -0
- data/doc/rdoc/files/lib/ribit/config_rb.html +116 -0
- data/doc/rdoc/files/lib/ribit/constants_rb.html +101 -0
- data/doc/rdoc/files/lib/ribit/contentparser_rb.html +112 -0
- data/doc/rdoc/files/lib/ribit/contentstore_rb.html +112 -0
- data/doc/rdoc/files/lib/ribit/localization_rb.html +108 -0
- data/doc/rdoc/files/lib/ribit/main_rb.html +120 -0
- data/doc/rdoc/files/lib/ribit/ribit_rb.html +123 -0
- data/doc/rdoc/files/lib/ribit/ribitdata_rb.html +112 -0
- data/doc/rdoc/files/lib/ribit/ribitlogger_rb.html +111 -0
- data/doc/rdoc/files/lib/ribit/webpage_rb.html +118 -0
- data/doc/rdoc/files/lib/ribit/xhtmldocument_rb.html +109 -0
- data/doc/rdoc/files/lib/ribit/xhtmltag_rb.html +109 -0
- data/doc/rdoc/fr_class_index.html +150 -0
- data/doc/rdoc/fr_file_index.html +53 -0
- data/doc/rdoc/fr_method_index.html +411 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +208 -0
- data/doc/spec.txt +42 -0
- data/doc/test_run_25052005.txt +108 -0
- data/doc/testplan.txt +87 -0
- data/doc/www/index.html +5 -0
- data/lib/common/assert.rb +72 -0
- data/lib/common/cvs.rb +201 -0
- data/lib/common/datastorage.rb +265 -0
- data/lib/common/loggerfactory.rb +56 -0
- data/lib/common/pid.rb +44 -0
- data/lib/common/properties.rb +89 -0
- data/lib/common/url.rb +64 -0
- data/lib/log4r/outputter/extendedrollingfileoutputter.rb +73 -0
- data/lib/ribit/action.rb +1106 -0
- data/lib/ribit/actionelement.rb +152 -0
- data/lib/ribit/common.rb +34 -0
- data/lib/ribit/config.rb +123 -0
- data/lib/ribit/constants.rb +50 -0
- data/lib/ribit/contentparser.rb +1111 -0
- data/lib/ribit/contentstore.rb +406 -0
- data/lib/ribit/localization.rb +76 -0
- data/lib/ribit/main.rb +114 -0
- data/lib/ribit/ribit.rb +319 -0
- data/lib/ribit/ribitdata.rb +909 -0
- data/lib/ribit/ribitlogger.rb +192 -0
- data/lib/ribit/webpage.rb +802 -0
- data/lib/ribit/xhtmldocument.rb +148 -0
- data/lib/ribit/xhtmltag.rb +189 -0
- data/share/config/content/1/1.xml +6 -0
- data/share/config/content/1/2.xml +6 -0
- data/share/config/content/1/3.xml +6 -0
- data/share/config/content/1/4.xml +6 -0
- data/share/config/content/1/5.xml +6 -0
- data/share/config/content/1/category.xml +7 -0
- data/share/config/content/1/files/edit-category-template.html +59 -0
- data/share/config/content/1/files/edit-template.html +88 -0
- data/share/config/content/1/files/localization_en.properties +11 -0
- data/share/config/content/1/files/ribit.css +215 -0
- data/share/config/content/1/files/view-template.html +50 -0
- data/share/config/content/2/1.xml +19 -0
- data/share/config/content/2/2.xml +54 -0
- data/share/config/content/2/category.xml +5 -0
- data/share/config/content/3/1.xml +11 -0
- data/share/config/content/3/3.xml +17 -0
- data/share/config/content/3/4.xml +28 -0
- data/share/config/content/3/category.xml +5 -0
- data/share/config/content/categories.xml +12 -0
- data/share/config/ribitconfig.xml +48 -0
- data/share/config/ribitconfig_dev.xml +41 -0
- data/share/config/ribitconfig_local.xml +39 -0
- data/share/test/config/content/1/1.xml +6 -0
- data/share/test/config/content/1/2.xml +6 -0
- data/share/test/config/content/1/3.xml +6 -0
- data/share/test/config/content/1/4.xml +6 -0
- data/share/test/config/content/1/category.xml +4 -0
- data/share/test/config/content/1/files/edit-template.html +50 -0
- data/share/test/config/content/1/files/localization_en.properties +4 -0
- data/share/test/config/content/1/files/ribit.css +139 -0
- data/share/test/config/content/1/files/view-template.html +36 -0
- data/share/test/config/content/2/1.xml +16 -0
- data/share/test/config/content/2/2.xml +25 -0
- data/share/test/config/content/2/category.xml +4 -0
- data/share/test/config/content/categories.xml +11 -0
- data/share/test/config/content/ribitdata.xml +348 -0
- data/share/test/config/ribitconfig.xml +36 -0
- data/share/test/test1.xml +13 -0
- data/share/test/test2.xml +17 -0
- data/share/test/test3.xml +5 -0
- data/test/alltests.rb +35 -0
- data/test/common/allcommontests.rb +40 -0
- data/test/common/asserttest.rb +71 -0
- data/test/common/cvstest.rb +117 -0
- data/test/common/datastoragetest.rb +151 -0
- data/test/common/filepersistentstoragehandlertest.rb +105 -0
- data/test/common/propertiestest.rb +77 -0
- data/test/common/urltest.rb +70 -0
- data/test/log4r/outputter/alllog4routputtertests.rb +28 -0
- data/test/log4r/outputter/extendedrollingfileoutputtertest.rb +77 -0
- data/test/mock/mock.rb +147 -0
- data/test/ribit/actionadaptertest.rb +58 -0
- data/test/ribit/actionelementtest.rb +147 -0
- data/test/ribit/actionmanagertest.rb +55 -0
- data/test/ribit/allribittests.rb +62 -0
- data/test/ribit/categoryformactiontest.rb +153 -0
- data/test/ribit/configtest.rb +43 -0
- data/test/ribit/contentparsertest.rb +404 -0
- data/test/ribit/contentstorestub.rb +64 -0
- data/test/ribit/contentstoretest.rb +222 -0
- data/test/ribit/editcategorypagetest.rb +121 -0
- data/test/ribit/formactiontest.rb +367 -0
- data/test/ribit/localizationtest.rb +65 -0
- data/test/ribit/loggertest.rb +44 -0
- data/test/ribit/misc/allmisctests.rb +32 -0
- data/test/ribit/misc/amritatest.rb +24 -0
- data/test/ribit/misc/debugservlet.rb +63 -0
- data/test/ribit/misc/postsevlet.rb +36 -0
- data/test/ribit/misc/rexmlcdatatest.rb +17 -0
- data/test/ribit/misc/rexmldoctypetest.rb +20 -0
- data/test/ribit/misc/rexmlreadtest.rb +13 -0
- data/test/ribit/misc/rexmlwritetest.rb +28 -0
- data/test/ribit/misc/rubytest.rb +184 -0
- data/test/ribit/misc/suidtest.rb +21 -0
- data/test/ribit/misc/suite.rb +12 -0
- data/test/ribit/misc/wwwtest.rb +68 -0
- data/test/ribit/pagerequesttest.rb +74 -0
- data/test/ribit/ribitdatatest.rb +404 -0
- data/test/ribit/ribitservlettest.rb +94 -0
- data/test/ribit/testdata/ribittestdata.rb +49 -0
- data/test/ribit/testutil/ribitstub.rb +83 -0
- data/test/ribit/testutil/ribittestcase.rb +66 -0
- data/test/ribit/viewactiontest.rb +332 -0
- data/test/ribit/webpagetest.rb +531 -0
- data/test/ribit/xhtmldocumenttest.rb +263 -0
- data/test/ribit/xhtmltagtest.rb +84 -0
- metadata +837 -0
data/bin/ribit-setup
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
#--
|
|
4
|
+
# Copyright (C) 2004-2005 Tero Vuorelaorela
|
|
5
|
+
#
|
|
6
|
+
# This program is free software; you can redistribute it and/or modify it
|
|
7
|
+
# under the terms of the GNU General Public License as published by the Free
|
|
8
|
+
# Software Foundation; either version 2 of the License, or (at your option)
|
|
9
|
+
# any later version.
|
|
10
|
+
#
|
|
11
|
+
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
12
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
13
|
+
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
14
|
+
# more details.
|
|
15
|
+
#
|
|
16
|
+
# You should have received a copy of the GNU General Public License along with
|
|
17
|
+
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|
18
|
+
# Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
19
|
+
#++
|
|
20
|
+
require 'ftools'
|
|
21
|
+
require 'fileutils'
|
|
22
|
+
require 'optparse'
|
|
23
|
+
require 'optparse/time'
|
|
24
|
+
require 'ostruct'
|
|
25
|
+
require 'common/cvs'
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# The options specified on the command line will be collected in *options*.
|
|
29
|
+
# We set default values here.
|
|
30
|
+
options = OpenStruct.new
|
|
31
|
+
options.all = false
|
|
32
|
+
options.path = []
|
|
33
|
+
options.cvsroot = []
|
|
34
|
+
|
|
35
|
+
opts = OptionParser.new do |opts|
|
|
36
|
+
opts.banner = "Usage: ribit-setup [options]"
|
|
37
|
+
|
|
38
|
+
opts.separator ""
|
|
39
|
+
opts.separator "Options:"
|
|
40
|
+
|
|
41
|
+
opts.on("-p", "--path PATH",
|
|
42
|
+
"Define the data path") do |path|
|
|
43
|
+
options.path << path
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# NOTE: description is split to several lines
|
|
47
|
+
opts.on("-a", "--copy-all",
|
|
48
|
+
"If specified then all possible files are copied.",
|
|
49
|
+
"If not defined then ribitconfig.xml and categories.xml is skipped") do |lib|
|
|
50
|
+
options.all = true
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
opts.on("-c", "--from-cvs CVSROOTDIR",
|
|
54
|
+
"Instead of saving default files takes files from specified CVSROOT directory.") do |dir|
|
|
55
|
+
options.cvsroot << dir
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# No argument, shows at tail. This will print an options summary.
|
|
59
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
|
60
|
+
puts opts
|
|
61
|
+
exit
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
begin
|
|
67
|
+
opts.parse!(ARGV)
|
|
68
|
+
rescue OptionParser::InvalidOption => e
|
|
69
|
+
# show help and exit
|
|
70
|
+
puts "Invalid option(s)!"
|
|
71
|
+
puts opts
|
|
72
|
+
exit
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
if ( options.path.empty? )
|
|
76
|
+
puts "ERROR: No destination path defined!"
|
|
77
|
+
puts opts
|
|
78
|
+
exit
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# if no cvsroot => copy default files
|
|
82
|
+
if ( options.cvsroot.empty? )
|
|
83
|
+
# we know this scripts is located in <ribit-installation>/bin
|
|
84
|
+
# and we'd like find out what is that <ribit-installation>
|
|
85
|
+
ribitHome = File.join( File.dirname( __FILE__ ), '..' )
|
|
86
|
+
configDir = File.join( ribitHome, 'share', 'config' )
|
|
87
|
+
destDir = options.path
|
|
88
|
+
|
|
89
|
+
if ( options.all )
|
|
90
|
+
puts 'Copying ribitconfig.xml'
|
|
91
|
+
File.cp( File.join( configDir, 'ribitconfig.xml' ), File.join( destDir, 'ribitconfig.xml' ) )
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
puts 'Copying content'
|
|
95
|
+
sourceContentDir = File.join( configDir, 'content' )
|
|
96
|
+
destContentDir = File.join( destDir, 'content' )
|
|
97
|
+
FileUtils.mkdir( destContentDir ) unless File.exists?( destContentDir )
|
|
98
|
+
|
|
99
|
+
# TODO: delete all only if specially requested
|
|
100
|
+
#if ( File.exist?( destContentDir ) )
|
|
101
|
+
# FileUtils.rm_rf( destContentDir )
|
|
102
|
+
#end
|
|
103
|
+
#d = Dir.new( destDir )
|
|
104
|
+
#d.each {|file| puts ("Got " + file) }
|
|
105
|
+
#puts ( "source " + sourceContentDir )
|
|
106
|
+
|
|
107
|
+
Dir.glob( sourceContentDir + "/**/*" ).each do |item|
|
|
108
|
+
# )
|
|
109
|
+
if ( /\/CVS\//.match( item ) == nil and /\/CVS$/.match( item ) == nil )
|
|
110
|
+
# the path contains "sourceContentDir" prefix and we want get rid of it
|
|
111
|
+
# (+1 comes from '/' after "sourceContentDir")
|
|
112
|
+
endPath = item[sourceContentDir.length + 1 , item.length]
|
|
113
|
+
|
|
114
|
+
if ( File.file?( item ) )
|
|
115
|
+
|
|
116
|
+
# if all flag is false then we might skip some files (=categories.xml)
|
|
117
|
+
if ( options.all or !/categories.xml$/.match( endPath ) )
|
|
118
|
+
puts( "Copying " + File.join( sourceContentDir, endPath ).to_s )
|
|
119
|
+
FileUtils.cp(
|
|
120
|
+
File.join( sourceContentDir, endPath ),
|
|
121
|
+
File.join( destContentDir, endPath ) )
|
|
122
|
+
|
|
123
|
+
FileUtils.touch( File.join( destContentDir, endPath ) )
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
elsif( !File.exists?( File.join( destContentDir, endPath ) ) )
|
|
127
|
+
FileUtils.mkdir( File.join( destContentDir, endPath ) )
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
else
|
|
133
|
+
# source is cvsroot
|
|
134
|
+
cvs = CVS::CVS.new
|
|
135
|
+
cvs.cvsroot = options.cvsroot[0]
|
|
136
|
+
# checkout guarantees that basic structure will be there
|
|
137
|
+
cvs.checkout( "content", options.path[0] )
|
|
138
|
+
|
|
139
|
+
# next update command requires changing current dir
|
|
140
|
+
oldDir = FileUtils.pwd
|
|
141
|
+
cd( options.path[0] )
|
|
142
|
+
begin
|
|
143
|
+
cvs.run_cvs( "update", ['-R', '-f', '-A', '-C', 'content'] )
|
|
144
|
+
ensure
|
|
145
|
+
cd( oldDir )
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
puts 'DONE'
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
data/bin/ribitd
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/sbin/runscript
|
|
2
|
+
|
|
3
|
+
depend() {
|
|
4
|
+
need net
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
start() {
|
|
8
|
+
ebegin "Starting ribit"
|
|
9
|
+
start-stop-daemon --start --quiet --background -make-pidfile --pidfile /var/run/ribit.pid --exec ribit /opt/ribit/ribitconfig.xml
|
|
10
|
+
eend $?
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
stop() {
|
|
14
|
+
ebegin "Stopping ribit"
|
|
15
|
+
start-stop-daemon --stop --quiet --pidfile /var/run/ribit.pid
|
|
16
|
+
rm /var/run/ribit.pid
|
|
17
|
+
eend $?
|
|
18
|
+
}
|
data/doc/TODO.txt
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
|
|
2
|
+
====>Ribit Quick Memo and TODO
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
KAMPELA:
|
|
6
|
+
(DONE) - add all old content
|
|
7
|
+
- change main page
|
|
8
|
+
- test with mobile (new instance)
|
|
9
|
+
|
|
10
|
+
NEXT VERSION 0.3:
|
|
11
|
+
|
|
12
|
+
- bug: when creating a new category => it can't be edited from categories page
|
|
13
|
+
- bug: creating new toplevel category => undefined method `get_next_free_page_id' for nil:NilClass
|
|
14
|
+
- bug: <,> inside pre
|
|
15
|
+
- bug: & char inside page name (test also ; > < #)
|
|
16
|
+
|
|
17
|
+
- when name is changed => delete everything from cache
|
|
18
|
+
|
|
19
|
+
(DONE) - on top bar would be nice to have categories link
|
|
20
|
+
- on categories page would nice to have first list of categories => link to page listing
|
|
21
|
+
|
|
22
|
+
* version + build number (including date) to releases an startup logging
|
|
23
|
+
|
|
24
|
+
* do data reloading in startup, not in first request
|
|
25
|
+
|
|
26
|
+
* standalone version
|
|
27
|
+
* putting to rubyforge (www pages, some fine tuning)
|
|
28
|
+
* unit test html
|
|
29
|
+
* coverage results
|
|
30
|
+
- coverage ok
|
|
31
|
+
* filter out test classes
|
|
32
|
+
|
|
33
|
+
* print argo docs
|
|
34
|
+
* think: www application structure
|
|
35
|
+
* think: how to test www application; checking html structure
|
|
36
|
+
* catching all from standard ruby loggers
|
|
37
|
+
- configuring log
|
|
38
|
+
|
|
39
|
+
* test ruby mock
|
|
40
|
+
- simple unit tests
|
|
41
|
+
* call order
|
|
42
|
+
* exceptions
|
|
43
|
+
* default value
|
|
44
|
+
|
|
45
|
+
* haven't found good basic xhtml reference => maybe I should collect my own (www)
|
|
46
|
+
* split classes to several files + take Ribit namespace into use
|
|
47
|
+
* all inside Ribit module
|
|
48
|
+
* split css to view, edit and edit category
|
|
49
|
+
* refactor code to more readable form (more files?)
|
|
50
|
+
* QUESTION: css could be used to set background image, can we that to get proper
|
|
51
|
+
section divider lines ?
|
|
52
|
+
* other option is to recogninize which one is first and which last paragraph
|
|
53
|
+
and set class attribute properly
|
|
54
|
+
|
|
55
|
+
* think about default ribit content
|
|
56
|
+
|
|
57
|
+
* think about category default page
|
|
58
|
+
* if some kind of index page then
|
|
59
|
+
* creating new pages without links
|
|
60
|
+
* how to move existing data to new system
|
|
61
|
+
* how write links to this default page
|
|
62
|
+
* idea is to avoid ::Work::Work style links
|
|
63
|
+
|
|
64
|
+
* www instructions
|
|
65
|
+
- cache
|
|
66
|
+
|
|
67
|
+
================================================================================
|
|
68
|
+
|
|
69
|
+
- how to make table of contents: example http://eclipsedarcs.org/doku.php
|
|
70
|
+
|
|
71
|
+
NEXT:
|
|
72
|
+
* sisällysluettelo categories sivulle: hypyt kategorian luo
|
|
73
|
+
* blogimaiset entryt
|
|
74
|
+
* blokkien editointi sivun sisältä
|
|
75
|
+
|
|
76
|
+
* delete
|
|
77
|
+
- category
|
|
78
|
+
- page (and also moving from category to another)
|
|
79
|
+
|
|
80
|
+
* creating a new category just from through link (right away to edit page)
|
|
81
|
+
* move link outlook to style sheet ([link] and link1 - link2)
|
|
82
|
+
* cgi interface; how caching should work => disable ?
|
|
83
|
+
* should startup main page just contain category => category main page then used ?
|
|
84
|
+
* speed
|
|
85
|
+
* startup: if file is missing but in CVS => restore
|
|
86
|
+
* go through log messages, is it enough or too precise ?
|
|
87
|
+
* tweak ribit-setup so that it can be run in dev
|
|
88
|
+
* changing baseurl, some rules, ext url and internal url
|
|
89
|
+
* better localization
|
|
90
|
+
* XML validation
|
|
91
|
+
* QUESTION: is startin space good indication to continue list item ?
|
|
92
|
+
* check JSP Wiki and use similar stuff (+ www.snipsnap.org)
|
|
93
|
+
|
|
94
|
+
* separate ribitconfig.xml and content, now they has to be (?) under same dir
|
|
95
|
+
- could ribit config point directly to content dir ? I.e. can name change
|
|
96
|
+
|
|
97
|
+
* tables (?? howto implement headers)
|
|
98
|
+
* pre-tag
|
|
99
|
+
* running a single test
|
|
100
|
+
* valid basic html (lists are not inside <p> ?)
|
|
101
|
+
|
|
102
|
+
* titles with format '== title2 =='
|
|
103
|
+
* possibility to create index of titles to beginning of the page
|
|
104
|
+
* 'to top' tag to bottom
|
|
105
|
+
* [ encoding like \[ (doesn't start the link) or like [[
|
|
106
|
+
* unordered list
|
|
107
|
+
* term list
|
|
108
|
+
* preview possibility
|
|
109
|
+
* favicon definition
|
|
110
|
+
|
|
111
|
+
* moving pages from category to another
|
|
112
|
+
* search functionality
|
|
113
|
+
* better script for reverting back to old page versions
|
|
114
|
+
* tag that lists of subpages
|
|
115
|
+
* & is replaced by & in form urls at least => no conversion
|
|
116
|
+
* headers with ==header format==
|
|
117
|
+
* tag to create table of contents
|
|
118
|
+
|
|
119
|
+
* learn from other web applications: xml and css usage
|
|
120
|
+
|
|
121
|
+
* distributed Ribit => local cache
|
|
122
|
+
* first it could be read only
|
|
123
|
+
* do only data move or ready rendered pages ?
|
|
124
|
+
|
|
125
|
+
* removing pages and categories
|
|
126
|
+
* confirmation page
|
|
127
|
+
|
|
128
|
+
* creating new category (new page?): to whatever place in hierarchy
|
|
129
|
+
* under categories page link 'create new category'k
|
|
130
|
+
* handling of empty categories
|
|
131
|
+
- empty category main page (default page)
|
|
132
|
+
|
|
133
|
+
* move most of Categories page formatting outside the class
|
|
134
|
+
|
|
135
|
+
* in creation full category path should be given ? partial category ref
|
|
136
|
+
|
|
137
|
+
* define css page name in config
|
|
138
|
+
|
|
139
|
+
* users
|
|
140
|
+
- access rights checked for categories
|
|
141
|
+
|
|
142
|
+
* aliases for links (global) (like in EclipseWiki, WikiSpace style links) or (just short cut for [Main] for example, or tags for persons)
|
|
143
|
+
|
|
144
|
+
* add XML validator to page creation (optional) but eases development
|
|
145
|
+
* including UMLet and other drawing applets to pages
|
|
146
|
+
* textual input (what to draw), but applet shows that
|
|
147
|
+
* other option is that app generates dynamically gif/jpg to show
|
|
148
|
+
|
|
149
|
+
* pre tag with start and end point (spaces issue). There could small link where to load data directly
|
|
150
|
+
* raw data flag
|
|
151
|
+
* modifiable data flag
|
|
152
|
+
* Ribit Admin API: way to force data reload
|
|
153
|
+
|
|
154
|
+
* BUG?: extra ---- on bottom of page
|
|
155
|
+
* BUG: if creating new page and then going 'back' and trying to create again.
|
|
156
|
+
=> this could be a feature but better think through how 'Back'-button is handled
|
|
157
|
+
|
|
158
|
+
* ri to work with standard lib plus own
|
|
159
|
+
|
|
160
|
+
* option: use CDATA or escaping
|
|
161
|
+
* putting debugging data to page comments: request data. Option to config file
|
|
162
|
+
|
|
163
|
+
* timestamp 'modified' to pages
|
|
164
|
+
* windows port
|
|
165
|
+
- uid/gid changing stuff to linux only feature
|
|
166
|
+
|
|
167
|
+
* generic error page (basic xhtml)
|
|
168
|
+
* error page should be also XHTML! How to change it from REXML ? Make error page servlet specific
|
|
169
|
+
* authorization, basic, does Webrick support ?
|
|
170
|
+
* Webrick, implement possibility to have some kind of statistics
|
|
171
|
+
* support for WAP
|
|
172
|
+
* new template + converter ? other options would be convert from XHTML to WML ...
|
|
173
|
+
* can we notice client type from somewhere ? => test servlet to see all HTTP-parameters
|
|
174
|
+
|
|
175
|
+
* way to run one specific test (rake?)
|
|
176
|
+
* debugging test runs
|
|
177
|
+
* forward to tclhttpd / freeport in laajakaista
|
|
178
|
+
|
|
179
|
+
* taulukkolaskenta ominaisuuksia taulukoihin (esim summa ja keskiarvo)
|
|
180
|
+
|
|
181
|
+
* howto to dynamically reload code
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
QUESTIONS:
|
|
185
|
+
|
|
186
|
+
* how CDATA end ]]> is escaped or is it ?
|
|
187
|
+
* how to get rexml use " instead of '
|
|
188
|
+
* what is 'em' in stylesheets ?
|
|
189
|
+
* how to say 'wrap on' for text areas by using stylesheets ?
|
|
190
|
+
|
|
191
|
+
OTHERS:
|
|
192
|
+
|
|
193
|
+
- RubyEclipse
|
|
194
|
+
* TODO task tag
|
|
195
|
+
* point from stack trace
|
|
196
|
+
* the current dir
|
|
197
|
+
* CVS integration, showing other files too (filter?)
|
|
198
|
+
* bug: saving launcher properties doesn't save if I don't select some other profile
|
|
199
|
+
* debugging
|
|
200
|
+
* integrate ri
|
|
201
|
+
* integrate profiling
|
|
202
|
+
* outline: clicking => move to the method
|
|
203
|
+
* using whitespace
|
|
204
|
+
* creating new files in Ruby perspective
|
|
205
|
+
* better parsing error catching (possible?)s
|
|
206
|
+
* way to run rake from Eclipse
|
|
207
|
+
|
data/doc/devdiary.txt
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
13th of June, 2005
|
|
2
|
+
|
|
3
|
+
It seems performance improvements were enough. Now Ribit works reasonably fast
|
|
4
|
+
on my old 200MHz Pentium. The current version is not polished (bugs found)
|
|
5
|
+
but usable. There was several improvements:
|
|
6
|
+
|
|
7
|
+
1) processing template made too many loops
|
|
8
|
+
2) dataload happened for every view action => needed only after saving
|
|
9
|
+
3) created page cache that stores generated pages
|
|
10
|
+
4) Ribit works with Last-Modified and If-Modified-Since HTTP headers
|
|
11
|
+
|
|
12
|
+
When all above were implemented I realized that perhaps 3) wasn't necessary
|
|
13
|
+
because 4) was implemented. Ribit is not targeted for masses. However
|
|
14
|
+
implementation of 3) resulted to easy implementation of 3).
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
3rd of June, 2005
|
|
18
|
+
|
|
19
|
+
Few days ago Ribit 0.2 was finished. Unfortunately it revelead to be too slow
|
|
20
|
+
running with Pentium 200MHz. Yes, it can be used but response time is something
|
|
21
|
+
like 10s. Next task is to improve performance. One bug was also found from
|
|
22
|
+
category creation (fixed when writing this).
|
|
23
|
+
|
|
24
|
+
Installation of new version happens pretty easily. I'm running gem_server on my
|
|
25
|
+
dev machine when needed and then just updating Ribit gem from other machine.
|
|
26
|
+
I had to modify /usr/lib/ruby/gems/1.8/gems/sources-0.0.1/lib/sources.rb to add
|
|
27
|
+
a new gem server server.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
27th of May, 2005
|
|
31
|
+
|
|
32
|
+
Almost finished. Still one ribit-setup bug and then everything seems to be ready
|
|
33
|
+
for 0.2. I have high hopes.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
14th of May, 2005
|
|
37
|
+
|
|
38
|
+
During last week I have spent quite many hours with Ribit and now it is almost
|
|
39
|
+
ready. All planned basic funtionality works (incr2) just little fine tuning
|
|
40
|
+
left. I still plan to make a 'crunch' so that I finally get Ribit to full usage.
|
|
41
|
+
|
|
42
|
+
Between those hours I have many times thought why I'm doing this. I can't name
|
|
43
|
+
one biggest reason, but several ones thought
|
|
44
|
+
|
|
45
|
+
- amphitition; I'd like to finish this because I have started it
|
|
46
|
+
- there is a real need for this (althought they could be open source
|
|
47
|
+
alternatives
|
|
48
|
+
- I have big plans not included to this increment
|
|
49
|
+
- distributed Ribit
|
|
50
|
+
- mobile Ribit
|
|
51
|
+
- I want to learn Ruby. I already like Ruby and I smell future promise there.
|
|
52
|
+
- I want to keep my skill up to date, learn new things
|
|
53
|
+
- I like coding and lately I haven't had opportunities to code at work
|
|
54
|
+
|
|
55
|
+
After I finish incr2 and have taken to Ruby into use I'll release it, ie. put
|
|
56
|
+
to rubyforge or something.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
18th of March, 2005
|
|
60
|
+
|
|
61
|
+
It has been long time when I last time developed Ribit. But I think now when
|
|
62
|
+
spring emerges I'll continue. I hope to get working version installed to my
|
|
63
|
+
closet server. Now I updated and tested installation scripts and instructions
|
|
64
|
+
and managed to get server running easily.
|
|
65
|
+
|
|
66
|
+
There was a new version of RubyEclipse, 0.5.0. It seams it is a big improvement.
|
|
67
|
+
Now I can run my unit tests from Eclipse similar way as Java tests. It required
|
|
68
|
+
little trick. RubyEclipse didn't support my project structure, the code under
|
|
69
|
+
'lib' and tests under 'test'. For Test::Unit I couldn't defined ruby parameters
|
|
70
|
+
(-I lib:test) as for normal Ruby application. The solution was to create
|
|
71
|
+
a wrapper script that combines -I parameter and others defined from command
|
|
72
|
+
line.
|
|
73
|
+
|
|
74
|
+
I also had to rewrite alltests.rb because RubyEclipse didn't support the sort
|
|
75
|
+
way where test files are just 'required'. I had to code a TestSuite.
|
|
76
|
+
|
|
77
|
+
I noticed also that some tests have quite ugly depencies to test data files on
|
|
78
|
+
the disk. Those files were not initially in CVS but now there are.
|
|
79
|
+
|
|
80
|
+
The latest Log4r and RubyEclipse wasn't exactly compatible. Log4r complained
|
|
81
|
+
that its deprecated attribute was used. Situation was fixed by editing
|
|
82
|
+
RemoteTestRunner.rb from RubyEclipse.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
15th of October, 2004
|
|
86
|
+
|
|
87
|
+
I haven't been working with Ribit for awhile, but still thinking required
|
|
88
|
+
features. Using categories make me still wondering is the right way.
|
|
89
|
+
|
|
90
|
+
I have used Confluence
|
|
91
|
+
(http://www.atlassian.com/software/confluence/default.jsp) and it contains
|
|
92
|
+
Space feature and then pages can have hierarchical tree structure and those
|
|
93
|
+
seem to work pretty well. Ribit doesn't have relationships between pages
|
|
94
|
+
and I wonder do I need. In contradictory categories have relationships but
|
|
95
|
+
Spaces in Confluence don't. Having hierarchical page structure page
|
|
96
|
+
navigation little easier.
|
|
97
|
+
|
|
98
|
+
Final I came to conclusion that categories work still well. I just need
|
|
99
|
+
to define a main page for each category, so that I can build navigation
|
|
100
|
+
helper. This way if user wants hierarchical structure he can utilize
|
|
101
|
+
categories. Also in future categories would the access rights checking point.
|
|
102
|
+
|
|
103
|
+
Still not 100% satisfied, but I realize that maybe I can't get all. But I
|
|
104
|
+
have made my selection and actual user experiences tell me whether was this
|
|
105
|
+
right choice.
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
23th of September, 2004
|
|
109
|
+
|
|
110
|
+
Multilevel lists work now finally. It wasn't easy, but the current content
|
|
111
|
+
parsing architecture supported this quite well. I'm pleased that something
|
|
112
|
+
is working. The idea of intergrating TestUnit to RubyEclipse starts feel
|
|
113
|
+
right way. I need to run one tests at the time and I'd like to just click
|
|
114
|
+
stack trace produced by TestUnit to go to the code.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
17th of September, 2004
|
|
118
|
+
|
|
119
|
+
Categories working pretty well, altough you can't yet create new categories.
|
|
120
|
+
After giving few thoughts I decided to use full path reference for categories.
|
|
121
|
+
For example Ribit::Development::Test Cases. This way I don't need to repeat
|
|
122
|
+
information in category name (otherwise I would need to name Development to
|
|
123
|
+
Ribit Development to make a difference from other development projects.
|
|
124
|
+
|
|
125
|
+
Still open how to implement page link bar (links to closest pages). First I
|
|
126
|
+
thought my decision to use categories wasn't good enough compared to hierarchy
|
|
127
|
+
of pages (tree structure), but finally I got conclusion that categories
|
|
128
|
+
structure is more flexible even tough it has it negative sides (not so
|
|
129
|
+
intuitive).
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
23th of August, 2004
|
|
133
|
+
|
|
134
|
+
Just sketching the new file hierarchy. Some points:
|
|
135
|
+
|
|
136
|
+
* data is split to several files so that in writing we need to write less
|
|
137
|
+
than possible
|
|
138
|
+
* splitting to several files also makes easier to work with CVS. Later old
|
|
139
|
+
versions can be easily retrieved.
|
|
140
|
+
* category properties (category.xml) is separate from category hierarchy
|
|
141
|
+
(categories.xml) so that it easy to develop predefined content (merging
|
|
142
|
+
is easy)
|
|
143
|
+
* page id is separate from page name (that is used for referring, so that
|
|
144
|
+
name can be easily changed, but file (containing id in its name) will be
|
|
145
|
+
still the same.
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
20th of August, 2004
|
|
149
|
+
|
|
150
|
+
During this week I have managed to work out version that uses CVS to store
|
|
151
|
+
content files. This required some changes to directory structures and might
|
|
152
|
+
need some more, because I'm not yet satisfied to it. I moved reading and
|
|
153
|
+
writing of content files to new class ContentStore.
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
1st of August, 2004
|
|
157
|
+
|
|
158
|
+
Started today working towards version 0.2 where data could be split to several
|
|
159
|
+
files and somehow history of changes is recorded just be sure that data is not
|
|
160
|
+
lost. These changes are also needed so that development and actual usage can
|
|
161
|
+
proceed smoothle so that merging data files has minimum effort.
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
25th of July, 2004
|
|
165
|
+
|
|
166
|
+
Running 'gem_server' as a daemon didn't work out so easily I thought. I had to
|
|
167
|
+
study start-stop-daemon man pages to find out proper parameters and in addition
|
|
168
|
+
finding how to pass parameters I found way to set effective userid and writing
|
|
169
|
+
pid to a file. This means I could drop my modified 'gem_server'
|
|
170
|
+
|
|
171
|
+
Today I managed to fine tune rakefile and now it contains everything essential.
|
|
172
|
+
Hardest part was to include generated rdoc to packages in same run. It required
|
|
173
|
+
some tricks.
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
24th of July, 2004
|
|
177
|
+
|
|
178
|
+
I had worked to make ribit installation work using 'gem'. Perhaps because I'm
|
|
179
|
+
quite new to Ruby I had hard times to get rake properly create necessary gem files.
|
|
180
|
+
|
|
181
|
+
GEM SERVER
|
|
182
|
+
|
|
183
|
+
My goal was to create my own gem repository where I could install development time
|
|
184
|
+
versions to my own use. There wasn't really much information how to this. Using
|
|
185
|
+
'gem_server' was quite obvious but first I didn't understand how should I order
|
|
186
|
+
my files. Gem repositoy dir (passes as -d parameter for gem_server) should point
|
|
187
|
+
to directory with following structure:
|
|
188
|
+
|
|
189
|
+
<gem-repository>
|
|
190
|
+
|
|
|
191
|
+
- cache (place your *.gem files here)
|
|
192
|
+
- specifications (place your *.gemspec files here)
|
|
193
|
+
|
|
194
|
+
I wanted gem_server starts as a daemon, so I created init.d script similar to
|
|
195
|
+
ribitd. The script starts a modified 'gem_server' that writes the pid to
|
|
196
|
+
the /var/run/gemserver.pid so that the script can be used to stop the daemon too.
|
|
197
|
+
|
|
198
|
+
To make possible to install ribit from local repository I needed to add my server
|
|
199
|
+
to remote server list of 'gem'. This happened by modifying
|
|
200
|
+
/usr/lib/ruby/gems/1.8/gems/sources-0.0.1/lib/sources.rb the contain also
|
|
201
|
+
localhost:8808. The simple localhost wasn't enough I needed to specify the port too.
|
|
202
|
+
Now I could install ribit by typing 'gem install ribit'.
|
|
203
|
+
|
|
204
|
+
I also considered you make possible to install with setup.rb/install.rb but
|
|
205
|
+
because ribit already depended on 'gem' I didn't see the any point to do this.
|
|
206
|
+
|
|
207
|
+
RAKE AND GEM
|
|
208
|
+
|
|
209
|
+
Creating *.gem file with rake was easy (just followed instruction from internet)
|
|
210
|
+
but I realized that it was not enough. I needed *.gemspec to be able install ribit
|
|
211
|
+
via gem. But now by gemspec was included to rakefile. So I needed a separate
|
|
212
|
+
gemspec file that could loaded from rakefile. Yes, could almost worked but
|
|
213
|
+
there was depencies to Rake::Filelist in gemspec file, so I needed to do my own
|
|
214
|
+
file including and excluding. Maybe there exists a better way to do this all, but
|
|
215
|
+
I didn't figure out what it could be.
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
17th of July, 2004
|
|
219
|
+
|
|
220
|
+
It's been a long break since last time working with Ribit. Since last time I have
|
|
221
|
+
reinstalled my development system (now Gentoo Linux and Eclipse 3.0). At the same
|
|
222
|
+
time I reorganized directory structure to match better with general ruby application
|
|
223
|
+
layout. Now everythings works again and I'm just about to commit to CVS. I also
|
|
224
|
+
decided that I'll start using gem (http://rubygems.rubyforge.org/) because in
|
|
225
|
+
the future I'd like package Ribit as gem application. Log4r is now used via gem. Other
|
|
226
|
+
depencies like webrick and testunit are statisfied by ruby 1.8 which I also have
|
|
227
|
+
started to use.
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
3rd of June, 2004
|
|
231
|
+
|
|
232
|
+
Now I have almost finished new content parsing system that replaces HTMLConverter.
|
|
233
|
+
I'm quite pleased with the system, it is quite simple and easy add to new formatters.
|
|
234
|
+
All formatters are not so independent as I originally wanted (universal parser) but still
|
|
235
|
+
big improvement to old. Now data is is parsed to a tree and then tree elements are
|
|
236
|
+
formatted. Still some TODOs and polishing left.
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
23th of May, 2004
|
|
240
|
+
|
|
241
|
+
I had big plans to rewrite the HTMLConverter to be more flexible and universal.
|
|
242
|
+
On the paper my plam seemed good but when starting to implement the
|
|
243
|
+
complexity overhelmed me. Finally I realized that I was implement too general
|
|
244
|
+
system: tags could be anything, tags could nested, starting and ending tag
|
|
245
|
+
could be totally different, no reserved characters.
|
|
246
|
+
|
|
247
|
+
Perhaps I could have managed to get something working but most probably it
|
|
248
|
+
would been very complicate to maintain. So I falled back to old implementation
|
|
249
|
+
and found out that it could easily and clearly expanded. Not so beautiful,
|
|
250
|
+
efficient and encapsulated as I wished but some that worked.
|
|
251
|
+
|
|
252
|
+
The current HTMLConverter implementation relies on regular expression. Also
|
|
253
|
+
the order of handling elements is meaningfull. Still wondering could data be
|
|
254
|
+
parsed to a tree and them formatted ? When I have time I have to check how
|
|
255
|
+
other Wikis has solved this problem.
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|