ruby-ext 0.2.16 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.git/index +0 -0
- data/.git/logs/HEAD +36 -0
- data/.git/logs/refs/heads/master +36 -0
- data/.git/logs/refs/remotes/origin/master +33 -0
- data/.git/objects/00/2395889decffa8e2f966a9db6451ff2a067e4c +2 -0
- data/.git/objects/00/783d209bd74ed88bbb205e61efa721be254b3f +0 -0
- data/.git/objects/00/e6d4f08f77d9fc0e56caeb27a249f31af0ab82 +0 -0
- data/.git/objects/01/61235e67eb14a9abb5799d9650e77e67ff0941 +0 -0
- data/.git/objects/01/6b92e94406bee1ac6cde06fc810e40568824b2 +0 -0
- data/.git/objects/01/c6f78396141742cf35ae0a956c224caecc485d +0 -0
- data/.git/objects/02/65d004380614194aaee78c2560633b592bf8a6 +0 -0
- data/.git/objects/02/88cf0d4884e142f8123f06bf4c210c58aa7cdd +0 -0
- data/.git/objects/03/674b6e06fb6d27e046b7b4eaeec4e2febf6ebb +0 -0
- data/.git/objects/03/c1321c9540ad8118be74a6d11096690f1548d0 +0 -0
- data/.git/objects/04/29a67e784d9cec94ef150df604895edb0d2018 +4 -0
- data/.git/objects/04/75ecb3debe8e5053ed55d441cdee799e8afee1 +0 -0
- data/.git/objects/05/aacf33ae50839effadf2babcfc1f4fd6d08a15 +0 -0
- data/.git/objects/06/efb0cc1682bab5eb690049fafa4eeb2f79a720 +0 -0
- data/.git/objects/08/c38295129c52a13171ee5c67152ffc3ae88779 +0 -0
- data/.git/objects/09/813024ff69db4e52ae4af7dc03c540ca80c448 +0 -0
- data/.git/objects/09/c1f25defbf97c1dc012d5ff7217da0900bb49d +0 -0
- data/.git/objects/0b/5519c74c16e3cbdbbebc30331399f3e2fc36e6 +0 -0
- data/.git/objects/0b/dcfeab6c8984d8e515cf9791143356f85d5aed +0 -0
- data/.git/objects/0c/4b7a2d4a0bec764483c81cc8f399f7eacddbd5 +0 -0
- data/.git/objects/0c/d5795c41ba574247b9a05816e50b4d01fd0305 +0 -0
- data/.git/objects/0d/af478beef086240a99ba1122c38ee9b170a10d +2 -0
- data/.git/objects/0d/bc72100165f3fbf8d88f846ed0e703a2a2a9cd +0 -0
- data/.git/objects/0e/296af571e4b971c56965d2be4cd563db794100 +0 -0
- data/.git/objects/0f/1fd03c9c66b0e2f58202521c1f8d2bb7c53dff +0 -0
- data/.git/objects/10/c8ec3898e9083187ccba174895068019b4f040 +2 -0
- data/.git/objects/11/0a11503cfc9ed68f9d2f38568557292c932270 +0 -0
- data/.git/objects/11/b38272b070023b03dd0696972d34393ba74536 +0 -0
- data/.git/objects/11/ff8a1e9de6105099627111e67a98bfeb208193 +0 -0
- data/.git/objects/13/1ff84e0d05d761ca379285ea7a1744590da1c1 +2 -0
- data/.git/objects/13/20a0b7bb07b70f3e91471b9720bdd5bcc8c472 +0 -0
- data/.git/objects/13/29c391135e092a94b368ca45fff11e85c39e96 +0 -0
- data/.git/objects/13/b1eb398251029d27a8eb8d402ee7e66875837c +0 -0
- data/.git/objects/13/d19faa3555469f790ef0e2a21c539f62cac04b +0 -0
- data/.git/objects/14/71a79b1cc8fdc9f952723341b00b112918da00 +0 -0
- data/.git/objects/15/31b175045c5c6ac72d0cf12601ea8ecf5ade18 +0 -0
- data/.git/objects/15/4906607b72c66c2702e6e63c45e0dcb320c275 +0 -0
- data/.git/objects/15/6f06ce1407f4adaabfb82554aaf2b6018afd50 +0 -0
- data/.git/objects/16/02b1e190c92777f724dd05b1cb9037ac87d5f8 +0 -0
- data/.git/objects/16/128d763653b006473637b027696d77355872a7 +0 -0
- data/.git/objects/16/bb5d24f5fd69a6ed0ceba5c0528152b28d94a8 +0 -0
- data/.git/objects/18/24d479dd5d75665a0e8035c7a47e87654c6a08 +0 -0
- data/.git/objects/18/59e8bb8adc0a1cf0d1735d63a0379d18b93835 +3 -0
- data/.git/objects/19/21e3d8b05e3a56117cbf85891f567492e92b39 +0 -0
- data/.git/objects/19/951524d55fb896cfc6f44f172033ea19d5aa08 +0 -0
- data/.git/objects/19/d2fdc76396cb8661785999ab1ee732d9558c5d +0 -0
- data/.git/objects/1a/0c05f9a424f7d10071399b511fe6aa101febbc +0 -0
- data/.git/objects/1a/68ed1743d2edd34630f022cccf6afd9fc34af1 +0 -0
- data/.git/objects/1a/d7e4f94f9fee3195472491ea40c3fb7dfe16c5 +0 -0
- data/.git/objects/1b/ca46c925970a70b46dbddc6041fca2482ef823 +0 -0
- data/.git/objects/1c/965138c39db8428557f7391ecfe0fca63502f1 +0 -0
- data/.git/objects/1c/fdf496e64ac7ab688c6c8fe9830d02bf5b3f5f +0 -0
- data/.git/objects/1d/cf384e74e185fa2b829203355e5282917b5f98 +0 -0
- data/.git/objects/1d/eefbc4a9e2de8f572f026089904ce1e2c91491 +2 -0
- data/.git/objects/20/5cc137dfb0d30965876f195293976957f79d65 +0 -0
- data/.git/objects/20/aec72f1b46da2322a6f6c77ae20be88d48e3c7 +4 -0
- data/.git/objects/22/004bda6693173daf8eea9224ae8b9cf76d7e97 +0 -0
- data/.git/objects/22/46e31e797496649b8799b3f1314af642f0122b +0 -0
- data/.git/objects/22/608165b9efee46360f68989e79e9857e883834 +0 -0
- data/.git/objects/22/ada36413c466ed845d411cc4e7c0cfdb5f18b1 +0 -0
- data/.git/objects/22/b92c4acb45df858694a9ab184a0ccf544f28cb +0 -0
- data/.git/objects/22/e64ac60d9587c20706a6e154a4d7b89fb568bf +0 -0
- data/.git/objects/23/885f54b5a082bc24ec62c4b9599fac0b0f179c +2 -0
- data/.git/objects/24/08e2735e2a4756aee56584f88ef4f383d214a7 +0 -0
- data/.git/objects/24/c0f7b637927b05bfb06ac13e221f59d4bafa9c +0 -0
- data/.git/objects/24/d431eba3f275f890bb257498392d0b0649a359 +0 -0
- data/.git/objects/25/5d96e353b85d55c41175394e4f99a3eff070ae +0 -0
- data/.git/objects/26/480787c05f71fe4544fead943e5648cb18d28e +0 -0
- data/.git/objects/26/c4c565f15f40a27250c582eee874799845f6c0 +0 -0
- data/.git/objects/27/46f3d9c904c3fa058729c3367ca14d2c259f9a +0 -0
- data/.git/objects/27/b2e628b4d1d3f987fefc1b3ba16fcf643f03dd +0 -0
- data/.git/objects/27/e56ec8917bb87069501f71537902abe42e994f +3 -0
- data/.git/objects/28/5f925dab06d7097ef7954b97a42e676d48ef96 +0 -0
- data/.git/objects/29/6c2091e4216ea4a0224eac65b0604e8f23d402 +0 -0
- data/.git/objects/29/83ca4cb4b3229723573079c9a7cc9a7e447896 +0 -0
- data/.git/objects/2a/1185a3d833a8876061db02236779cdbebc29aa +0 -0
- data/.git/objects/2a/2e599c60b30e2d46c17ae38a53441031d64690 +0 -0
- data/.git/objects/2a/5d31a3363268dd26fcb8357504bbada90212a4 +0 -0
- data/.git/objects/2a/d8aca540b6ffefffda29d9a13327b126914351 +0 -0
- data/.git/objects/2b/503e9e8690b5bc4364e51f8e81759cbdc84def +0 -0
- data/.git/objects/2b/d08f6aabd811cab4aedb878193b787a72757b8 +0 -0
- data/.git/objects/2c/ec937c20d2ad8b71090cbed7a4032dc837780b +0 -0
- data/.git/objects/2f/6ddc78c51e75dbbd6b2f34df530c3c7c026dc7 +0 -0
- data/.git/objects/2f/d2e4defd7e79c0c934d699cd90172a23b8fc07 +0 -0
- data/.git/objects/2f/f274ad8f36d75193f0537e0483da474fce4866 +0 -0
- data/.git/objects/2f/f972ca2ff463e86495eaafa63e77fe5a7a16a2 +0 -0
- data/.git/objects/30/df06dbb17d66f4f8c13b1c9646b41b279b1376 +0 -0
- data/.git/objects/31/6a0e7fbf1b6f23512cfc577940bdaa2e6fdeb6 +0 -0
- data/.git/objects/31/89bac6be07ebe9728a9c6e62c55a5f98965226 +0 -0
- data/.git/objects/32/647582700acc284c165f2a113736b28a77ff72 +0 -0
- data/.git/objects/33/04252c226db20d326993fdd121dd03402d4906 +0 -0
- data/.git/objects/34/98fd0067b73453b31c9164524487209dc0e1e6 +1 -0
- data/.git/objects/34/dafbffc72f89b92b509449e48da5ab4310ff2f +1 -0
- data/.git/objects/35/626d6c352f1a5e9f6749a4c5a4ce60aed28600 +0 -0
- data/.git/objects/36/177800b67cf9bb915bc4f4ba9a4b4fd92056cc +1 -0
- data/.git/objects/36/53e0d6b1aae1f02af2c2d698b4315c891e2f68 +1 -0
- data/.git/objects/36/9ed7f4472a7a569d09988186956afd7c88c1f8 +0 -0
- data/.git/objects/36/e54fc97e224630e5f4f3258178a909ff617080 +0 -0
- data/.git/objects/36/f4057662f0795571de97ae8377a48c596851f1 +0 -0
- data/.git/objects/37/6e70083ab152345d4ae538d69242966c0994c4 +0 -0
- data/.git/objects/37/7095c206380fcf736ab4ae96199745057285af +0 -0
- data/.git/objects/37/cd592dbceb2694501839c6065524cee16bd2ab +0 -0
- data/.git/objects/37/eb4b9671aa4e45483810ba55f3fba92c606618 +0 -0
- data/.git/objects/38/299bbcc74f3594f672580bcbe66002e1d58e4c +2 -0
- data/.git/objects/38/abd4bf7e081a659a4e783ad2e0c4a72762fc88 +0 -0
- data/.git/objects/39/443dda6227c5fd0f08fadb4e9bee475a5aca7d +0 -0
- data/.git/objects/39/8020887b76f9dd0789bb032c32703833e691fb +0 -0
- data/.git/objects/3a/174d1fefdf90c51ff7eb36834d6a46f2592fa2 +3 -0
- data/.git/objects/3a/ea0ed9dad193bcb93b37f2a6f02c92e61b17f9 +2 -0
- data/.git/objects/3d/3a9be3f69fb8c1b7aef4437bfc47f347fe9f6b +0 -0
- data/.git/objects/3d/8fa720fbf5eddd135fab612536279a64f0ac48 +0 -0
- data/.git/objects/3d/954e208978d7996b6f622c1842bd1e47a466e6 +0 -0
- data/.git/objects/3e/19b85d49127c7b91cdb61a507aa7f7c0cf4dc7 +0 -0
- data/.git/objects/3e/2b9ddb78ac842398b8bb092cd6305dba185d01 +0 -0
- data/.git/objects/3f/66c1d1ca300014ab42aa9489fe9d2ff7cbf8fb +0 -0
- data/.git/objects/3f/703e030267e729f2f9c3cb7ec2b008b4e9c4b5 +3 -0
- data/.git/objects/3f/d056af3e4d56ac85ead91443b3ecfcd6b2fa0c +2 -0
- data/.git/objects/3f/da21367599e5caba4a6cba57c1b2f85b1251ed +0 -0
- data/.git/objects/40/0d127d8143efa8a0d156124c558d342091b916 +2 -0
- data/.git/objects/40/6e1e346c8569903d82c348073e48c3aea0a932 +0 -0
- data/.git/objects/40/f8edcdabeec285ae413f69d3cf0649df9eaf38 +0 -0
- data/.git/objects/41/6e7fd23311bfbd610d18ae235b69deade7a27d +0 -0
- data/.git/objects/41/79f8469ad3d07ad097da200f6a3e05f465afd7 +0 -0
- data/.git/objects/41/9ff8f692c7a107cc73d25f2e19e5fad977a4a4 +0 -0
- data/.git/objects/41/f8e0203895e7cfd746291e57e9e7a943711761 +0 -0
- data/.git/objects/42/26317b0bb7af4768e6c088e7a5a2c286b5dcc7 +0 -0
- data/.git/objects/42/6a4fbc3e4a4e757777dbe89e7db29f67f43343 +0 -0
- data/.git/objects/42/7ccb78c37e2b50cea65c879047198dcdd6689b +0 -0
- data/.git/objects/42/932de361fb9939ac4292c321a8d9b9a7142cd3 +0 -0
- data/.git/objects/43/e7a15a14091001b28e2565617da2c2cd22c772 +0 -0
- data/.git/objects/44/715cc276e6bb8f1e7a5064bc318d603d0f5197 +0 -0
- data/.git/objects/47/eab9c539b21df5ef90ee7b2b55905cf66206fb +3 -0
- data/.git/objects/48/d4c36611a846694e2b317482d5cd25bea72879 +0 -0
- data/.git/objects/49/81d483e72c44d35bbafdc01ca21226b8cfba6b +0 -0
- data/.git/objects/4a/1d9c3e8260c032446bd9a057e1696f1b9a132d +0 -0
- data/.git/objects/4b/14e21e771891a7224ec81237f0f9ab53f8037e +0 -0
- data/.git/objects/4b/5f03ae737b4ddccee88e19fe01f778192b3278 +0 -0
- data/.git/objects/4b/b2eb5b0c2b60af9d14397ed5109dcdf420340e +0 -0
- data/.git/objects/4c/4af52f665eefb1d25654a371f7e6d6f4dbafb3 +0 -0
- data/.git/objects/4c/7d74b030d3650dff3d92cd5bfeaed8012f9062 +0 -0
- data/.git/objects/4c/f44376dde3b2019a85599531be21c7733943ca +0 -0
- data/.git/objects/4d/7e667fda6963209113f84594e404354cc582e8 +0 -0
- data/.git/objects/4d/9704955df155e2bfd5ac13017b1a3b01ccd6d3 +0 -0
- data/.git/objects/4d/a90d051a87ade6d172109cebba451ef76b90f0 +0 -0
- data/.git/objects/4e/21425b0845de1de7bd9f7e4ffd22fe28251898 +0 -0
- data/.git/objects/4f/99473eac64408d4d6709502ba8039304214d6c +0 -0
- data/.git/objects/4f/a066bf0a5599a8c04fbc240585a4e9716b9b5a +0 -0
- data/.git/objects/50/4efb663b698b26f3f044f4104d765c67133b15 +0 -0
- data/.git/objects/50/9ed21cbf85f55529619386471bba93e33da0bb +0 -0
- data/.git/objects/50/b6f2b0538eb1f31cc7aa3b29c195ba240e4637 +0 -0
- data/.git/objects/50/e4e4d6346229f05230a0e45599592a0787e714 +0 -0
- data/.git/objects/51/74e5d98750d1e3d7a4f8975740f195a3e2a27e +0 -0
- data/.git/objects/51/cdd46a3cc31fd350d00e6308dc45170fc791cb +0 -0
- data/.git/objects/52/60eb6439791d94f701893589dea79d4b50ccb7 +0 -0
- data/.git/objects/52/77d84ef7a006d1b4010d5af312fd60a2b6b602 +0 -0
- data/.git/objects/53/266f4e50d068848d24bb34440be7f6743b5c4b +0 -0
- data/.git/objects/53/431e1487c092e9a3ce9fca540279fa066470c8 +0 -0
- data/.git/objects/53/e9aa232e38e27dc1abd0359d81bd987184dcb3 +0 -0
- data/.git/objects/53/f93583e2d0aacf6851202f3134b78558178fd2 +0 -0
- data/.git/objects/54/5e89999b8afe2212bc1e7c19474ef4c7c43f59 +0 -0
- data/.git/objects/55/e3bc6fa8cc93f73c18d5d1e9e6fd618ef3ac76 +0 -0
- data/.git/objects/56/5ccaaab0b368dde5c76d1bafe626dc1e59070f +0 -0
- data/.git/objects/57/376202dbbcdd513e0db5588a577a6aee50a9fc +0 -0
- data/.git/objects/57/a44ff03d32887503db58f17f7741346713b3e2 +0 -0
- data/.git/objects/57/e7d31d34637a1d876ed5276a658e5a23716f30 +0 -0
- data/.git/objects/58/0f333667fb854facba0d4f239fca57f9d9f653 +0 -0
- data/.git/objects/59/39e265e8a76bda368fa4164eb9e7a552789cf2 +2 -0
- data/.git/objects/59/8b67f4d802b2efe9a92362ee37cf144d1d9faf +0 -0
- data/.git/objects/5b/07e74a5e0c6da543b53be0d3b05516ce3941fd +0 -0
- data/.git/objects/5b/18a3b14623f9440cf82c7efe1b5cde6af597d7 +0 -0
- data/.git/objects/5c/ebd3382a5f7f19a0659cb39dbcea9ad88ba1c2 +0 -0
- data/.git/objects/5d/4ae7c60a4cc1d3e2a6d282f235a1e9096f0bfe +0 -0
- data/.git/objects/5d/64bbca2c6c2e2aff30527ec4674061fa53fde0 +0 -0
- data/.git/objects/5d/d46ad92a7f9d81da7435bc5c83aec86c1be948 +0 -0
- data/.git/objects/5d/e88423ea237716e86b9bd27db09a569b0fc20f +0 -0
- data/.git/objects/5d/e8f2a6d724595ebbc29008a2edb6cce473918d +0 -0
- data/.git/objects/5e/62a3357c8e74a7904d7e706efb6b8fe63357a7 +0 -0
- data/.git/objects/60/cdc9a04b2b9e08289f23796ce482d798e2db92 +0 -0
- data/.git/objects/61/3424f453546d8a1f8fc2b0be1c4c95ff53ecb7 +0 -0
- data/.git/objects/63/00ee0a2a016d6b0794048aff55d3433be039c4 +0 -0
- data/.git/objects/63/6e394aa325e47db0eed342bf2e12aa399c3098 +2 -0
- data/.git/objects/63/ebf3d1a2749e3f057a1072f06eaa930bf5ad75 +0 -0
- data/.git/objects/64/5b3c75e715ddbb661f801c06b3adabf6a3e066 +0 -0
- data/.git/objects/64/dfc70de62efd6ea7541be7b5a36bacb1198fa0 +0 -0
- data/.git/objects/65/a0fb1b9e455b2b2cba0e8731de87280ac8aa22 +3 -0
- data/.git/objects/65/ba9692cf1899a03942d1b02d5c93e33821974d +0 -0
- data/.git/objects/66/b7e33bcc5622621035bff8a82bc171d664982f +0 -0
- data/.git/objects/67/00a716ad87fe78ead9713be45f5e0b1266cc21 +0 -0
- data/.git/objects/67/ce97268fbb33b735f807dde1a8efd1501c030e +3 -0
- data/.git/objects/67/df417008b64d7d72b6163ba474761aa6a17380 +0 -0
- data/.git/objects/69/2dccf75e84c9794b9797aaccd6320c6ea0ba37 +0 -0
- data/.git/objects/69/7d992ebcebbc881951b38eb500672675c5e7f8 +0 -0
- data/.git/objects/6a/a0dc813d71bb8347c94db948bf2aabd2c1f790 +0 -0
- data/.git/objects/6b/295f9cd0ff1efdd429d871c64209a5544cec7c +0 -0
- data/.git/objects/6b/86b6c9798979d6226bcaed7e873ac1afaad209 +0 -0
- data/.git/objects/6c/170abbcd3a502a378baf97bda2fa1e707c020d +0 -0
- data/.git/objects/6c/92bc7f0be37bc7f4a566ac14ee870a82a409d9 +0 -0
- data/.git/objects/6c/99771605f20f2378447e65628b05a84756545c +0 -0
- data/.git/objects/6c/a688550c1244cd6948f4a1c40deaa3b86cacd5 +0 -0
- data/.git/objects/6e/3f8cb98de3f9d1512044a7daa76f7d19e84f57 +0 -0
- data/.git/objects/6f/21816af73d7f191bc6eb9717410fe617e7bcfa +0 -0
- data/.git/objects/6f/407981eb856f527e3caeda4809ac7afc7e830f +0 -0
- data/.git/objects/6f/60f0227a959183eed086ad16d79046084a9776 +2 -0
- data/.git/objects/6f/e0bb96c78fd55fb4f3b358b42c667e153d10f6 +0 -0
- data/.git/objects/6f/e7881e6f0825bcb1f1d6de177800a2ef5b9b51 +0 -0
- data/.git/objects/70/c7e15fa85f591d6d8889b0f2b2844b95053ad1 +0 -0
- data/.git/objects/70/f2390dc75f65e3cf9362ab3010a9325b29d5d8 +0 -0
- data/.git/objects/71/11f95beb0111cec9893e69671dccae58edf2bc +0 -0
- data/.git/objects/71/3459b19870171e76cbc28d03fa18581c85325a +0 -0
- data/.git/objects/71/3e733cc5591ada03111aed97f6fc14e1932710 +0 -0
- data/.git/objects/71/4b0bd487c6ca2b251788e7534c5819bbc33412 +0 -0
- data/.git/objects/73/8c6a50e47be1e016fb14e2bb52d86c898e83a6 +1 -0
- data/.git/objects/75/320c6ecfa5be14e781e1b6ad2cd7d11b01c478 +0 -0
- data/.git/objects/75/90312a8b03581357866e73fa1054e056fb5462 +0 -0
- data/.git/objects/76/17d2a15c06e8fbf937cb47808ee5ceac6b5b2d +0 -0
- data/.git/objects/76/e7244dc60d80236145f7812c55f5d39cde3e7f +0 -0
- data/.git/objects/76/f7c6537295f713e4329fc66a2a63ce6e6ef72f +0 -0
- data/.git/objects/77/8e5e76c4ec22c489f12397d3b6ccde3349e07e +0 -0
- data/.git/objects/78/53a4c9e6ad7bd44cdd3fb1a6ed8cd2573adc9e +0 -0
- data/.git/objects/78/78c54fbccbe5c0e50e7a36ee6fa312193a024a +0 -0
- data/.git/objects/78/7be253e082c7109e7a8c808cd41fba1b3bf5a1 +0 -0
- data/.git/objects/78/97c1eeca4d2195c88c7c84ce96d3da7d13e562 +0 -0
- data/.git/objects/78/a8376298347629997530845ee1833f0fa5e6f4 +2 -0
- data/.git/objects/79/305ea902691c2cbf364486e4127f14846cebc9 +0 -0
- data/.git/objects/79/5e70e003f8503fb7a9c44f1c238288e1e4c3a7 +0 -0
- data/.git/objects/79/aae79039ff078fd48577bfca8fe531a8cad34a +0 -0
- data/.git/objects/7a/1d4924a53eec1daf12f305e689a71362a2752e +0 -0
- data/.git/objects/7b/0f7e086863f46eb752bd84e3c65b2fdd450e69 +0 -0
- data/.git/objects/7b/3ece1f51ecab91d56ebc756ca8a12683be4c28 +0 -0
- data/.git/objects/7b/8a8a6d109dc02f0157c8b057197084c1e31ae3 +2 -0
- data/.git/objects/7b/a8ad9999a890a0717d80d29151ca0ea6b7d911 +0 -0
- data/.git/objects/7b/ffce55d6b304f39415478d5964f7690b155094 +0 -0
- data/.git/objects/7c/1c5c24874f7408d7fc8e6487ae2ca8f8c4dc46 +0 -0
- data/.git/objects/7c/d89e5386c46610a9874e4c91ad564df3d30d22 +0 -0
- data/.git/objects/7e/1bb64631912de70ca18a342bd366a0761f7027 +3 -0
- data/.git/objects/7e/69f5cdac8d896357c005cf50f7fef9365ac5b7 +0 -0
- data/.git/objects/7e/9ed5afec22056a1d62b2ac620fc568726654dd +0 -0
- data/.git/objects/80/a1777bd32df0d8168596e67764bea543e364b6 +0 -0
- data/.git/objects/81/6b4d885daad51e09fe28f6fd15641a9f59a69a +0 -0
- data/.git/objects/83/126f3a04822d71b0b0e73654da341545ae9bce +0 -0
- data/.git/objects/83/4e09ad5a2489d3f0a3e87dbbd3597a1edffd5b +0 -0
- data/.git/objects/84/49fd043cf7a34eeb2c7f32a704143d48352b3a +0 -0
- data/.git/objects/84/70d095caf8bfac04f3e55c68cc894ec400aa7c +1 -0
- data/.git/objects/85/c92dd2c409f8f9c122e210c61382abdff455fb +0 -0
- data/.git/objects/86/9f87619de0aa96c1e07d6f78e0ee813158d0b6 +0 -0
- data/.git/objects/87/635d93bcdbafec9c80137643eb532cf983d6cb +0 -0
- data/.git/objects/88/1e5e54da73d7732f40ec61bcbcc40dfdfa6a32 +0 -0
- data/.git/objects/88/323db633ec2dcb8c8aa69e7b057811c518aa2e +0 -0
- data/.git/objects/88/777e3e8f9b98245b6ac25b35867968fa35de9b +0 -0
- data/.git/objects/89/2b4e8c0e692c60352e42e58c561f9260cf64f3 +0 -0
- data/.git/objects/8a/0cb85400031c1ca6586278360277b0eedd9b17 +4 -0
- data/.git/objects/8a/3ad66a857a353ec8731e137a7e8d084e311342 +0 -0
- data/.git/objects/8a/785b8373e204bddcb5b81dbef9e51bc03c50c8 +0 -0
- data/.git/objects/8a/c1a112440be65dbf997d0a4672256a22de26a4 +0 -0
- data/.git/objects/8b/04c172bd5eb0dc99e90171cc198f66d001c036 +3 -0
- data/.git/objects/8b/5d65b4902079ad03086e9df352e09e02811ba1 +0 -0
- data/.git/objects/8b/863d5cf4d837ea12203c7acce48e53722a8a98 +0 -0
- data/.git/objects/8b/d24176c9898f97a9fdcc5dff5d2247e1a84ec9 +0 -0
- data/.git/objects/8c/1b8b280ab3f2a7d75df63cf9c427328824960e +0 -0
- data/.git/objects/8c/828a466da87606833098e4e25cd15bffda090a +2 -0
- data/.git/objects/8d/6ff005fd51f6b3fd01378fb2c5b7648d1c216a +0 -0
- data/.git/objects/8d/79a728f42fca3b5439dccbd37cfa697d73dcec +0 -0
- data/.git/objects/8d/c03482a05fa309478eef762bb66875d215839d +4 -0
- data/.git/objects/8e/3765090e2352071d06dae581444322c5cd1c7f +0 -0
- data/.git/objects/90/359907f370a92516fc2324278c19fae8ee7d10 +0 -0
- data/.git/objects/91/1236dbd46fca67a4dfe398ba57a00a0d52ba87 +0 -0
- data/.git/objects/91/c98e89dad41640efcd127dd48c4f1e7a4b8a3d +0 -0
- data/.git/objects/92/9662b659f468e6a33942bad2bd18542e23c01f +0 -0
- data/.git/objects/93/f4b074b8b8487dea84b3e99f5a21d2f8fd8184 +0 -0
- data/.git/objects/94/1b2b78eec40959dc4dd2d17daef5928d083ced +0 -0
- data/.git/objects/95/a584fd118d43b5c6ab1fc39a0586f347bee687 +0 -0
- data/.git/objects/95/cde2fb622eb202b29721023e6841c4c2399333 +0 -0
- data/.git/objects/95/fa926b7fc9fac39ddeb63b00e3d5ada24587c6 +0 -0
- data/.git/objects/96/1b951bf21ae5bed28243e0caa0622985542ead +0 -0
- data/.git/objects/97/5b2d0c76a62a72bf6dbcbc5d9697a7602290b9 +0 -0
- data/.git/objects/97/aa57c81d9d531ba527a7d0e70751dc6e8c64f6 +0 -0
- data/.git/objects/97/b957c129ad40aa10e5571a63cb0ae8b481d941 +2 -0
- data/.git/objects/98/e552050c08e3b9603bb7427359a75cea3e353f +0 -0
- data/.git/objects/99/bd3a9fa19a7fdf5fc8c44a468af2f4bc077b76 +2 -0
- data/.git/objects/9a/ac55335e524ec8863e943ae7428fbf996c3304 +0 -0
- data/.git/objects/9b/062274d3658d30d62021967bebc0c6856934e6 +0 -0
- data/.git/objects/9b/2203d14e86a098f2c2ecef381ec59faec420cb +0 -0
- data/.git/objects/9b/636f6bfa8b4e8192115f52113443cf98447c88 +0 -0
- data/.git/objects/9b/73f7f56a1a84958578739f4be3c096d5924d74 +0 -0
- data/.git/objects/9c/3099d7d6ebf96b0be74f827cb0b10e3b87b672 +2 -0
- data/.git/objects/9c/9c0ee371afd3b0eb68f7d0226b599f08bcd482 +2 -0
- data/.git/objects/9d/13d10d00768f911caa8c8ca04dffa439ecf4ea +0 -0
- data/.git/objects/9d/e7071bd41dffb92bba3f9f86a721630fdc1aa9 +0 -0
- data/.git/objects/9e/3a9aec41ae84e3c06f7e4722552a0044b465b5 +0 -0
- data/.git/objects/9e/8afbc28b44770ae370c8b862e7aa23d7c50677 +0 -0
- data/.git/objects/9e/9b707e1b45892f331aab711e41cf180946eeb7 +0 -0
- data/.git/objects/9f/3e38fa0ab2f318dccf60deff7faa1627d786ff +0 -0
- data/.git/objects/9f/68c404894f1889d63149f7208fecde6a954ca6 +0 -0
- data/.git/objects/9f/702d060f867a0e718c358dd038cf0138aaac6a +0 -0
- data/.git/objects/a0/b3b3b57939fefb926ebc47cc54ce62cbdd4090 +0 -0
- data/.git/objects/a0/df06324014b1304ac19478e99f433d7b4418aa +0 -0
- data/.git/objects/a2/43f3f2f12cc3d49ba6e8a18d6b697a65e8f126 +0 -0
- data/.git/objects/a2/62095bd0baf1e49e213fce6ec0a0de56d853e3 +0 -0
- data/.git/objects/a2/856190ff943f0775766fca13349df397fa52c6 +0 -0
- data/.git/objects/a3/7350e946973d70cf427f9f7c3d6f6aad4c55eb +0 -0
- data/.git/objects/a4/e004d28e7d33b475a9103be6882829ebd2d6a3 +4 -0
- data/.git/objects/a6/1888b288c5e7af5c53b294d483d9070c0a7d3e +0 -0
- data/.git/objects/a6/94bca7ceec06c9bb79b9829071a489e9d4ebb8 +0 -0
- data/.git/objects/a6/a2cbb1fac2eaf774002042924b0712b26ae652 +3 -0
- data/.git/objects/a7/25e954ee21dca54e9f8d9b5417b3cd99ba886c +0 -0
- data/.git/objects/a7/87d79b2e97da0f5eb758ff025baaf511781046 +0 -0
- data/.git/objects/a8/b25cad8d209156ca2db13ea5bee20a2b3a05e6 +0 -0
- data/.git/objects/a8/dc0cd466b7c34722d897f4974c110bef836980 +0 -0
- data/.git/objects/a9/211499bcaf3f4fd7e2290cac12198f642d1282 +0 -0
- data/.git/objects/aa/6f08c49793188be786702d438987bad805766d +0 -0
- data/.git/objects/ab/010a868506a2d0a69bd0aed8d065d15baa69c9 +0 -0
- data/.git/objects/ab/c39534f0c26d68e3de8c97e34122669f18a09e +0 -0
- data/.git/objects/ac/2902dd65c3d61288402922a7efde1de10dd633 +0 -0
- data/.git/objects/ac/9c7cc8840a7cd6077296f7be3d7fb52d4466b6 +0 -0
- data/.git/objects/ad/413b9cae01a468afd60b971fc3d6ae86bb9361 +0 -0
- data/.git/objects/ae/249122582a305d1794dce9d6f6a049824b5308 +0 -0
- data/.git/objects/ae/ea27d8df3a106ef0525148b580a3948fef74dd +6 -0
- data/.git/objects/af/d8cdab71ffcf621e96e6fff93fc5ca45625127 +0 -0
- data/.git/objects/b0/29e153cf5218a7255551bdca19bb79feb17ea9 +0 -0
- data/.git/objects/b0/47fd6101725533a0fabc4b7199cfb73bc5bf9a +0 -0
- data/.git/objects/b0/82d678ee011d561d198665e7359ca406773159 +0 -0
- data/.git/objects/b0/a31881666ce8acca54c8d632bb553be1d91757 +0 -0
- data/.git/objects/b1/04d93a36e9f312d7b2351e5fb94eb016156f99 +0 -0
- data/.git/objects/b1/85f51014fec1b6c70726d4307663c924355114 +0 -0
- data/.git/objects/b2/84b25c437df91c282dc4820df09c4570d723ce +0 -0
- data/.git/objects/b2/a575826207db2d4b9d94723c1c3087f867f7e4 +0 -0
- data/.git/objects/b2/b137e3ca23c380a7f60fcb7bd28fe04f9441f5 +0 -0
- data/.git/objects/b2/f4ea4f1e671744ff14ffd56bd7d292c695d696 +3 -0
- data/.git/objects/b3/1de97d5075672602cb5c9fae6e95d940aaba36 +6 -0
- data/.git/objects/b3/35c376699feacea207abd0475cdc68b48747ee +0 -0
- data/.git/objects/b3/5dfc774dcf7ec444e19c9b6cc764ea5f41900c +0 -0
- data/.git/objects/b4/79d5a9bd49b1b8c32808f941ce65debee36139 +0 -0
- data/.git/objects/b4/cfb29ab1c73413ed6a6417b66a2eaae7bdf7e0 +0 -0
- data/.git/objects/b5/9adfc4a11c54d5f4398233e53d08267fef9b80 +0 -0
- data/.git/objects/b5/9d9d3446193a9692a8cccd8f562d9cf60ecaa7 +4 -0
- data/.git/objects/b5/b4c46e35b44660b2b93b3ef0155ecb1746a082 +0 -0
- data/.git/objects/b5/c8fa5ae84d212dfc0c64785882ec4cb20d85c9 +0 -0
- data/.git/objects/b6/dcaf42f3d422c3a8a1e0b2c18608de160548a8 +0 -0
- data/.git/objects/b8/1c8fa62133022e0a834c55b5815cf9cbdb9202 +0 -0
- data/.git/objects/b8/2384758cf98411f830df689943c0fbd674e022 +5 -0
- data/.git/objects/b8/a1758c0c10af63c7323e2373ac423252b99a93 +0 -0
- data/.git/objects/b8/b8c64cb25842612e714f22a8139cd44c65c926 +0 -0
- data/.git/objects/b8/ebebbca06dcb68c14ca429874b485ddf03ee27 +0 -0
- data/.git/objects/b9/7f88a23d0f792feefba8b5fc1e4df63b6620c8 +0 -0
- data/.git/objects/b9/954e8e721374701fdb776954c2f2f93a5edbe9 +0 -0
- data/.git/objects/b9/966ce383e367fe9b12c77ba678c4bfdc76a959 +0 -0
- data/.git/objects/b9/bb5e2c33bf4a5642838c20a2e35f22c40297c6 +0 -0
- data/.git/objects/b9/e726d4140a7131cee69472f6590c137f8521af +0 -0
- data/.git/objects/ba/2b4a2bc320220004708b81fc8cccef29e03fc4 +0 -0
- data/.git/objects/bb/2aac79cb6a0eb6566c8455bd12300d27d3343d +0 -0
- data/.git/objects/bb/73bf8f42ede6e354de9a590b930338f5570fa0 +1 -0
- data/.git/objects/bb/ae9af7f60461e20dd2d7a0f108104d9f160412 +3 -0
- data/.git/objects/bc/885cb5cf50501f14126dc532e6d09ac00b2238 +0 -0
- data/.git/objects/bc/c11e8a013ffd39fa6ed6b8bc9512bb83f67df9 +0 -0
- data/.git/objects/bd/efe7403bd68a2da2f387c722ff3b9ee5328523 +0 -0
- data/.git/objects/be/ff3b42a8ca5d75e07df86e2c17d871c1e68826 +0 -0
- data/.git/objects/bf/b002912c8378aa78cb0adcf50074b32bcf5ae3 +0 -0
- data/.git/objects/c0/9c0fbc504f6df8b9640b7d4ff87346e3144845 +0 -0
- data/.git/objects/c1/a3547a81cefabc98a12b5b5a50b0feae011c69 +0 -0
- data/.git/objects/c3/4066a76f249ccaa43fbaecb1eb557480cc3378 +0 -0
- data/.git/objects/c3/74191e5a1eba2d800dbf9b2c83973c6b51d713 +0 -0
- data/.git/objects/c3/d1e150f420d1a01ce6e2bd861934eee5e94026 +0 -0
- data/.git/objects/c4/7a9879b833c21e532db1b58e95e5467e418b35 +0 -0
- data/.git/objects/c5/57132215876f38688a4c181fe40bdd246f4c1c +0 -0
- data/.git/objects/c6/4f6c806b8dbd41d3db37dbbf0f6600d8f5fae3 +3 -0
- data/.git/objects/c6/6303e15cd2d9c32bb447bf5f7b603d726dbfc7 +0 -0
- data/.git/objects/c7/483a0bb0699fd9d7cfd319c0266e581f5ce915 +0 -0
- data/.git/objects/c7/97e471479581d0fb3be317565183cbc5f1dd5d +0 -0
- data/.git/objects/c8/998112ed02a9647e3938e496febdf6605ece5e +0 -0
- data/.git/objects/c9/eaadd36cfea47bc439959d677ae21edeab142b +0 -0
- data/.git/objects/ca/6d8694fa3ed50d8cd8a38b9cf034167b44e597 +0 -0
- data/.git/objects/cb/1329c9ec4f9e51b29f236e0e9474d986bb3da7 +0 -0
- data/.git/objects/cb/7c0924f9e118b2806fab38f360b7685b465289 +1 -0
- data/.git/objects/cb/7fbb34dc56f3d07ae17391753db4f75f19a798 +0 -0
- data/.git/objects/cc/63e2856effb0a8a3c6cc9fd6839be6a7b9f3a4 +0 -0
- data/.git/objects/cc/b7df65a08df09b5b8adce9042199d751291a94 +0 -0
- data/.git/objects/cd/515200225510faaa04d81008b9f43d43bd60b3 +0 -0
- data/.git/objects/cd/5fd0305fa6131307234aea7b47fabeddf4aaf7 +0 -0
- data/.git/objects/cd/9e2a04080e436522950a71722d82550113ae1e +0 -0
- data/.git/objects/cd/e7bd86b12df36ae8cfe3dda9f608bf494e728c +0 -0
- data/.git/objects/ce/34be5fc9a6c41074cc56d402931012c398ff04 +0 -0
- data/.git/objects/ce/d6d56c23c5d7e06f538b7a4facf45c989d86b2 +3 -0
- data/.git/objects/cf/76a1188f82bb08c37abc06091fdbbebeeb9718 +0 -0
- data/.git/objects/cf/dfef5517c784da0b43b881c567cf85370f5979 +0 -0
- data/.git/objects/cf/e213d32cc616dc681957a269828aa847bf5242 +4 -0
- data/.git/objects/d0/1b3a5d03d70a2cc152642b2917f1d80d197bd4 +0 -0
- data/.git/objects/d1/5b22644cd247fd073934b6133cc2bffd9fb5b5 +0 -0
- data/.git/objects/d1/f46a55e35c123dc75764ab31de10714bd04b1a +0 -0
- data/.git/objects/d2/c114c21fae06454fde660baed5d9c671e50333 +1 -0
- data/.git/objects/d3/6003f5eefacad8e83eb14cf84f262cb77025df +0 -0
- data/.git/objects/d4/716809130d42c7bef1a68aba435efcb89c4d98 +0 -0
- data/.git/objects/d5/b9bda062c482d8822a6ea3033f762c935e029a +0 -0
- data/.git/objects/d5/ca249aafdd9154263a71e910b5c622051f3b48 +0 -0
- data/.git/objects/d5/fab06efb5db0085e6e234a51a4793f18456572 +0 -0
- data/.git/objects/d6/b59131dead2efe6abc09b6cbf862b475573002 +0 -0
- data/.git/objects/da/1616e10e98c3f674c7b0883f1dc83ccaa2409b +0 -0
- data/.git/objects/db/0518a528f909980f135e069ab7bf114172bcaa +0 -0
- data/.git/objects/db/10ee359e46839c8c50b144adb968411046ad8d +0 -0
- data/.git/objects/db/3f2e650ed4862a0d41d02c6d36cd9b7f8834db +0 -0
- data/.git/objects/dd/53408884587bf078c70a4a14938fd9f305ea5e +0 -0
- data/.git/objects/dd/cfadc42bc18f6db186bfa8a1fc836c3fbbd4e8 +0 -0
- data/.git/objects/de/9b93fbe6acfad3b84c70e2a8b5a70b05690010 +0 -0
- data/.git/objects/de/ca26d2d1028d55f91623e81de3cc3466535f7d +0 -0
- data/.git/objects/df/116edf599e20eb744bcfe2abb2e341833c69af +0 -0
- data/.git/objects/e1/92debcc9cae10cb30ee20a4aa8704f00342a3a +0 -0
- data/.git/objects/e2/544e4579913a6b3aa2dbf2d9f109995e18c96e +0 -0
- data/.git/objects/e2/aeb737ec84f4242760bc415920699dc762404c +0 -0
- data/.git/objects/e2/fe6c652adafe350def706d7cdd94a5d8716e74 +2 -0
- data/.git/objects/e3/1b4da66505b8f78677ebe06c3db70b76083b0c +0 -0
- data/.git/objects/e3/650119a24537d22bf2bc1be4b90639bd2bee64 +0 -0
- data/.git/objects/e4/75098073c2c1b0fe03ef6c5e47b7eeb500ead0 +3 -0
- data/.git/objects/e4/833c84dbd110a660a04b1d30645cb2ff1cbffa +0 -0
- data/.git/objects/e4/bc2d37489ab33d7eb424068a4913bcae58488c +0 -0
- data/.git/objects/e5/160ab2e9f179c0558cae26a8650e3a7e7d2405 +0 -0
- data/.git/objects/e5/8944a7e9eec75020add195ae9a499c730ae4a5 +0 -0
- data/.git/objects/e5/c992394b0dd46eeaa81c43541135b8edc17937 +0 -0
- data/.git/objects/e6/3de9614877cf35a7f8c274dfb421cca3cdfb40 +0 -0
- data/.git/objects/e6/aac3b5ac998c4d7e17be35880b17abcf7542b0 +0 -0
- data/.git/objects/e6/f109b20ad9e989bd2ac1707a18061b35b62979 +0 -0
- data/.git/objects/e6/f2bb505d646d0a591b0c1585963dfa35bf73d2 +0 -0
- data/.git/objects/e6/fbe17ed585b0c1b887082104881b27b15c29e3 +2 -0
- data/.git/objects/e7/10843512f110ea8d2613c56381889b6a324e39 +0 -0
- data/.git/objects/e7/c2c34b04ad1d3901a7bc86ecf265d019dab705 +0 -0
- data/.git/objects/e8/9a2307dcbbff16a025de59b3bf26788cb23d09 +3 -0
- data/.git/objects/e8/c0bc7345708838fc9393a332e989a38a968d06 +0 -0
- data/.git/objects/ea/3941bdb32e8cb84043fc7af6b3231341325e2d +0 -0
- data/.git/objects/ea/d37982817997bbb8c8e8fffb4b7e98df0cf457 +0 -0
- data/.git/objects/ea/e0da3444fa6573864bfb7e48e9f6ba125869af +0 -0
- data/.git/objects/eb/153d0314b641c49d80f6dfbaf1cdc0dc8259ce +0 -0
- data/.git/objects/eb/9313d1f8f551d37baa1a7bad6d689a2d83f6e9 +0 -0
- data/.git/objects/ed/94fadd714587bb0fe351681a34372b419d0ff9 +0 -0
- data/.git/objects/ed/cd5f42804a33f5fb22bfa43ef1c47c9440251d +0 -0
- data/.git/objects/ed/ee148af9b450bc8590c372ae1ca4424fc143b7 +0 -0
- data/.git/objects/ed/f2eda0b5c0089e6e2c8fe1bdd839e994f8594a +0 -0
- data/.git/objects/ef/62ee17df4ecb637c6f13cd54aefb924eec53dc +0 -0
- data/.git/objects/ef/e3f3d6f4109a3548bc90e15d094d3530da5730 +0 -0
- data/.git/objects/f0/90346105855825e330ac497dae8d209e4570ce +0 -0
- data/.git/objects/f0/bd94709ad1de79406a72434884f4db615fdc43 +0 -0
- data/.git/objects/f0/be10fac5f4b2aed38ccd798df8d39e69e0a11b +0 -0
- data/.git/objects/f1/0f7f014de23ae992772585aea2be73895e651e +0 -0
- data/.git/objects/f1/4ea6e4fda79975aaa557562b76d7fd19066545 +0 -0
- data/.git/objects/f1/de5765db125e7aec2efaf7bb88e8ab4c1e6c77 +0 -0
- data/.git/objects/f1/f3ed0c35c329be28b20ea049b27f521867f3f5 +0 -0
- data/.git/objects/f2/e7a1aa43e1b62a11f49bede698eadb400695fd +0 -0
- data/.git/objects/f2/eb800dc21014ab10c68de7944dabdd4ae757f6 +0 -0
- data/.git/objects/f3/4c438428d2157177a3b3ee56d74fb8fa04727b +0 -0
- data/.git/objects/f4/9bea33da8b585c3b154be37a1a34520d275ce1 +0 -0
- data/.git/objects/f4/b0e30205ce1070a1cb715688e57312a0db0dfd +0 -0
- data/.git/objects/f4/b80886a90899ff86d844fd56e3bbf925664b19 +5 -0
- data/.git/objects/f5/1d1d64a22609cdeea03d5a2029a1c8fdf33317 +0 -0
- data/.git/objects/f5/7a5c8702ddaf9365b8a464d1f2ba30ba39682f +0 -0
- data/.git/objects/f6/07258715a85337f25171ca7ccc5eda10c4f4e4 +0 -0
- data/.git/objects/f7/623557748a510a7bc20a609dc24e71292a568f +0 -0
- data/.git/objects/f7/6da87c06061278e529eeb4d102f15af684e912 +0 -0
- data/.git/objects/f8/b613e7c2c2e8a40f95a568f28ad45927ceafc3 +0 -0
- data/.git/objects/fa/d2dc0d2e9eeafbfe4885ee062a134e633c0fda +0 -0
- data/.git/objects/fb/459110cdbd4084743451394a8bf4c90791d724 +0 -0
- data/.git/objects/fb/92a236a378b1216ae18b4c35cc4b26333a81bb +0 -0
- data/.git/objects/fb/dcc9a131a7386c62d92b7fb00492108ff87223 +0 -0
- data/.git/objects/fc/2bd57e5586210bc0906acd8aa1c19c22ad540a +0 -0
- data/.git/objects/fc/46a539285ca9be06d78d006fc3a2c7d56f5af6 +0 -0
- data/.git/objects/fc/5b6d94dedb958442689e3ebd17ac4bb40f6687 +0 -0
- data/.git/objects/fc/ca0d2385304e5e3649eaf1ef23737a03ac4313 +0 -0
- data/.git/objects/fe/32d1a12b7456f9424fb35c2937256d7bdd5e35 +0 -0
- data/.git/objects/fe/c5b7f532cd2e9f8e24e396a650e54fc0e572f9 +0 -0
- data/.git/objects/ff/16e24cd63fd0cd6109d7ce8ba8dfd8d395e950 +0 -0
- data/.git/objects/ff/473ca839d45f670c8a0f066f8463502e2324f5 +0 -0
- data/.git/objects/ff/c0240ab4c1bb4960f6927119f628d9524f12f3 +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/Rakefile +26 -26
- data/lib/micon/managed.rb +60 -0
- data/lib/micon/micon.rb +147 -0
- data/lib/micon.rb +6 -0
- data/lib/ruby_ext/class.rb +2 -2
- data/lib/ruby_ext/declarative_cache.rb +71 -68
- data/lib/ruby_ext/extra_blank_slate.rb +16 -0
- data/lib/ruby_ext/file.rb +14 -25
- data/lib/ruby_ext/kernel.rb +61 -18
- data/lib/ruby_ext/module.rb +34 -8
- data/lib/ruby_ext/must.rb +149 -0
- data/lib/ruby_ext/object.rb +3 -3
- data/lib/ruby_ext/observable2.rb +23 -0
- data/lib/ruby_ext/open_constructor.rb +49 -49
- data/lib/ruby_ext/prepare_arguments.rb +6 -6
- data/lib/ruby_ext/string.rb +23 -13
- data/lib/ruby_ext/symbol.rb +5 -5
- data/lib/ruby_ext/synchronize.rb +24 -0
- data/lib/ruby_ext.rb +17 -17
- data/lib/vresource/class_loader.rb +150 -0
- data/lib/vresource/file_system_provider.rb +181 -0
- data/lib/vresource/file_system_reloader.rb +106 -0
- data/lib/vresource/module.rb +24 -0
- data/lib/vresource/resource_extensions.rb +14 -0
- data/lib/vresource/vresource.rb +153 -0
- data/lib/vresource.rb +12 -0
- data/old/README +1 -1
- data/old/declarative_cache_rem.rb +172 -0
- data/old/declarative_cache_spec_rem.rb +98 -0
- data/old/lib/RubyExt/ImportAll.rb +7 -7
- data/old/lib/RubyExt/Localization/Module.rb +5 -5
- data/old/lib/RubyExt/Localization/Object.rb +17 -17
- data/old/lib/RubyExt/Localization.rb +6 -6
- data/old/lib/RubyExt/Log.config.sample +25 -25
- data/old/lib/RubyExt/Log.rb +51 -51
- data/old/lib/RubyExt/Path.rb +89 -89
- data/old/lib/RubyExt/array.rb +22 -22
- data/old/lib/RubyExt/debug.rb +66 -66
- data/old/lib/RubyExt/false_class.rb +3 -3
- data/old/lib/RubyExt/nil_class.rb +3 -3
- data/old/lib/RubyExt/true_class.rb +3 -3
- data/old/old_concurrency_spec.rb +79 -0
- data/old/old_custom_scope_spec.rb +181 -0
- data/old/old_general_spec.rb +108 -0
- data/old/spec/RubyExt/ForKernel/Raise2.rb +3 -3
- data/old/spec/RubyExt/ForKernel/RaiseWithoutSelf.rb +7 -7
- data/old/spec/RubyExt/ForModule/NS2/A.rb +1 -1
- data/old/spec/RubyExt/ForModule/NS2/B.rb +1 -1
- data/old/spec/RubyExt/ForModule/NS2/M.rb +1 -1
- data/old/spec/array_spec.rb +21 -21
- data/old/spec/import_all_spec.rb +14 -14
- data/old/spec/localization_spec.rb +43 -43
- data/old/spec/object_spec.rb +3 -3
- data/old/spec/path_spec.rb +164 -164
- data/old/spec/state_machine_spec.rb +196 -196
- data/readme.md +102 -0
- data/spec/micon/custom_scope_spec.rb +72 -0
- data/spec/micon/managed_spec.rb +47 -0
- data/spec/micon/static_scope_spec.rb +61 -0
- data/spec/micon_spec_helper.rb +8 -0
- data/spec/ruby_ext/declarative_cache_spec.rb +115 -0
- data/spec/ruby_ext/kernel_spec/TheNamespace/ClassA.rb +7 -0
- data/spec/ruby_ext/kernel_spec/another_class.rb +5 -0
- data/spec/ruby_ext/kernel_spec/the_namespace/class_b.rb +11 -0
- data/spec/ruby_ext/kernel_spec.rb +53 -0
- data/spec/ruby_ext/module_spec.rb +128 -0
- data/spec/ruby_ext/must_spec.rb +23 -0
- data/spec/ruby_ext/observable2_spec.rb +42 -0
- data/spec/ruby_ext/open_constructor_spec.rb +36 -0
- data/spec/{prepare_arguments_spec.rb → ruby_ext/prepare_arguments_spec.rb} +2 -6
- data/spec/ruby_ext/should_spec.rb +24 -0
- data/spec/ruby_ext/synchronize_spec.rb +80 -0
- data/spec/ruby_ext_spec_helper.rb +17 -0
- data/spec/vresource/class_loader_spec.rb +101 -0
- data/spec/vresource/class_loader_spec_data/ClassA.rb +4 -0
- data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/LoadCount.rb +0 -0
- data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/ClassB.rb +0 -0
- data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/ClassInsideAnonymousClass.rb +1 -1
- data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/InfinityLoop.rb +1 -1
- data/spec/vresource/class_loader_spec_data/ModuleA/ModuleB/ClassC.rb +3 -0
- data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/SameName/SomeClass.rb +0 -0
- data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/SameName.rb +0 -0
- data/{old/spec/RubyExt/ForClassLoader/Scope → spec/vresource/class_loader_spec_data/ScopeA}/ScopeA1.rb +1 -1
- data/spec/vresource/class_loader_spec_data/ScopeA/ScopeB1.rb +5 -0
- data/spec/vresource/module_spec.rb +39 -0
- data/spec/vresource/module_spec_data/NS1/A.data +1 -0
- data/spec/vresource/module_spec_data/NS1/A.rb +1 -0
- data/spec/vresource/module_spec_data/NS1/A2.rb +1 -0
- data/spec/vresource/module_spec_data/NS1/B.rb +2 -0
- data/spec/vresource/module_spec_data/NS1/B2.rb +1 -0
- data/spec/vresource/module_spec_data/NS1.data +1 -0
- data/spec/vresource/module_spec_data/NS2/A.data +1 -0
- data/spec/vresource/module_spec_data/NS2/A.rb +3 -0
- data/spec/vresource/module_spec_data/NS2/B.rb +3 -0
- data/spec/vresource/module_spec_data/NS2/M.data +1 -0
- data/spec/vresource/module_spec_data/NS2/M.rb +3 -0
- data/spec/vresource/vresource_spec.rb +137 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ChangedClass.rb +0 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ChangedClass.res/Text.txt +0 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ChangedClass.txt +0 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceExtension.rb +0 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceTest/Test.rb +0 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceTest/Test.res/Data.txt +0 -0
- data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceTest/Test.res/txt +0 -0
- data/spec/vresource/vresource_spec_data/provider_chaining/provider_a_dir/ChainTest.rb +3 -0
- data/{old/spec/RubyExt/ForResource/ProviderChaining/ProviderABaseDir → spec/vresource/vresource_spec_data/provider_chaining/provider_a_dir}/ChainTest.resource +0 -0
- data/{old/spec/RubyExt/ForResource/ProviderChaining/ProviderABaseDir → spec/vresource/vresource_spec_data/provider_chaining/provider_a_dir}/ClassExistOnlyInProviderA.rb +1 -1
- data/spec/vresource/vresource_spec_data/provider_chaining/provider_b_dir/ChainTest.rb +3 -0
- data/{old/spec/RubyExt/ForResource/ProviderChaining/ProviderBBaseDir → spec/vresource/vresource_spec_data/provider_chaining/provider_b_dir}/ChainTest.resource +0 -0
- data/spec/vresource_spec_helper.rb +9 -0
- metadata +564 -58
- data/README.rdoc +0 -3
- data/lib/ruby_ext/declarative_cache_rem.rb +0 -172
- data/lib/ruby_ext/synchronizer.rb +0 -31
- data/old/lib/RubyExt/ClassLoader.rb +0 -142
- data/old/lib/RubyExt/ExtraBlankSlate.rb +0 -14
- data/old/lib/RubyExt/Resource/file_system_provider.rb +0 -273
- data/old/lib/RubyExt/class.rb +0 -0
- data/old/lib/RubyExt/kernel.rb +0 -3
- data/old/lib/RubyExt/module.rb +0 -26
- data/old/lib/RubyExt/observable.rb +0 -25
- data/old/lib/RubyExt/resource.rb +0 -172
- data/old/rakefile +0 -52
- data/old/spec/RubyExt/ForClassLoader/ClassA.rb +0 -4
- data/old/spec/RubyExt/ForClassLoader/ModuleA/ModuleB/ClassC.rb +0 -3
- data/old/spec/RubyExt/ForClassLoader/Scope/ScopeB1.rb +0 -5
- data/old/spec/RubyExt/ForResource/ProviderChaining/ProviderABaseDir/ChainTest.rb +0 -3
- data/old/spec/RubyExt/ForResource/ProviderChaining/ProviderBBaseDir/ChainTest.rb +0 -3
- data/old/spec/RubyExt/ForResource/ResourceExtension.res/Data.yaml +0 -2
- data/old/spec/class_loader_spec.rb +0 -94
- data/old/spec/kernel_spec.rb +0 -29
- data/old/spec/module_spec.rb +0 -14
- data/old/spec/observable_spec.rb +0 -44
- data/old/spec/resource_spec.rb +0 -136
- data/spec/declarative_cache_rem.rb +0 -98
- data/spec/declarative_cache_spec.rb +0 -100
- data/spec/kernel_spec.rb +0 -16
- data/spec/module_spec.rb +0 -127
- data/spec/open_constructor_spec.rb +0 -39
- data/spec/should_spec.rb +0 -27
- data/spec/spec_require.rb +0 -10
- data/spec/synchronizer_spec.rb +0 -69
@@ -2,200 +2,200 @@ require 'RubyExt/require'
|
|
2
2
|
require 'spec'
|
3
3
|
|
4
4
|
module RubyExt
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
5
|
+
describe "State Mashine" do
|
6
|
+
class Meta < StateMashine
|
7
|
+
initial_state :Creation
|
8
|
+
transitions [:Creation, :create, :View],
|
9
|
+
[:View, :edit, :Edit],
|
10
|
+
[:Edit, :save, :View],
|
11
|
+
[:Edit, :cancel, :View],
|
12
|
+
[:View, :delete, :Deleted]
|
13
|
+
end
|
14
|
+
|
15
|
+
class BareMeta < StateMashine
|
16
|
+
initial_state :Created
|
17
|
+
transitions [:Created, :delete, :Deleted]
|
18
|
+
end
|
19
|
+
|
20
|
+
class MetadataTest < StateMashine
|
21
|
+
transitions [:s1, :fun, :s2], [:s3, :fun, :s4]
|
22
|
+
end
|
23
|
+
|
24
|
+
before :each do
|
25
|
+
@state = Meta.new
|
26
|
+
end
|
27
|
+
|
28
|
+
it "Initial State" do
|
29
|
+
@state.should == :Creation
|
30
|
+
end
|
31
|
+
|
32
|
+
it "Exceptions in event processing should cause rollback in state change" do
|
33
|
+
@state.on_event :Creation, :create do
|
34
|
+
raise
|
35
|
+
end
|
36
|
+
lambda{@state.event :create}.should raise_error
|
37
|
+
@state.state.should == :Creation
|
38
|
+
end
|
39
|
+
|
40
|
+
it "Should properly process events inside another event (from error)" do
|
41
|
+
@state.on_event :Creation, :create do
|
42
|
+
@state.event :edit
|
43
|
+
end
|
44
|
+
@state.event :create
|
45
|
+
@state.state.should == :Edit
|
46
|
+
end
|
47
|
+
|
48
|
+
it "Transfer function" do
|
49
|
+
@state.event :create
|
50
|
+
@state.should == :View
|
51
|
+
end
|
52
|
+
|
53
|
+
it "==" do
|
54
|
+
state2 = Meta.new
|
55
|
+
@state.should == state2
|
56
|
+
@state.should == :Creation
|
57
|
+
end
|
58
|
+
|
59
|
+
it "before & after" do
|
60
|
+
@state.on_entry :View, :entry
|
61
|
+
@state.on_exit :View, :_exit
|
62
|
+
|
63
|
+
mock = mock("Events")
|
64
|
+
@state.object = mock
|
65
|
+
|
66
|
+
mock.should_receive(:entry).twice
|
67
|
+
@state.event :create
|
68
|
+
mock.should_receive(:_exit)
|
69
|
+
@state.event :edit
|
70
|
+
|
71
|
+
@state.event :cancel
|
72
|
+
@state.on_entry :View, nil
|
73
|
+
@state.on_exit :View, nil
|
74
|
+
|
75
|
+
@state.event :edit
|
76
|
+
end
|
77
|
+
|
78
|
+
it "on_event" do
|
79
|
+
mock = mock("Events")
|
80
|
+
mock.should_receive :create
|
81
|
+
@state.on_event :Creation, :create do
|
82
|
+
mock.create
|
83
|
+
end
|
84
|
+
@state.event :create
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should also use block as action" do
|
88
|
+
mock = mock("Events")
|
89
|
+
@state.on_entry :View do
|
90
|
+
mock.entry
|
91
|
+
end
|
92
|
+
|
93
|
+
mock.should_receive(:entry)
|
94
|
+
@state.event :create
|
95
|
+
end
|
96
|
+
|
97
|
+
it "Invalid method" do
|
98
|
+
lambda{@state.event :invalid}.should raise_error(/There is no :invalid Event in :Creation State/)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "Invalid state" do
|
102
|
+
lambda{@state.event :delete}.should raise_error(/There is no :delete Event in :Creation State!/)
|
103
|
+
end
|
104
|
+
|
105
|
+
it "Bare State" do
|
106
|
+
s = BareMeta.new
|
107
|
+
s.state = :Deleted
|
108
|
+
end
|
109
|
+
|
110
|
+
# (Waiting) - begin -> (Action) - begin -> (NestedAction) - begin n-times -> (NestedAction)
|
111
|
+
# <- end - <- end - < end n-times -
|
112
|
+
# <- cancel -
|
113
|
+
it "Custom Recursive State" do
|
114
|
+
class NestedAction
|
115
|
+
def initialize
|
116
|
+
@nesting_level = 0
|
117
|
+
end
|
118
|
+
|
119
|
+
def begin
|
120
|
+
@nesting_level += 1
|
121
|
+
:NestedAction
|
122
|
+
end
|
123
|
+
|
124
|
+
def end
|
125
|
+
if @nesting_level == 0
|
126
|
+
return :Action
|
127
|
+
else
|
128
|
+
@nesting_level -= 1
|
129
|
+
return :NestedAction
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
def cancel
|
134
|
+
@nesting_level = 0
|
135
|
+
return :Waiting
|
136
|
+
end
|
137
|
+
|
138
|
+
# Not required, can be omited
|
139
|
+
def state state
|
140
|
+
case state
|
141
|
+
when :Action
|
142
|
+
@nesting_level = 0
|
143
|
+
return :Action
|
144
|
+
else nil
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
class CustomState < StateMashine
|
150
|
+
initial_state :Waiting
|
151
|
+
transitions [:Waiting, :begin, :Action],
|
152
|
+
[:Action, :end, :Waiting],
|
153
|
+
[:Action, :begin, :NestedAction]
|
154
|
+
custom_state :NestedAction, NestedAction
|
155
|
+
end
|
156
|
+
|
157
|
+
sm = CustomState.new
|
158
|
+
sm.event :begin
|
159
|
+
sm.state.should == :Action
|
160
|
+
sm.event :begin
|
161
|
+
sm.state.should == :NestedAction
|
162
|
+
|
163
|
+
# Nested :begin/:end
|
164
|
+
sm.event :begin
|
165
|
+
sm.state.should == :NestedAction
|
166
|
+
sm.event :begin
|
167
|
+
sm.state.should == :NestedAction
|
168
|
+
|
169
|
+
sm.event :end
|
170
|
+
sm.state.should == :NestedAction
|
171
|
+
sm.event :end
|
172
|
+
sm.state.should == :NestedAction
|
173
|
+
lambda{sm.event :invalid}.should raise_error(/There is no :invalid Event in :NestedAction State/)
|
174
|
+
|
175
|
+
sm.event :end
|
176
|
+
sm.state.should == :Action
|
177
|
+
|
178
|
+
# Nested :cancel
|
179
|
+
sm.event :begin
|
180
|
+
sm.state.should == :NestedAction
|
181
|
+
sm.event :begin
|
182
|
+
sm.state.should == :NestedAction
|
183
|
+
sm.event :cancel
|
184
|
+
sm.state.should == :Waiting
|
185
|
+
|
186
|
+
# Correct working after :cancel
|
187
|
+
sm.event :begin
|
188
|
+
sm.state.should == :Action
|
189
|
+
sm.event :begin
|
190
|
+
sm.state.should == :NestedAction
|
191
|
+
sm.event :end
|
192
|
+
sm.state.should == :Action
|
193
|
+
|
194
|
+
# Should also works with "state= ..."
|
195
|
+
sm.event :begin
|
196
|
+
sm.state.should == :NestedAction
|
197
|
+
sm.state = :Action
|
198
|
+
sm.state.should == :Action
|
199
|
+
end
|
200
|
+
end
|
201
201
|
end
|
data/readme.md
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
# Ruby standard library extensions
|
2
|
+
**ruby-ext** is a collection of various utility classes and standard library extensions for the Ruby language.
|
3
|
+
|
4
|
+
## must - assertion tool, kind of RSpec assertions in runtime code
|
5
|
+
|
6
|
+
1.must_be.in 1..2
|
7
|
+
"a".must_be.in 'a', 'b', 'c'
|
8
|
+
key.must_be.a String
|
9
|
+
value.must_not_be.nil
|
10
|
+
must_be.never_called
|
11
|
+
a.must_be.== b
|
12
|
+
|
13
|
+
## inherit - combines include & extend in one
|
14
|
+
Do you remember this *def self.included(base) ... end* hack? You don't need it anymore.
|
15
|
+
|
16
|
+
module Feature
|
17
|
+
def cool_method; end
|
18
|
+
module ClassMethods
|
19
|
+
def cool_class_method; end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class TheClass
|
24
|
+
inherit Feature
|
25
|
+
end
|
26
|
+
|
27
|
+
TheClass.new.cool_method
|
28
|
+
TheClass.cool_class_method
|
29
|
+
|
30
|
+
## cache_method & synchronize_method
|
31
|
+
|
32
|
+
def complex_calculation
|
33
|
+
2 * 2
|
34
|
+
end
|
35
|
+
cache_method :complex_calculation
|
36
|
+
|
37
|
+
def money_transfer amount
|
38
|
+
@from -= amount
|
39
|
+
@to += amount
|
40
|
+
end
|
41
|
+
synchronize_method :money_transfer
|
42
|
+
|
43
|
+
## OpenConstructor - adds mass assignment to any class
|
44
|
+
|
45
|
+
class TheClass
|
46
|
+
include OpenConstructor
|
47
|
+
attr_accessor :a, :b
|
48
|
+
end
|
49
|
+
|
50
|
+
o = TheClass.new.set :a => 'a', :b => 'b'
|
51
|
+
o.a => 'a'
|
52
|
+
o.to_hash => {:a => 'a', :b => 'b'}
|
53
|
+
|
54
|
+
## VResource - Auto ClassLoader, forget about the 'require'
|
55
|
+
Use direct mapping between your code and filesystem, define your class in the "/TheNamespace/.../TheClass.rb" file.
|
56
|
+
And then just name it and ClassLoader will find and load it automatically.
|
57
|
+
|
58
|
+
## Micon - Micro Container, assembles and manages pieces of your application
|
59
|
+
Very small and handy [IoC][ioc] container with scopes and bijections (injection + outjection), borrowed from JBoss Seam.
|
60
|
+
|
61
|
+
class Logger
|
62
|
+
scope :application
|
63
|
+
end
|
64
|
+
|
65
|
+
class Session
|
66
|
+
scope :request
|
67
|
+
end
|
68
|
+
|
69
|
+
class Application
|
70
|
+
inject :session => Session, :logger => Logger
|
71
|
+
|
72
|
+
def do_business
|
73
|
+
session[:key] = 'value'
|
74
|
+
logger.log 'well done'
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
Micon.activate :request, {} do
|
79
|
+
Application.new.do_business
|
80
|
+
end
|
81
|
+
|
82
|
+
## More
|
83
|
+
|
84
|
+
These are just a small part of all handy methods and extensions, for more details please go to specs.
|
85
|
+
|
86
|
+
# Usage
|
87
|
+
|
88
|
+
sudo gem install ruby-ext
|
89
|
+
|
90
|
+
require 'ruby_ext'
|
91
|
+
|
92
|
+
If you also need ClassLoader and Micon add following:
|
93
|
+
|
94
|
+
require 'vresource'
|
95
|
+
VResource.hook!
|
96
|
+
|
97
|
+
require 'micon'
|
98
|
+
Micon.hook! Module
|
99
|
+
|
100
|
+
Copyright (c) 2009 Alexey Petrushin [http://bos-tec.com](http://bos-tec.com), released under the MIT license.
|
101
|
+
|
102
|
+
[ioc]: http://en.wikipedia.org/wiki/Inversion_of_control
|
@@ -0,0 +1,72 @@
|
|
1
|
+
dir = File.expand_path(File.dirname(__FILE__))
|
2
|
+
require "#{dir}/../micon_spec_helper"
|
3
|
+
|
4
|
+
describe "Micon custom scope" do
|
5
|
+
before :each do
|
6
|
+
Micon.clear
|
7
|
+
Micon.clear_registry
|
8
|
+
end
|
9
|
+
|
10
|
+
it "activate" do
|
11
|
+
container = {}
|
12
|
+
Micon.should_not be_active(:custom)
|
13
|
+
Micon.activate :custom, container
|
14
|
+
Micon.should be_active(:custom)
|
15
|
+
|
16
|
+
lambda{Micon.activate :custom, container}.should raise_error(/active/)
|
17
|
+
|
18
|
+
Micon.deactivate :custom
|
19
|
+
lambda{Micon.deactivate :custom}.should raise_error(/not active/)
|
20
|
+
|
21
|
+
Micon.should_not be_active(:custom)
|
22
|
+
Micon.activate :custom, container do
|
23
|
+
Micon.should be_active(:custom)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it "check" do
|
28
|
+
Micon.register(:value, :custom){"The Object"}
|
29
|
+
lambda{Micon[:value]}.should raise_error(/not started/)
|
30
|
+
lambda{Micon[:value] = nil}.should raise_error(/not started/)
|
31
|
+
end
|
32
|
+
|
33
|
+
it "get" do
|
34
|
+
Micon.register(:value, :custom){"The Object"}
|
35
|
+
container, the_object = {}, nil
|
36
|
+
|
37
|
+
Micon.activate :custom, container do
|
38
|
+
Micon[:value].should == "The Object"
|
39
|
+
the_object = Micon[:value]
|
40
|
+
end
|
41
|
+
|
42
|
+
Micon.activate :custom, {} do
|
43
|
+
Micon[:value].object_id.should_not == the_object.object_id
|
44
|
+
end
|
45
|
+
|
46
|
+
Micon.activate :custom, container do
|
47
|
+
Micon[:value].object_id.should == the_object.object_id
|
48
|
+
end
|
49
|
+
|
50
|
+
container.size.should == 1
|
51
|
+
container[:value].should == the_object
|
52
|
+
end
|
53
|
+
|
54
|
+
it "set" do
|
55
|
+
Micon.register(:value, :custom){"The Object"}
|
56
|
+
container = {}
|
57
|
+
|
58
|
+
Micon.activate :custom, container do
|
59
|
+
Micon[:value].should == "The Object"
|
60
|
+
Micon[:value] = "Another Object"
|
61
|
+
the_object = Micon[:value]
|
62
|
+
end
|
63
|
+
|
64
|
+
Micon.activate :custom, {} do
|
65
|
+
Micon[:value].should == "The Object"
|
66
|
+
end
|
67
|
+
|
68
|
+
Micon.activate :custom, container do
|
69
|
+
Micon[:value].should == "Another Object"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
dir = File.expand_path(File.dirname(__FILE__))
|
2
|
+
require "#{dir}/../micon_spec_helper"
|
3
|
+
|
4
|
+
describe "Micon Managed" do
|
5
|
+
before :all do
|
6
|
+
Micon.clear_registry
|
7
|
+
|
8
|
+
class ManagedObject
|
9
|
+
inherit Micon::Managed
|
10
|
+
scope :application
|
11
|
+
inject :object => :object_key
|
12
|
+
|
13
|
+
class << self
|
14
|
+
inherit Micon::Managed
|
15
|
+
inject :object => :object_key
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
before :each do
|
21
|
+
Micon.clear
|
22
|
+
end
|
23
|
+
|
24
|
+
it "scope" do
|
25
|
+
scope, initializer = Micon.registry_get(ManagedObject)
|
26
|
+
scope.should == :application
|
27
|
+
initializer.call.should be_a(ManagedObject)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "injection" do
|
31
|
+
the_object = "The Object"
|
32
|
+
Micon.register(:object_key, :application){the_object}
|
33
|
+
|
34
|
+
ManagedObject.object.should == the_object
|
35
|
+
o = ManagedObject.new
|
36
|
+
o.object.should == the_object
|
37
|
+
end
|
38
|
+
|
39
|
+
it "outjection" do
|
40
|
+
the_object = "The Object"
|
41
|
+
Micon.register(:object_key, :application)
|
42
|
+
|
43
|
+
ManagedObject.object.should be_nil
|
44
|
+
ManagedObject.object = the_object
|
45
|
+
ManagedObject.object.should == the_object
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
dir = File.expand_path(File.dirname(__FILE__))
|
2
|
+
require "#{dir}/../micon_spec_helper"
|
3
|
+
|
4
|
+
describe "Application and Instance scopes" do
|
5
|
+
before :each do
|
6
|
+
Micon.clear
|
7
|
+
Micon.clear_registry
|
8
|
+
end
|
9
|
+
|
10
|
+
it "instance scope" do
|
11
|
+
Micon.register(:value, :instance){"The Object"}
|
12
|
+
|
13
|
+
Micon[:value].should == "The Object"
|
14
|
+
Micon[:value].object_id.should_not == Micon[:value].object_id
|
15
|
+
end
|
16
|
+
|
17
|
+
it "application scope" do
|
18
|
+
Micon.register(:value, :application){"The Object"}
|
19
|
+
|
20
|
+
Micon[:value].should == "The Object"
|
21
|
+
Micon[:value].object_id.should == Micon[:value].object_id
|
22
|
+
end
|
23
|
+
|
24
|
+
it "application scope, outjection" do
|
25
|
+
the_object = "The Object"
|
26
|
+
Micon.register :value, :application
|
27
|
+
|
28
|
+
Micon[:value].should be_nil
|
29
|
+
Micon[:value] = the_object
|
30
|
+
Micon[:value].object_id.should == the_object.object_id
|
31
|
+
end
|
32
|
+
|
33
|
+
it "cycle reference" do
|
34
|
+
class CycleB; end
|
35
|
+
|
36
|
+
class CycleA
|
37
|
+
inherit Micon::Managed
|
38
|
+
scope :application
|
39
|
+
inject :b => CycleB
|
40
|
+
end
|
41
|
+
|
42
|
+
class CycleB
|
43
|
+
inherit Micon::Managed
|
44
|
+
scope :application
|
45
|
+
inject :a => CycleA
|
46
|
+
end
|
47
|
+
|
48
|
+
a = Micon[CycleA]
|
49
|
+
b = Micon[CycleB]
|
50
|
+
a.b.equal?(b).should be_true
|
51
|
+
b.a.equal?(a).should be_true
|
52
|
+
end
|
53
|
+
|
54
|
+
it "unregister" do
|
55
|
+
Micon.register(:value, :application){"The Object"}
|
56
|
+
Micon[:value].should == "The Object"
|
57
|
+
|
58
|
+
Micon.unregister :value
|
59
|
+
lambda{Micon[:value]}.should raise_error(/Name is not Managed/)
|
60
|
+
end
|
61
|
+
end
|