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.
Files changed (616) hide show
  1. data/.git/index +0 -0
  2. data/.git/logs/HEAD +36 -0
  3. data/.git/logs/refs/heads/master +36 -0
  4. data/.git/logs/refs/remotes/origin/master +33 -0
  5. data/.git/objects/00/2395889decffa8e2f966a9db6451ff2a067e4c +2 -0
  6. data/.git/objects/00/783d209bd74ed88bbb205e61efa721be254b3f +0 -0
  7. data/.git/objects/00/e6d4f08f77d9fc0e56caeb27a249f31af0ab82 +0 -0
  8. data/.git/objects/01/61235e67eb14a9abb5799d9650e77e67ff0941 +0 -0
  9. data/.git/objects/01/6b92e94406bee1ac6cde06fc810e40568824b2 +0 -0
  10. data/.git/objects/01/c6f78396141742cf35ae0a956c224caecc485d +0 -0
  11. data/.git/objects/02/65d004380614194aaee78c2560633b592bf8a6 +0 -0
  12. data/.git/objects/02/88cf0d4884e142f8123f06bf4c210c58aa7cdd +0 -0
  13. data/.git/objects/03/674b6e06fb6d27e046b7b4eaeec4e2febf6ebb +0 -0
  14. data/.git/objects/03/c1321c9540ad8118be74a6d11096690f1548d0 +0 -0
  15. data/.git/objects/04/29a67e784d9cec94ef150df604895edb0d2018 +4 -0
  16. data/.git/objects/04/75ecb3debe8e5053ed55d441cdee799e8afee1 +0 -0
  17. data/.git/objects/05/aacf33ae50839effadf2babcfc1f4fd6d08a15 +0 -0
  18. data/.git/objects/06/efb0cc1682bab5eb690049fafa4eeb2f79a720 +0 -0
  19. data/.git/objects/08/c38295129c52a13171ee5c67152ffc3ae88779 +0 -0
  20. data/.git/objects/09/813024ff69db4e52ae4af7dc03c540ca80c448 +0 -0
  21. data/.git/objects/09/c1f25defbf97c1dc012d5ff7217da0900bb49d +0 -0
  22. data/.git/objects/0b/5519c74c16e3cbdbbebc30331399f3e2fc36e6 +0 -0
  23. data/.git/objects/0b/dcfeab6c8984d8e515cf9791143356f85d5aed +0 -0
  24. data/.git/objects/0c/4b7a2d4a0bec764483c81cc8f399f7eacddbd5 +0 -0
  25. data/.git/objects/0c/d5795c41ba574247b9a05816e50b4d01fd0305 +0 -0
  26. data/.git/objects/0d/af478beef086240a99ba1122c38ee9b170a10d +2 -0
  27. data/.git/objects/0d/bc72100165f3fbf8d88f846ed0e703a2a2a9cd +0 -0
  28. data/.git/objects/0e/296af571e4b971c56965d2be4cd563db794100 +0 -0
  29. data/.git/objects/0f/1fd03c9c66b0e2f58202521c1f8d2bb7c53dff +0 -0
  30. data/.git/objects/10/c8ec3898e9083187ccba174895068019b4f040 +2 -0
  31. data/.git/objects/11/0a11503cfc9ed68f9d2f38568557292c932270 +0 -0
  32. data/.git/objects/11/b38272b070023b03dd0696972d34393ba74536 +0 -0
  33. data/.git/objects/11/ff8a1e9de6105099627111e67a98bfeb208193 +0 -0
  34. data/.git/objects/13/1ff84e0d05d761ca379285ea7a1744590da1c1 +2 -0
  35. data/.git/objects/13/20a0b7bb07b70f3e91471b9720bdd5bcc8c472 +0 -0
  36. data/.git/objects/13/29c391135e092a94b368ca45fff11e85c39e96 +0 -0
  37. data/.git/objects/13/b1eb398251029d27a8eb8d402ee7e66875837c +0 -0
  38. data/.git/objects/13/d19faa3555469f790ef0e2a21c539f62cac04b +0 -0
  39. data/.git/objects/14/71a79b1cc8fdc9f952723341b00b112918da00 +0 -0
  40. data/.git/objects/15/31b175045c5c6ac72d0cf12601ea8ecf5ade18 +0 -0
  41. data/.git/objects/15/4906607b72c66c2702e6e63c45e0dcb320c275 +0 -0
  42. data/.git/objects/15/6f06ce1407f4adaabfb82554aaf2b6018afd50 +0 -0
  43. data/.git/objects/16/02b1e190c92777f724dd05b1cb9037ac87d5f8 +0 -0
  44. data/.git/objects/16/128d763653b006473637b027696d77355872a7 +0 -0
  45. data/.git/objects/16/bb5d24f5fd69a6ed0ceba5c0528152b28d94a8 +0 -0
  46. data/.git/objects/18/24d479dd5d75665a0e8035c7a47e87654c6a08 +0 -0
  47. data/.git/objects/18/59e8bb8adc0a1cf0d1735d63a0379d18b93835 +3 -0
  48. data/.git/objects/19/21e3d8b05e3a56117cbf85891f567492e92b39 +0 -0
  49. data/.git/objects/19/951524d55fb896cfc6f44f172033ea19d5aa08 +0 -0
  50. data/.git/objects/19/d2fdc76396cb8661785999ab1ee732d9558c5d +0 -0
  51. data/.git/objects/1a/0c05f9a424f7d10071399b511fe6aa101febbc +0 -0
  52. data/.git/objects/1a/68ed1743d2edd34630f022cccf6afd9fc34af1 +0 -0
  53. data/.git/objects/1a/d7e4f94f9fee3195472491ea40c3fb7dfe16c5 +0 -0
  54. data/.git/objects/1b/ca46c925970a70b46dbddc6041fca2482ef823 +0 -0
  55. data/.git/objects/1c/965138c39db8428557f7391ecfe0fca63502f1 +0 -0
  56. data/.git/objects/1c/fdf496e64ac7ab688c6c8fe9830d02bf5b3f5f +0 -0
  57. data/.git/objects/1d/cf384e74e185fa2b829203355e5282917b5f98 +0 -0
  58. data/.git/objects/1d/eefbc4a9e2de8f572f026089904ce1e2c91491 +2 -0
  59. data/.git/objects/20/5cc137dfb0d30965876f195293976957f79d65 +0 -0
  60. data/.git/objects/20/aec72f1b46da2322a6f6c77ae20be88d48e3c7 +4 -0
  61. data/.git/objects/22/004bda6693173daf8eea9224ae8b9cf76d7e97 +0 -0
  62. data/.git/objects/22/46e31e797496649b8799b3f1314af642f0122b +0 -0
  63. data/.git/objects/22/608165b9efee46360f68989e79e9857e883834 +0 -0
  64. data/.git/objects/22/ada36413c466ed845d411cc4e7c0cfdb5f18b1 +0 -0
  65. data/.git/objects/22/b92c4acb45df858694a9ab184a0ccf544f28cb +0 -0
  66. data/.git/objects/22/e64ac60d9587c20706a6e154a4d7b89fb568bf +0 -0
  67. data/.git/objects/23/885f54b5a082bc24ec62c4b9599fac0b0f179c +2 -0
  68. data/.git/objects/24/08e2735e2a4756aee56584f88ef4f383d214a7 +0 -0
  69. data/.git/objects/24/c0f7b637927b05bfb06ac13e221f59d4bafa9c +0 -0
  70. data/.git/objects/24/d431eba3f275f890bb257498392d0b0649a359 +0 -0
  71. data/.git/objects/25/5d96e353b85d55c41175394e4f99a3eff070ae +0 -0
  72. data/.git/objects/26/480787c05f71fe4544fead943e5648cb18d28e +0 -0
  73. data/.git/objects/26/c4c565f15f40a27250c582eee874799845f6c0 +0 -0
  74. data/.git/objects/27/46f3d9c904c3fa058729c3367ca14d2c259f9a +0 -0
  75. data/.git/objects/27/b2e628b4d1d3f987fefc1b3ba16fcf643f03dd +0 -0
  76. data/.git/objects/27/e56ec8917bb87069501f71537902abe42e994f +3 -0
  77. data/.git/objects/28/5f925dab06d7097ef7954b97a42e676d48ef96 +0 -0
  78. data/.git/objects/29/6c2091e4216ea4a0224eac65b0604e8f23d402 +0 -0
  79. data/.git/objects/29/83ca4cb4b3229723573079c9a7cc9a7e447896 +0 -0
  80. data/.git/objects/2a/1185a3d833a8876061db02236779cdbebc29aa +0 -0
  81. data/.git/objects/2a/2e599c60b30e2d46c17ae38a53441031d64690 +0 -0
  82. data/.git/objects/2a/5d31a3363268dd26fcb8357504bbada90212a4 +0 -0
  83. data/.git/objects/2a/d8aca540b6ffefffda29d9a13327b126914351 +0 -0
  84. data/.git/objects/2b/503e9e8690b5bc4364e51f8e81759cbdc84def +0 -0
  85. data/.git/objects/2b/d08f6aabd811cab4aedb878193b787a72757b8 +0 -0
  86. data/.git/objects/2c/ec937c20d2ad8b71090cbed7a4032dc837780b +0 -0
  87. data/.git/objects/2f/6ddc78c51e75dbbd6b2f34df530c3c7c026dc7 +0 -0
  88. data/.git/objects/2f/d2e4defd7e79c0c934d699cd90172a23b8fc07 +0 -0
  89. data/.git/objects/2f/f274ad8f36d75193f0537e0483da474fce4866 +0 -0
  90. data/.git/objects/2f/f972ca2ff463e86495eaafa63e77fe5a7a16a2 +0 -0
  91. data/.git/objects/30/df06dbb17d66f4f8c13b1c9646b41b279b1376 +0 -0
  92. data/.git/objects/31/6a0e7fbf1b6f23512cfc577940bdaa2e6fdeb6 +0 -0
  93. data/.git/objects/31/89bac6be07ebe9728a9c6e62c55a5f98965226 +0 -0
  94. data/.git/objects/32/647582700acc284c165f2a113736b28a77ff72 +0 -0
  95. data/.git/objects/33/04252c226db20d326993fdd121dd03402d4906 +0 -0
  96. data/.git/objects/34/98fd0067b73453b31c9164524487209dc0e1e6 +1 -0
  97. data/.git/objects/34/dafbffc72f89b92b509449e48da5ab4310ff2f +1 -0
  98. data/.git/objects/35/626d6c352f1a5e9f6749a4c5a4ce60aed28600 +0 -0
  99. data/.git/objects/36/177800b67cf9bb915bc4f4ba9a4b4fd92056cc +1 -0
  100. data/.git/objects/36/53e0d6b1aae1f02af2c2d698b4315c891e2f68 +1 -0
  101. data/.git/objects/36/9ed7f4472a7a569d09988186956afd7c88c1f8 +0 -0
  102. data/.git/objects/36/e54fc97e224630e5f4f3258178a909ff617080 +0 -0
  103. data/.git/objects/36/f4057662f0795571de97ae8377a48c596851f1 +0 -0
  104. data/.git/objects/37/6e70083ab152345d4ae538d69242966c0994c4 +0 -0
  105. data/.git/objects/37/7095c206380fcf736ab4ae96199745057285af +0 -0
  106. data/.git/objects/37/cd592dbceb2694501839c6065524cee16bd2ab +0 -0
  107. data/.git/objects/37/eb4b9671aa4e45483810ba55f3fba92c606618 +0 -0
  108. data/.git/objects/38/299bbcc74f3594f672580bcbe66002e1d58e4c +2 -0
  109. data/.git/objects/38/abd4bf7e081a659a4e783ad2e0c4a72762fc88 +0 -0
  110. data/.git/objects/39/443dda6227c5fd0f08fadb4e9bee475a5aca7d +0 -0
  111. data/.git/objects/39/8020887b76f9dd0789bb032c32703833e691fb +0 -0
  112. data/.git/objects/3a/174d1fefdf90c51ff7eb36834d6a46f2592fa2 +3 -0
  113. data/.git/objects/3a/ea0ed9dad193bcb93b37f2a6f02c92e61b17f9 +2 -0
  114. data/.git/objects/3d/3a9be3f69fb8c1b7aef4437bfc47f347fe9f6b +0 -0
  115. data/.git/objects/3d/8fa720fbf5eddd135fab612536279a64f0ac48 +0 -0
  116. data/.git/objects/3d/954e208978d7996b6f622c1842bd1e47a466e6 +0 -0
  117. data/.git/objects/3e/19b85d49127c7b91cdb61a507aa7f7c0cf4dc7 +0 -0
  118. data/.git/objects/3e/2b9ddb78ac842398b8bb092cd6305dba185d01 +0 -0
  119. data/.git/objects/3f/66c1d1ca300014ab42aa9489fe9d2ff7cbf8fb +0 -0
  120. data/.git/objects/3f/703e030267e729f2f9c3cb7ec2b008b4e9c4b5 +3 -0
  121. data/.git/objects/3f/d056af3e4d56ac85ead91443b3ecfcd6b2fa0c +2 -0
  122. data/.git/objects/3f/da21367599e5caba4a6cba57c1b2f85b1251ed +0 -0
  123. data/.git/objects/40/0d127d8143efa8a0d156124c558d342091b916 +2 -0
  124. data/.git/objects/40/6e1e346c8569903d82c348073e48c3aea0a932 +0 -0
  125. data/.git/objects/40/f8edcdabeec285ae413f69d3cf0649df9eaf38 +0 -0
  126. data/.git/objects/41/6e7fd23311bfbd610d18ae235b69deade7a27d +0 -0
  127. data/.git/objects/41/79f8469ad3d07ad097da200f6a3e05f465afd7 +0 -0
  128. data/.git/objects/41/9ff8f692c7a107cc73d25f2e19e5fad977a4a4 +0 -0
  129. data/.git/objects/41/f8e0203895e7cfd746291e57e9e7a943711761 +0 -0
  130. data/.git/objects/42/26317b0bb7af4768e6c088e7a5a2c286b5dcc7 +0 -0
  131. data/.git/objects/42/6a4fbc3e4a4e757777dbe89e7db29f67f43343 +0 -0
  132. data/.git/objects/42/7ccb78c37e2b50cea65c879047198dcdd6689b +0 -0
  133. data/.git/objects/42/932de361fb9939ac4292c321a8d9b9a7142cd3 +0 -0
  134. data/.git/objects/43/e7a15a14091001b28e2565617da2c2cd22c772 +0 -0
  135. data/.git/objects/44/715cc276e6bb8f1e7a5064bc318d603d0f5197 +0 -0
  136. data/.git/objects/47/eab9c539b21df5ef90ee7b2b55905cf66206fb +3 -0
  137. data/.git/objects/48/d4c36611a846694e2b317482d5cd25bea72879 +0 -0
  138. data/.git/objects/49/81d483e72c44d35bbafdc01ca21226b8cfba6b +0 -0
  139. data/.git/objects/4a/1d9c3e8260c032446bd9a057e1696f1b9a132d +0 -0
  140. data/.git/objects/4b/14e21e771891a7224ec81237f0f9ab53f8037e +0 -0
  141. data/.git/objects/4b/5f03ae737b4ddccee88e19fe01f778192b3278 +0 -0
  142. data/.git/objects/4b/b2eb5b0c2b60af9d14397ed5109dcdf420340e +0 -0
  143. data/.git/objects/4c/4af52f665eefb1d25654a371f7e6d6f4dbafb3 +0 -0
  144. data/.git/objects/4c/7d74b030d3650dff3d92cd5bfeaed8012f9062 +0 -0
  145. data/.git/objects/4c/f44376dde3b2019a85599531be21c7733943ca +0 -0
  146. data/.git/objects/4d/7e667fda6963209113f84594e404354cc582e8 +0 -0
  147. data/.git/objects/4d/9704955df155e2bfd5ac13017b1a3b01ccd6d3 +0 -0
  148. data/.git/objects/4d/a90d051a87ade6d172109cebba451ef76b90f0 +0 -0
  149. data/.git/objects/4e/21425b0845de1de7bd9f7e4ffd22fe28251898 +0 -0
  150. data/.git/objects/4f/99473eac64408d4d6709502ba8039304214d6c +0 -0
  151. data/.git/objects/4f/a066bf0a5599a8c04fbc240585a4e9716b9b5a +0 -0
  152. data/.git/objects/50/4efb663b698b26f3f044f4104d765c67133b15 +0 -0
  153. data/.git/objects/50/9ed21cbf85f55529619386471bba93e33da0bb +0 -0
  154. data/.git/objects/50/b6f2b0538eb1f31cc7aa3b29c195ba240e4637 +0 -0
  155. data/.git/objects/50/e4e4d6346229f05230a0e45599592a0787e714 +0 -0
  156. data/.git/objects/51/74e5d98750d1e3d7a4f8975740f195a3e2a27e +0 -0
  157. data/.git/objects/51/cdd46a3cc31fd350d00e6308dc45170fc791cb +0 -0
  158. data/.git/objects/52/60eb6439791d94f701893589dea79d4b50ccb7 +0 -0
  159. data/.git/objects/52/77d84ef7a006d1b4010d5af312fd60a2b6b602 +0 -0
  160. data/.git/objects/53/266f4e50d068848d24bb34440be7f6743b5c4b +0 -0
  161. data/.git/objects/53/431e1487c092e9a3ce9fca540279fa066470c8 +0 -0
  162. data/.git/objects/53/e9aa232e38e27dc1abd0359d81bd987184dcb3 +0 -0
  163. data/.git/objects/53/f93583e2d0aacf6851202f3134b78558178fd2 +0 -0
  164. data/.git/objects/54/5e89999b8afe2212bc1e7c19474ef4c7c43f59 +0 -0
  165. data/.git/objects/55/e3bc6fa8cc93f73c18d5d1e9e6fd618ef3ac76 +0 -0
  166. data/.git/objects/56/5ccaaab0b368dde5c76d1bafe626dc1e59070f +0 -0
  167. data/.git/objects/57/376202dbbcdd513e0db5588a577a6aee50a9fc +0 -0
  168. data/.git/objects/57/a44ff03d32887503db58f17f7741346713b3e2 +0 -0
  169. data/.git/objects/57/e7d31d34637a1d876ed5276a658e5a23716f30 +0 -0
  170. data/.git/objects/58/0f333667fb854facba0d4f239fca57f9d9f653 +0 -0
  171. data/.git/objects/59/39e265e8a76bda368fa4164eb9e7a552789cf2 +2 -0
  172. data/.git/objects/59/8b67f4d802b2efe9a92362ee37cf144d1d9faf +0 -0
  173. data/.git/objects/5b/07e74a5e0c6da543b53be0d3b05516ce3941fd +0 -0
  174. data/.git/objects/5b/18a3b14623f9440cf82c7efe1b5cde6af597d7 +0 -0
  175. data/.git/objects/5c/ebd3382a5f7f19a0659cb39dbcea9ad88ba1c2 +0 -0
  176. data/.git/objects/5d/4ae7c60a4cc1d3e2a6d282f235a1e9096f0bfe +0 -0
  177. data/.git/objects/5d/64bbca2c6c2e2aff30527ec4674061fa53fde0 +0 -0
  178. data/.git/objects/5d/d46ad92a7f9d81da7435bc5c83aec86c1be948 +0 -0
  179. data/.git/objects/5d/e88423ea237716e86b9bd27db09a569b0fc20f +0 -0
  180. data/.git/objects/5d/e8f2a6d724595ebbc29008a2edb6cce473918d +0 -0
  181. data/.git/objects/5e/62a3357c8e74a7904d7e706efb6b8fe63357a7 +0 -0
  182. data/.git/objects/60/cdc9a04b2b9e08289f23796ce482d798e2db92 +0 -0
  183. data/.git/objects/61/3424f453546d8a1f8fc2b0be1c4c95ff53ecb7 +0 -0
  184. data/.git/objects/63/00ee0a2a016d6b0794048aff55d3433be039c4 +0 -0
  185. data/.git/objects/63/6e394aa325e47db0eed342bf2e12aa399c3098 +2 -0
  186. data/.git/objects/63/ebf3d1a2749e3f057a1072f06eaa930bf5ad75 +0 -0
  187. data/.git/objects/64/5b3c75e715ddbb661f801c06b3adabf6a3e066 +0 -0
  188. data/.git/objects/64/dfc70de62efd6ea7541be7b5a36bacb1198fa0 +0 -0
  189. data/.git/objects/65/a0fb1b9e455b2b2cba0e8731de87280ac8aa22 +3 -0
  190. data/.git/objects/65/ba9692cf1899a03942d1b02d5c93e33821974d +0 -0
  191. data/.git/objects/66/b7e33bcc5622621035bff8a82bc171d664982f +0 -0
  192. data/.git/objects/67/00a716ad87fe78ead9713be45f5e0b1266cc21 +0 -0
  193. data/.git/objects/67/ce97268fbb33b735f807dde1a8efd1501c030e +3 -0
  194. data/.git/objects/67/df417008b64d7d72b6163ba474761aa6a17380 +0 -0
  195. data/.git/objects/69/2dccf75e84c9794b9797aaccd6320c6ea0ba37 +0 -0
  196. data/.git/objects/69/7d992ebcebbc881951b38eb500672675c5e7f8 +0 -0
  197. data/.git/objects/6a/a0dc813d71bb8347c94db948bf2aabd2c1f790 +0 -0
  198. data/.git/objects/6b/295f9cd0ff1efdd429d871c64209a5544cec7c +0 -0
  199. data/.git/objects/6b/86b6c9798979d6226bcaed7e873ac1afaad209 +0 -0
  200. data/.git/objects/6c/170abbcd3a502a378baf97bda2fa1e707c020d +0 -0
  201. data/.git/objects/6c/92bc7f0be37bc7f4a566ac14ee870a82a409d9 +0 -0
  202. data/.git/objects/6c/99771605f20f2378447e65628b05a84756545c +0 -0
  203. data/.git/objects/6c/a688550c1244cd6948f4a1c40deaa3b86cacd5 +0 -0
  204. data/.git/objects/6e/3f8cb98de3f9d1512044a7daa76f7d19e84f57 +0 -0
  205. data/.git/objects/6f/21816af73d7f191bc6eb9717410fe617e7bcfa +0 -0
  206. data/.git/objects/6f/407981eb856f527e3caeda4809ac7afc7e830f +0 -0
  207. data/.git/objects/6f/60f0227a959183eed086ad16d79046084a9776 +2 -0
  208. data/.git/objects/6f/e0bb96c78fd55fb4f3b358b42c667e153d10f6 +0 -0
  209. data/.git/objects/6f/e7881e6f0825bcb1f1d6de177800a2ef5b9b51 +0 -0
  210. data/.git/objects/70/c7e15fa85f591d6d8889b0f2b2844b95053ad1 +0 -0
  211. data/.git/objects/70/f2390dc75f65e3cf9362ab3010a9325b29d5d8 +0 -0
  212. data/.git/objects/71/11f95beb0111cec9893e69671dccae58edf2bc +0 -0
  213. data/.git/objects/71/3459b19870171e76cbc28d03fa18581c85325a +0 -0
  214. data/.git/objects/71/3e733cc5591ada03111aed97f6fc14e1932710 +0 -0
  215. data/.git/objects/71/4b0bd487c6ca2b251788e7534c5819bbc33412 +0 -0
  216. data/.git/objects/73/8c6a50e47be1e016fb14e2bb52d86c898e83a6 +1 -0
  217. data/.git/objects/75/320c6ecfa5be14e781e1b6ad2cd7d11b01c478 +0 -0
  218. data/.git/objects/75/90312a8b03581357866e73fa1054e056fb5462 +0 -0
  219. data/.git/objects/76/17d2a15c06e8fbf937cb47808ee5ceac6b5b2d +0 -0
  220. data/.git/objects/76/e7244dc60d80236145f7812c55f5d39cde3e7f +0 -0
  221. data/.git/objects/76/f7c6537295f713e4329fc66a2a63ce6e6ef72f +0 -0
  222. data/.git/objects/77/8e5e76c4ec22c489f12397d3b6ccde3349e07e +0 -0
  223. data/.git/objects/78/53a4c9e6ad7bd44cdd3fb1a6ed8cd2573adc9e +0 -0
  224. data/.git/objects/78/78c54fbccbe5c0e50e7a36ee6fa312193a024a +0 -0
  225. data/.git/objects/78/7be253e082c7109e7a8c808cd41fba1b3bf5a1 +0 -0
  226. data/.git/objects/78/97c1eeca4d2195c88c7c84ce96d3da7d13e562 +0 -0
  227. data/.git/objects/78/a8376298347629997530845ee1833f0fa5e6f4 +2 -0
  228. data/.git/objects/79/305ea902691c2cbf364486e4127f14846cebc9 +0 -0
  229. data/.git/objects/79/5e70e003f8503fb7a9c44f1c238288e1e4c3a7 +0 -0
  230. data/.git/objects/79/aae79039ff078fd48577bfca8fe531a8cad34a +0 -0
  231. data/.git/objects/7a/1d4924a53eec1daf12f305e689a71362a2752e +0 -0
  232. data/.git/objects/7b/0f7e086863f46eb752bd84e3c65b2fdd450e69 +0 -0
  233. data/.git/objects/7b/3ece1f51ecab91d56ebc756ca8a12683be4c28 +0 -0
  234. data/.git/objects/7b/8a8a6d109dc02f0157c8b057197084c1e31ae3 +2 -0
  235. data/.git/objects/7b/a8ad9999a890a0717d80d29151ca0ea6b7d911 +0 -0
  236. data/.git/objects/7b/ffce55d6b304f39415478d5964f7690b155094 +0 -0
  237. data/.git/objects/7c/1c5c24874f7408d7fc8e6487ae2ca8f8c4dc46 +0 -0
  238. data/.git/objects/7c/d89e5386c46610a9874e4c91ad564df3d30d22 +0 -0
  239. data/.git/objects/7e/1bb64631912de70ca18a342bd366a0761f7027 +3 -0
  240. data/.git/objects/7e/69f5cdac8d896357c005cf50f7fef9365ac5b7 +0 -0
  241. data/.git/objects/7e/9ed5afec22056a1d62b2ac620fc568726654dd +0 -0
  242. data/.git/objects/80/a1777bd32df0d8168596e67764bea543e364b6 +0 -0
  243. data/.git/objects/81/6b4d885daad51e09fe28f6fd15641a9f59a69a +0 -0
  244. data/.git/objects/83/126f3a04822d71b0b0e73654da341545ae9bce +0 -0
  245. data/.git/objects/83/4e09ad5a2489d3f0a3e87dbbd3597a1edffd5b +0 -0
  246. data/.git/objects/84/49fd043cf7a34eeb2c7f32a704143d48352b3a +0 -0
  247. data/.git/objects/84/70d095caf8bfac04f3e55c68cc894ec400aa7c +1 -0
  248. data/.git/objects/85/c92dd2c409f8f9c122e210c61382abdff455fb +0 -0
  249. data/.git/objects/86/9f87619de0aa96c1e07d6f78e0ee813158d0b6 +0 -0
  250. data/.git/objects/87/635d93bcdbafec9c80137643eb532cf983d6cb +0 -0
  251. data/.git/objects/88/1e5e54da73d7732f40ec61bcbcc40dfdfa6a32 +0 -0
  252. data/.git/objects/88/323db633ec2dcb8c8aa69e7b057811c518aa2e +0 -0
  253. data/.git/objects/88/777e3e8f9b98245b6ac25b35867968fa35de9b +0 -0
  254. data/.git/objects/89/2b4e8c0e692c60352e42e58c561f9260cf64f3 +0 -0
  255. data/.git/objects/8a/0cb85400031c1ca6586278360277b0eedd9b17 +4 -0
  256. data/.git/objects/8a/3ad66a857a353ec8731e137a7e8d084e311342 +0 -0
  257. data/.git/objects/8a/785b8373e204bddcb5b81dbef9e51bc03c50c8 +0 -0
  258. data/.git/objects/8a/c1a112440be65dbf997d0a4672256a22de26a4 +0 -0
  259. data/.git/objects/8b/04c172bd5eb0dc99e90171cc198f66d001c036 +3 -0
  260. data/.git/objects/8b/5d65b4902079ad03086e9df352e09e02811ba1 +0 -0
  261. data/.git/objects/8b/863d5cf4d837ea12203c7acce48e53722a8a98 +0 -0
  262. data/.git/objects/8b/d24176c9898f97a9fdcc5dff5d2247e1a84ec9 +0 -0
  263. data/.git/objects/8c/1b8b280ab3f2a7d75df63cf9c427328824960e +0 -0
  264. data/.git/objects/8c/828a466da87606833098e4e25cd15bffda090a +2 -0
  265. data/.git/objects/8d/6ff005fd51f6b3fd01378fb2c5b7648d1c216a +0 -0
  266. data/.git/objects/8d/79a728f42fca3b5439dccbd37cfa697d73dcec +0 -0
  267. data/.git/objects/8d/c03482a05fa309478eef762bb66875d215839d +4 -0
  268. data/.git/objects/8e/3765090e2352071d06dae581444322c5cd1c7f +0 -0
  269. data/.git/objects/90/359907f370a92516fc2324278c19fae8ee7d10 +0 -0
  270. data/.git/objects/91/1236dbd46fca67a4dfe398ba57a00a0d52ba87 +0 -0
  271. data/.git/objects/91/c98e89dad41640efcd127dd48c4f1e7a4b8a3d +0 -0
  272. data/.git/objects/92/9662b659f468e6a33942bad2bd18542e23c01f +0 -0
  273. data/.git/objects/93/f4b074b8b8487dea84b3e99f5a21d2f8fd8184 +0 -0
  274. data/.git/objects/94/1b2b78eec40959dc4dd2d17daef5928d083ced +0 -0
  275. data/.git/objects/95/a584fd118d43b5c6ab1fc39a0586f347bee687 +0 -0
  276. data/.git/objects/95/cde2fb622eb202b29721023e6841c4c2399333 +0 -0
  277. data/.git/objects/95/fa926b7fc9fac39ddeb63b00e3d5ada24587c6 +0 -0
  278. data/.git/objects/96/1b951bf21ae5bed28243e0caa0622985542ead +0 -0
  279. data/.git/objects/97/5b2d0c76a62a72bf6dbcbc5d9697a7602290b9 +0 -0
  280. data/.git/objects/97/aa57c81d9d531ba527a7d0e70751dc6e8c64f6 +0 -0
  281. data/.git/objects/97/b957c129ad40aa10e5571a63cb0ae8b481d941 +2 -0
  282. data/.git/objects/98/e552050c08e3b9603bb7427359a75cea3e353f +0 -0
  283. data/.git/objects/99/bd3a9fa19a7fdf5fc8c44a468af2f4bc077b76 +2 -0
  284. data/.git/objects/9a/ac55335e524ec8863e943ae7428fbf996c3304 +0 -0
  285. data/.git/objects/9b/062274d3658d30d62021967bebc0c6856934e6 +0 -0
  286. data/.git/objects/9b/2203d14e86a098f2c2ecef381ec59faec420cb +0 -0
  287. data/.git/objects/9b/636f6bfa8b4e8192115f52113443cf98447c88 +0 -0
  288. data/.git/objects/9b/73f7f56a1a84958578739f4be3c096d5924d74 +0 -0
  289. data/.git/objects/9c/3099d7d6ebf96b0be74f827cb0b10e3b87b672 +2 -0
  290. data/.git/objects/9c/9c0ee371afd3b0eb68f7d0226b599f08bcd482 +2 -0
  291. data/.git/objects/9d/13d10d00768f911caa8c8ca04dffa439ecf4ea +0 -0
  292. data/.git/objects/9d/e7071bd41dffb92bba3f9f86a721630fdc1aa9 +0 -0
  293. data/.git/objects/9e/3a9aec41ae84e3c06f7e4722552a0044b465b5 +0 -0
  294. data/.git/objects/9e/8afbc28b44770ae370c8b862e7aa23d7c50677 +0 -0
  295. data/.git/objects/9e/9b707e1b45892f331aab711e41cf180946eeb7 +0 -0
  296. data/.git/objects/9f/3e38fa0ab2f318dccf60deff7faa1627d786ff +0 -0
  297. data/.git/objects/9f/68c404894f1889d63149f7208fecde6a954ca6 +0 -0
  298. data/.git/objects/9f/702d060f867a0e718c358dd038cf0138aaac6a +0 -0
  299. data/.git/objects/a0/b3b3b57939fefb926ebc47cc54ce62cbdd4090 +0 -0
  300. data/.git/objects/a0/df06324014b1304ac19478e99f433d7b4418aa +0 -0
  301. data/.git/objects/a2/43f3f2f12cc3d49ba6e8a18d6b697a65e8f126 +0 -0
  302. data/.git/objects/a2/62095bd0baf1e49e213fce6ec0a0de56d853e3 +0 -0
  303. data/.git/objects/a2/856190ff943f0775766fca13349df397fa52c6 +0 -0
  304. data/.git/objects/a3/7350e946973d70cf427f9f7c3d6f6aad4c55eb +0 -0
  305. data/.git/objects/a4/e004d28e7d33b475a9103be6882829ebd2d6a3 +4 -0
  306. data/.git/objects/a6/1888b288c5e7af5c53b294d483d9070c0a7d3e +0 -0
  307. data/.git/objects/a6/94bca7ceec06c9bb79b9829071a489e9d4ebb8 +0 -0
  308. data/.git/objects/a6/a2cbb1fac2eaf774002042924b0712b26ae652 +3 -0
  309. data/.git/objects/a7/25e954ee21dca54e9f8d9b5417b3cd99ba886c +0 -0
  310. data/.git/objects/a7/87d79b2e97da0f5eb758ff025baaf511781046 +0 -0
  311. data/.git/objects/a8/b25cad8d209156ca2db13ea5bee20a2b3a05e6 +0 -0
  312. data/.git/objects/a8/dc0cd466b7c34722d897f4974c110bef836980 +0 -0
  313. data/.git/objects/a9/211499bcaf3f4fd7e2290cac12198f642d1282 +0 -0
  314. data/.git/objects/aa/6f08c49793188be786702d438987bad805766d +0 -0
  315. data/.git/objects/ab/010a868506a2d0a69bd0aed8d065d15baa69c9 +0 -0
  316. data/.git/objects/ab/c39534f0c26d68e3de8c97e34122669f18a09e +0 -0
  317. data/.git/objects/ac/2902dd65c3d61288402922a7efde1de10dd633 +0 -0
  318. data/.git/objects/ac/9c7cc8840a7cd6077296f7be3d7fb52d4466b6 +0 -0
  319. data/.git/objects/ad/413b9cae01a468afd60b971fc3d6ae86bb9361 +0 -0
  320. data/.git/objects/ae/249122582a305d1794dce9d6f6a049824b5308 +0 -0
  321. data/.git/objects/ae/ea27d8df3a106ef0525148b580a3948fef74dd +6 -0
  322. data/.git/objects/af/d8cdab71ffcf621e96e6fff93fc5ca45625127 +0 -0
  323. data/.git/objects/b0/29e153cf5218a7255551bdca19bb79feb17ea9 +0 -0
  324. data/.git/objects/b0/47fd6101725533a0fabc4b7199cfb73bc5bf9a +0 -0
  325. data/.git/objects/b0/82d678ee011d561d198665e7359ca406773159 +0 -0
  326. data/.git/objects/b0/a31881666ce8acca54c8d632bb553be1d91757 +0 -0
  327. data/.git/objects/b1/04d93a36e9f312d7b2351e5fb94eb016156f99 +0 -0
  328. data/.git/objects/b1/85f51014fec1b6c70726d4307663c924355114 +0 -0
  329. data/.git/objects/b2/84b25c437df91c282dc4820df09c4570d723ce +0 -0
  330. data/.git/objects/b2/a575826207db2d4b9d94723c1c3087f867f7e4 +0 -0
  331. data/.git/objects/b2/b137e3ca23c380a7f60fcb7bd28fe04f9441f5 +0 -0
  332. data/.git/objects/b2/f4ea4f1e671744ff14ffd56bd7d292c695d696 +3 -0
  333. data/.git/objects/b3/1de97d5075672602cb5c9fae6e95d940aaba36 +6 -0
  334. data/.git/objects/b3/35c376699feacea207abd0475cdc68b48747ee +0 -0
  335. data/.git/objects/b3/5dfc774dcf7ec444e19c9b6cc764ea5f41900c +0 -0
  336. data/.git/objects/b4/79d5a9bd49b1b8c32808f941ce65debee36139 +0 -0
  337. data/.git/objects/b4/cfb29ab1c73413ed6a6417b66a2eaae7bdf7e0 +0 -0
  338. data/.git/objects/b5/9adfc4a11c54d5f4398233e53d08267fef9b80 +0 -0
  339. data/.git/objects/b5/9d9d3446193a9692a8cccd8f562d9cf60ecaa7 +4 -0
  340. data/.git/objects/b5/b4c46e35b44660b2b93b3ef0155ecb1746a082 +0 -0
  341. data/.git/objects/b5/c8fa5ae84d212dfc0c64785882ec4cb20d85c9 +0 -0
  342. data/.git/objects/b6/dcaf42f3d422c3a8a1e0b2c18608de160548a8 +0 -0
  343. data/.git/objects/b8/1c8fa62133022e0a834c55b5815cf9cbdb9202 +0 -0
  344. data/.git/objects/b8/2384758cf98411f830df689943c0fbd674e022 +5 -0
  345. data/.git/objects/b8/a1758c0c10af63c7323e2373ac423252b99a93 +0 -0
  346. data/.git/objects/b8/b8c64cb25842612e714f22a8139cd44c65c926 +0 -0
  347. data/.git/objects/b8/ebebbca06dcb68c14ca429874b485ddf03ee27 +0 -0
  348. data/.git/objects/b9/7f88a23d0f792feefba8b5fc1e4df63b6620c8 +0 -0
  349. data/.git/objects/b9/954e8e721374701fdb776954c2f2f93a5edbe9 +0 -0
  350. data/.git/objects/b9/966ce383e367fe9b12c77ba678c4bfdc76a959 +0 -0
  351. data/.git/objects/b9/bb5e2c33bf4a5642838c20a2e35f22c40297c6 +0 -0
  352. data/.git/objects/b9/e726d4140a7131cee69472f6590c137f8521af +0 -0
  353. data/.git/objects/ba/2b4a2bc320220004708b81fc8cccef29e03fc4 +0 -0
  354. data/.git/objects/bb/2aac79cb6a0eb6566c8455bd12300d27d3343d +0 -0
  355. data/.git/objects/bb/73bf8f42ede6e354de9a590b930338f5570fa0 +1 -0
  356. data/.git/objects/bb/ae9af7f60461e20dd2d7a0f108104d9f160412 +3 -0
  357. data/.git/objects/bc/885cb5cf50501f14126dc532e6d09ac00b2238 +0 -0
  358. data/.git/objects/bc/c11e8a013ffd39fa6ed6b8bc9512bb83f67df9 +0 -0
  359. data/.git/objects/bd/efe7403bd68a2da2f387c722ff3b9ee5328523 +0 -0
  360. data/.git/objects/be/ff3b42a8ca5d75e07df86e2c17d871c1e68826 +0 -0
  361. data/.git/objects/bf/b002912c8378aa78cb0adcf50074b32bcf5ae3 +0 -0
  362. data/.git/objects/c0/9c0fbc504f6df8b9640b7d4ff87346e3144845 +0 -0
  363. data/.git/objects/c1/a3547a81cefabc98a12b5b5a50b0feae011c69 +0 -0
  364. data/.git/objects/c3/4066a76f249ccaa43fbaecb1eb557480cc3378 +0 -0
  365. data/.git/objects/c3/74191e5a1eba2d800dbf9b2c83973c6b51d713 +0 -0
  366. data/.git/objects/c3/d1e150f420d1a01ce6e2bd861934eee5e94026 +0 -0
  367. data/.git/objects/c4/7a9879b833c21e532db1b58e95e5467e418b35 +0 -0
  368. data/.git/objects/c5/57132215876f38688a4c181fe40bdd246f4c1c +0 -0
  369. data/.git/objects/c6/4f6c806b8dbd41d3db37dbbf0f6600d8f5fae3 +3 -0
  370. data/.git/objects/c6/6303e15cd2d9c32bb447bf5f7b603d726dbfc7 +0 -0
  371. data/.git/objects/c7/483a0bb0699fd9d7cfd319c0266e581f5ce915 +0 -0
  372. data/.git/objects/c7/97e471479581d0fb3be317565183cbc5f1dd5d +0 -0
  373. data/.git/objects/c8/998112ed02a9647e3938e496febdf6605ece5e +0 -0
  374. data/.git/objects/c9/eaadd36cfea47bc439959d677ae21edeab142b +0 -0
  375. data/.git/objects/ca/6d8694fa3ed50d8cd8a38b9cf034167b44e597 +0 -0
  376. data/.git/objects/cb/1329c9ec4f9e51b29f236e0e9474d986bb3da7 +0 -0
  377. data/.git/objects/cb/7c0924f9e118b2806fab38f360b7685b465289 +1 -0
  378. data/.git/objects/cb/7fbb34dc56f3d07ae17391753db4f75f19a798 +0 -0
  379. data/.git/objects/cc/63e2856effb0a8a3c6cc9fd6839be6a7b9f3a4 +0 -0
  380. data/.git/objects/cc/b7df65a08df09b5b8adce9042199d751291a94 +0 -0
  381. data/.git/objects/cd/515200225510faaa04d81008b9f43d43bd60b3 +0 -0
  382. data/.git/objects/cd/5fd0305fa6131307234aea7b47fabeddf4aaf7 +0 -0
  383. data/.git/objects/cd/9e2a04080e436522950a71722d82550113ae1e +0 -0
  384. data/.git/objects/cd/e7bd86b12df36ae8cfe3dda9f608bf494e728c +0 -0
  385. data/.git/objects/ce/34be5fc9a6c41074cc56d402931012c398ff04 +0 -0
  386. data/.git/objects/ce/d6d56c23c5d7e06f538b7a4facf45c989d86b2 +3 -0
  387. data/.git/objects/cf/76a1188f82bb08c37abc06091fdbbebeeb9718 +0 -0
  388. data/.git/objects/cf/dfef5517c784da0b43b881c567cf85370f5979 +0 -0
  389. data/.git/objects/cf/e213d32cc616dc681957a269828aa847bf5242 +4 -0
  390. data/.git/objects/d0/1b3a5d03d70a2cc152642b2917f1d80d197bd4 +0 -0
  391. data/.git/objects/d1/5b22644cd247fd073934b6133cc2bffd9fb5b5 +0 -0
  392. data/.git/objects/d1/f46a55e35c123dc75764ab31de10714bd04b1a +0 -0
  393. data/.git/objects/d2/c114c21fae06454fde660baed5d9c671e50333 +1 -0
  394. data/.git/objects/d3/6003f5eefacad8e83eb14cf84f262cb77025df +0 -0
  395. data/.git/objects/d4/716809130d42c7bef1a68aba435efcb89c4d98 +0 -0
  396. data/.git/objects/d5/b9bda062c482d8822a6ea3033f762c935e029a +0 -0
  397. data/.git/objects/d5/ca249aafdd9154263a71e910b5c622051f3b48 +0 -0
  398. data/.git/objects/d5/fab06efb5db0085e6e234a51a4793f18456572 +0 -0
  399. data/.git/objects/d6/b59131dead2efe6abc09b6cbf862b475573002 +0 -0
  400. data/.git/objects/da/1616e10e98c3f674c7b0883f1dc83ccaa2409b +0 -0
  401. data/.git/objects/db/0518a528f909980f135e069ab7bf114172bcaa +0 -0
  402. data/.git/objects/db/10ee359e46839c8c50b144adb968411046ad8d +0 -0
  403. data/.git/objects/db/3f2e650ed4862a0d41d02c6d36cd9b7f8834db +0 -0
  404. data/.git/objects/dd/53408884587bf078c70a4a14938fd9f305ea5e +0 -0
  405. data/.git/objects/dd/cfadc42bc18f6db186bfa8a1fc836c3fbbd4e8 +0 -0
  406. data/.git/objects/de/9b93fbe6acfad3b84c70e2a8b5a70b05690010 +0 -0
  407. data/.git/objects/de/ca26d2d1028d55f91623e81de3cc3466535f7d +0 -0
  408. data/.git/objects/df/116edf599e20eb744bcfe2abb2e341833c69af +0 -0
  409. data/.git/objects/e1/92debcc9cae10cb30ee20a4aa8704f00342a3a +0 -0
  410. data/.git/objects/e2/544e4579913a6b3aa2dbf2d9f109995e18c96e +0 -0
  411. data/.git/objects/e2/aeb737ec84f4242760bc415920699dc762404c +0 -0
  412. data/.git/objects/e2/fe6c652adafe350def706d7cdd94a5d8716e74 +2 -0
  413. data/.git/objects/e3/1b4da66505b8f78677ebe06c3db70b76083b0c +0 -0
  414. data/.git/objects/e3/650119a24537d22bf2bc1be4b90639bd2bee64 +0 -0
  415. data/.git/objects/e4/75098073c2c1b0fe03ef6c5e47b7eeb500ead0 +3 -0
  416. data/.git/objects/e4/833c84dbd110a660a04b1d30645cb2ff1cbffa +0 -0
  417. data/.git/objects/e4/bc2d37489ab33d7eb424068a4913bcae58488c +0 -0
  418. data/.git/objects/e5/160ab2e9f179c0558cae26a8650e3a7e7d2405 +0 -0
  419. data/.git/objects/e5/8944a7e9eec75020add195ae9a499c730ae4a5 +0 -0
  420. data/.git/objects/e5/c992394b0dd46eeaa81c43541135b8edc17937 +0 -0
  421. data/.git/objects/e6/3de9614877cf35a7f8c274dfb421cca3cdfb40 +0 -0
  422. data/.git/objects/e6/aac3b5ac998c4d7e17be35880b17abcf7542b0 +0 -0
  423. data/.git/objects/e6/f109b20ad9e989bd2ac1707a18061b35b62979 +0 -0
  424. data/.git/objects/e6/f2bb505d646d0a591b0c1585963dfa35bf73d2 +0 -0
  425. data/.git/objects/e6/fbe17ed585b0c1b887082104881b27b15c29e3 +2 -0
  426. data/.git/objects/e7/10843512f110ea8d2613c56381889b6a324e39 +0 -0
  427. data/.git/objects/e7/c2c34b04ad1d3901a7bc86ecf265d019dab705 +0 -0
  428. data/.git/objects/e8/9a2307dcbbff16a025de59b3bf26788cb23d09 +3 -0
  429. data/.git/objects/e8/c0bc7345708838fc9393a332e989a38a968d06 +0 -0
  430. data/.git/objects/ea/3941bdb32e8cb84043fc7af6b3231341325e2d +0 -0
  431. data/.git/objects/ea/d37982817997bbb8c8e8fffb4b7e98df0cf457 +0 -0
  432. data/.git/objects/ea/e0da3444fa6573864bfb7e48e9f6ba125869af +0 -0
  433. data/.git/objects/eb/153d0314b641c49d80f6dfbaf1cdc0dc8259ce +0 -0
  434. data/.git/objects/eb/9313d1f8f551d37baa1a7bad6d689a2d83f6e9 +0 -0
  435. data/.git/objects/ed/94fadd714587bb0fe351681a34372b419d0ff9 +0 -0
  436. data/.git/objects/ed/cd5f42804a33f5fb22bfa43ef1c47c9440251d +0 -0
  437. data/.git/objects/ed/ee148af9b450bc8590c372ae1ca4424fc143b7 +0 -0
  438. data/.git/objects/ed/f2eda0b5c0089e6e2c8fe1bdd839e994f8594a +0 -0
  439. data/.git/objects/ef/62ee17df4ecb637c6f13cd54aefb924eec53dc +0 -0
  440. data/.git/objects/ef/e3f3d6f4109a3548bc90e15d094d3530da5730 +0 -0
  441. data/.git/objects/f0/90346105855825e330ac497dae8d209e4570ce +0 -0
  442. data/.git/objects/f0/bd94709ad1de79406a72434884f4db615fdc43 +0 -0
  443. data/.git/objects/f0/be10fac5f4b2aed38ccd798df8d39e69e0a11b +0 -0
  444. data/.git/objects/f1/0f7f014de23ae992772585aea2be73895e651e +0 -0
  445. data/.git/objects/f1/4ea6e4fda79975aaa557562b76d7fd19066545 +0 -0
  446. data/.git/objects/f1/de5765db125e7aec2efaf7bb88e8ab4c1e6c77 +0 -0
  447. data/.git/objects/f1/f3ed0c35c329be28b20ea049b27f521867f3f5 +0 -0
  448. data/.git/objects/f2/e7a1aa43e1b62a11f49bede698eadb400695fd +0 -0
  449. data/.git/objects/f2/eb800dc21014ab10c68de7944dabdd4ae757f6 +0 -0
  450. data/.git/objects/f3/4c438428d2157177a3b3ee56d74fb8fa04727b +0 -0
  451. data/.git/objects/f4/9bea33da8b585c3b154be37a1a34520d275ce1 +0 -0
  452. data/.git/objects/f4/b0e30205ce1070a1cb715688e57312a0db0dfd +0 -0
  453. data/.git/objects/f4/b80886a90899ff86d844fd56e3bbf925664b19 +5 -0
  454. data/.git/objects/f5/1d1d64a22609cdeea03d5a2029a1c8fdf33317 +0 -0
  455. data/.git/objects/f5/7a5c8702ddaf9365b8a464d1f2ba30ba39682f +0 -0
  456. data/.git/objects/f6/07258715a85337f25171ca7ccc5eda10c4f4e4 +0 -0
  457. data/.git/objects/f7/623557748a510a7bc20a609dc24e71292a568f +0 -0
  458. data/.git/objects/f7/6da87c06061278e529eeb4d102f15af684e912 +0 -0
  459. data/.git/objects/f8/b613e7c2c2e8a40f95a568f28ad45927ceafc3 +0 -0
  460. data/.git/objects/fa/d2dc0d2e9eeafbfe4885ee062a134e633c0fda +0 -0
  461. data/.git/objects/fb/459110cdbd4084743451394a8bf4c90791d724 +0 -0
  462. data/.git/objects/fb/92a236a378b1216ae18b4c35cc4b26333a81bb +0 -0
  463. data/.git/objects/fb/dcc9a131a7386c62d92b7fb00492108ff87223 +0 -0
  464. data/.git/objects/fc/2bd57e5586210bc0906acd8aa1c19c22ad540a +0 -0
  465. data/.git/objects/fc/46a539285ca9be06d78d006fc3a2c7d56f5af6 +0 -0
  466. data/.git/objects/fc/5b6d94dedb958442689e3ebd17ac4bb40f6687 +0 -0
  467. data/.git/objects/fc/ca0d2385304e5e3649eaf1ef23737a03ac4313 +0 -0
  468. data/.git/objects/fe/32d1a12b7456f9424fb35c2937256d7bdd5e35 +0 -0
  469. data/.git/objects/fe/c5b7f532cd2e9f8e24e396a650e54fc0e572f9 +0 -0
  470. data/.git/objects/ff/16e24cd63fd0cd6109d7ce8ba8dfd8d395e950 +0 -0
  471. data/.git/objects/ff/473ca839d45f670c8a0f066f8463502e2324f5 +0 -0
  472. data/.git/objects/ff/c0240ab4c1bb4960f6927119f628d9524f12f3 +0 -0
  473. data/.git/refs/heads/master +1 -1
  474. data/.git/refs/remotes/origin/master +1 -1
  475. data/Rakefile +26 -26
  476. data/lib/micon/managed.rb +60 -0
  477. data/lib/micon/micon.rb +147 -0
  478. data/lib/micon.rb +6 -0
  479. data/lib/ruby_ext/class.rb +2 -2
  480. data/lib/ruby_ext/declarative_cache.rb +71 -68
  481. data/lib/ruby_ext/extra_blank_slate.rb +16 -0
  482. data/lib/ruby_ext/file.rb +14 -25
  483. data/lib/ruby_ext/kernel.rb +61 -18
  484. data/lib/ruby_ext/module.rb +34 -8
  485. data/lib/ruby_ext/must.rb +149 -0
  486. data/lib/ruby_ext/object.rb +3 -3
  487. data/lib/ruby_ext/observable2.rb +23 -0
  488. data/lib/ruby_ext/open_constructor.rb +49 -49
  489. data/lib/ruby_ext/prepare_arguments.rb +6 -6
  490. data/lib/ruby_ext/string.rb +23 -13
  491. data/lib/ruby_ext/symbol.rb +5 -5
  492. data/lib/ruby_ext/synchronize.rb +24 -0
  493. data/lib/ruby_ext.rb +17 -17
  494. data/lib/vresource/class_loader.rb +150 -0
  495. data/lib/vresource/file_system_provider.rb +181 -0
  496. data/lib/vresource/file_system_reloader.rb +106 -0
  497. data/lib/vresource/module.rb +24 -0
  498. data/lib/vresource/resource_extensions.rb +14 -0
  499. data/lib/vresource/vresource.rb +153 -0
  500. data/lib/vresource.rb +12 -0
  501. data/old/README +1 -1
  502. data/old/declarative_cache_rem.rb +172 -0
  503. data/old/declarative_cache_spec_rem.rb +98 -0
  504. data/old/lib/RubyExt/ImportAll.rb +7 -7
  505. data/old/lib/RubyExt/Localization/Module.rb +5 -5
  506. data/old/lib/RubyExt/Localization/Object.rb +17 -17
  507. data/old/lib/RubyExt/Localization.rb +6 -6
  508. data/old/lib/RubyExt/Log.config.sample +25 -25
  509. data/old/lib/RubyExt/Log.rb +51 -51
  510. data/old/lib/RubyExt/Path.rb +89 -89
  511. data/old/lib/RubyExt/array.rb +22 -22
  512. data/old/lib/RubyExt/debug.rb +66 -66
  513. data/old/lib/RubyExt/false_class.rb +3 -3
  514. data/old/lib/RubyExt/nil_class.rb +3 -3
  515. data/old/lib/RubyExt/true_class.rb +3 -3
  516. data/old/old_concurrency_spec.rb +79 -0
  517. data/old/old_custom_scope_spec.rb +181 -0
  518. data/old/old_general_spec.rb +108 -0
  519. data/old/spec/RubyExt/ForKernel/Raise2.rb +3 -3
  520. data/old/spec/RubyExt/ForKernel/RaiseWithoutSelf.rb +7 -7
  521. data/old/spec/RubyExt/ForModule/NS2/A.rb +1 -1
  522. data/old/spec/RubyExt/ForModule/NS2/B.rb +1 -1
  523. data/old/spec/RubyExt/ForModule/NS2/M.rb +1 -1
  524. data/old/spec/array_spec.rb +21 -21
  525. data/old/spec/import_all_spec.rb +14 -14
  526. data/old/spec/localization_spec.rb +43 -43
  527. data/old/spec/object_spec.rb +3 -3
  528. data/old/spec/path_spec.rb +164 -164
  529. data/old/spec/state_machine_spec.rb +196 -196
  530. data/readme.md +102 -0
  531. data/spec/micon/custom_scope_spec.rb +72 -0
  532. data/spec/micon/managed_spec.rb +47 -0
  533. data/spec/micon/static_scope_spec.rb +61 -0
  534. data/spec/micon_spec_helper.rb +8 -0
  535. data/spec/ruby_ext/declarative_cache_spec.rb +115 -0
  536. data/spec/ruby_ext/kernel_spec/TheNamespace/ClassA.rb +7 -0
  537. data/spec/ruby_ext/kernel_spec/another_class.rb +5 -0
  538. data/spec/ruby_ext/kernel_spec/the_namespace/class_b.rb +11 -0
  539. data/spec/ruby_ext/kernel_spec.rb +53 -0
  540. data/spec/ruby_ext/module_spec.rb +128 -0
  541. data/spec/ruby_ext/must_spec.rb +23 -0
  542. data/spec/ruby_ext/observable2_spec.rb +42 -0
  543. data/spec/ruby_ext/open_constructor_spec.rb +36 -0
  544. data/spec/{prepare_arguments_spec.rb → ruby_ext/prepare_arguments_spec.rb} +2 -6
  545. data/spec/ruby_ext/should_spec.rb +24 -0
  546. data/spec/ruby_ext/synchronize_spec.rb +80 -0
  547. data/spec/ruby_ext_spec_helper.rb +17 -0
  548. data/spec/vresource/class_loader_spec.rb +101 -0
  549. data/spec/vresource/class_loader_spec_data/ClassA.rb +4 -0
  550. data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/LoadCount.rb +0 -0
  551. data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/ClassB.rb +0 -0
  552. data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/ClassInsideAnonymousClass.rb +1 -1
  553. data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/InfinityLoop.rb +1 -1
  554. data/spec/vresource/class_loader_spec_data/ModuleA/ModuleB/ClassC.rb +3 -0
  555. data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/SameName/SomeClass.rb +0 -0
  556. data/{old/spec/RubyExt/ForClassLoader → spec/vresource/class_loader_spec_data}/ModuleA/SameName.rb +0 -0
  557. data/{old/spec/RubyExt/ForClassLoader/Scope → spec/vresource/class_loader_spec_data/ScopeA}/ScopeA1.rb +1 -1
  558. data/spec/vresource/class_loader_spec_data/ScopeA/ScopeB1.rb +5 -0
  559. data/spec/vresource/module_spec.rb +39 -0
  560. data/spec/vresource/module_spec_data/NS1/A.data +1 -0
  561. data/spec/vresource/module_spec_data/NS1/A.rb +1 -0
  562. data/spec/vresource/module_spec_data/NS1/A2.rb +1 -0
  563. data/spec/vresource/module_spec_data/NS1/B.rb +2 -0
  564. data/spec/vresource/module_spec_data/NS1/B2.rb +1 -0
  565. data/spec/vresource/module_spec_data/NS1.data +1 -0
  566. data/spec/vresource/module_spec_data/NS2/A.data +1 -0
  567. data/spec/vresource/module_spec_data/NS2/A.rb +3 -0
  568. data/spec/vresource/module_spec_data/NS2/B.rb +3 -0
  569. data/spec/vresource/module_spec_data/NS2/M.data +1 -0
  570. data/spec/vresource/module_spec_data/NS2/M.rb +3 -0
  571. data/spec/vresource/vresource_spec.rb +137 -0
  572. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ChangedClass.rb +0 -0
  573. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ChangedClass.res/Text.txt +0 -0
  574. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ChangedClass.txt +0 -0
  575. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceExtension.rb +0 -0
  576. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceTest/Test.rb +0 -0
  577. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceTest/Test.res/Data.txt +0 -0
  578. data/{old/spec/RubyExt/ForResource → spec/vresource/vresource_spec_data}/ResourceTest/Test.res/txt +0 -0
  579. data/spec/vresource/vresource_spec_data/provider_chaining/provider_a_dir/ChainTest.rb +3 -0
  580. data/{old/spec/RubyExt/ForResource/ProviderChaining/ProviderABaseDir → spec/vresource/vresource_spec_data/provider_chaining/provider_a_dir}/ChainTest.resource +0 -0
  581. data/{old/spec/RubyExt/ForResource/ProviderChaining/ProviderABaseDir → spec/vresource/vresource_spec_data/provider_chaining/provider_a_dir}/ClassExistOnlyInProviderA.rb +1 -1
  582. data/spec/vresource/vresource_spec_data/provider_chaining/provider_b_dir/ChainTest.rb +3 -0
  583. data/{old/spec/RubyExt/ForResource/ProviderChaining/ProviderBBaseDir → spec/vresource/vresource_spec_data/provider_chaining/provider_b_dir}/ChainTest.resource +0 -0
  584. data/spec/vresource_spec_helper.rb +9 -0
  585. metadata +564 -58
  586. data/README.rdoc +0 -3
  587. data/lib/ruby_ext/declarative_cache_rem.rb +0 -172
  588. data/lib/ruby_ext/synchronizer.rb +0 -31
  589. data/old/lib/RubyExt/ClassLoader.rb +0 -142
  590. data/old/lib/RubyExt/ExtraBlankSlate.rb +0 -14
  591. data/old/lib/RubyExt/Resource/file_system_provider.rb +0 -273
  592. data/old/lib/RubyExt/class.rb +0 -0
  593. data/old/lib/RubyExt/kernel.rb +0 -3
  594. data/old/lib/RubyExt/module.rb +0 -26
  595. data/old/lib/RubyExt/observable.rb +0 -25
  596. data/old/lib/RubyExt/resource.rb +0 -172
  597. data/old/rakefile +0 -52
  598. data/old/spec/RubyExt/ForClassLoader/ClassA.rb +0 -4
  599. data/old/spec/RubyExt/ForClassLoader/ModuleA/ModuleB/ClassC.rb +0 -3
  600. data/old/spec/RubyExt/ForClassLoader/Scope/ScopeB1.rb +0 -5
  601. data/old/spec/RubyExt/ForResource/ProviderChaining/ProviderABaseDir/ChainTest.rb +0 -3
  602. data/old/spec/RubyExt/ForResource/ProviderChaining/ProviderBBaseDir/ChainTest.rb +0 -3
  603. data/old/spec/RubyExt/ForResource/ResourceExtension.res/Data.yaml +0 -2
  604. data/old/spec/class_loader_spec.rb +0 -94
  605. data/old/spec/kernel_spec.rb +0 -29
  606. data/old/spec/module_spec.rb +0 -14
  607. data/old/spec/observable_spec.rb +0 -44
  608. data/old/spec/resource_spec.rb +0 -136
  609. data/spec/declarative_cache_rem.rb +0 -98
  610. data/spec/declarative_cache_spec.rb +0 -100
  611. data/spec/kernel_spec.rb +0 -16
  612. data/spec/module_spec.rb +0 -127
  613. data/spec/open_constructor_spec.rb +0 -39
  614. data/spec/should_spec.rb +0 -27
  615. data/spec/spec_require.rb +0 -10
  616. 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
- 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
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
@@ -0,0 +1,8 @@
1
+ require 'spec'
2
+
3
+ ruby_ext_dir = File.expand_path("#{File.dirname(__FILE__)}/..")
4
+ $LOAD_PATH << "#{ruby_ext_dir}/lib"
5
+
6
+ require "ruby_ext"
7
+
8
+ require "micon"