ribit 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|