ruby-ext 0.2.16 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
data/README.rdoc DELETED
@@ -1,3 +0,0 @@
1
- Set of common Ruby language extensions.
2
-
3
- For docs go to spec.
@@ -1,172 +0,0 @@
1
- require 'monitor'
2
-
3
- class Class
4
- def cache! *methods
5
- DeclarativeCache.cache! self, *methods
6
- end
7
-
8
- def cache_with_params! *methods
9
- DeclarativeCache.cache_with_params! self, *methods
10
- end
11
- end
12
-
13
- module DeclarativeCache
14
- DISABLED = false
15
-
16
- warn "CASHE DISABLED" if DISABLED
17
-
18
- @versions, @alias_counter, @monitor = Hash.new{should! :be_never_called}, 0, Monitor.new
19
- class << self
20
-
21
- def alias_counter
22
- @alias_counter += 1
23
- return :"m#{@alias_counter}"
24
- end
25
-
26
- def cache! *arg
27
- vnames, klass, methods = parse_and_check_arguments *arg
28
-
29
- return if DISABLED
30
- methods.each do |m|
31
- als = (m.to_s =~ /^[_a-zA-Z0-9]+$/) ? m : DeclarativeCache.alias_counter.to_sym
32
-
33
- klass.class_eval{alias_method :"cached_#{als}", :"#{m}"}
34
- unless vnames.is_a? Array
35
- script = single_version_without_args.interpolate binding
36
- @versions[vnames] = 0 unless @versions.include? vnames
37
- else
38
- vnames_str = vnames.collect{|vname| "'#{vname}' => nil"}.join(', ')
39
- script = multiple_version_without_args.interpolate binding
40
- vnames.each{|vname| @versions[vname] = 0 unless @versions.include? vname}
41
- end
42
- klass.class_eval script, __FILE__, __LINE__
43
- end
44
- end
45
-
46
- def cache_with_params! *arg
47
- vnames, klass, methods = parse_and_check_arguments *arg
48
-
49
- return if DISABLED
50
- methods.each do |m|
51
- als = (m.to_s =~ /^[_a-zA-Z0-9]+$/) ? m : DeclarativeCache.alias_counter
52
-
53
- klass.class_eval{alias_method :"cached_#{als}", :"#{m}"}
54
- unless vnames.is_a? Array
55
- script = single_version_with_args.interpolate binding
56
- @versions[vnames] = 0 unless @versions.include? vnames
57
- else
58
- vnames_str = vnames.collect{|vname| "'#{vname}' => nil"}.join(', ')
59
- script = multiple_version_with_args.interpolate binding
60
- vnames.each{|vname| @versions[vname] = 0 unless @versions.include? vname}
61
- end
62
- klass.class_eval script, __FILE__, __LINE__
63
- end
64
- end
65
-
66
- def version name
67
- @versions[name]
68
- end
69
-
70
- def update *names
71
- names.each do |n|
72
- n = n.to_s
73
- @versions[n] = 0 unless @versions.include? n
74
- @versions[n] += 1
75
- end
76
- end
77
-
78
- attr_reader :monitor
79
-
80
- protected
81
- def parse_and_check_arguments *arg
82
- arg.size.should! :>=, 2
83
-
84
- if arg.size == 3
85
- version_names = arg.shift
86
- if version_names.is_a? Array
87
- version_names.size.should! :>, 0
88
- version_names = version_names.collect{|n| n.to_s}
89
- else
90
- version_names = version_names.to_s
91
- end
92
-
93
- klass = arg.shift
94
- else
95
- version_names = klass = arg.shift
96
- end
97
-
98
- klass.class.should! :be, [Class, Module]
99
-
100
- methods = Array(arg.first)
101
- defined = klass.instance_methods
102
- methods.each do |m|
103
- raise "Invalid method_name '#{m}'!" unless defined.include? m.to_s
104
- end
105
- return version_names, klass, methods
106
- end
107
-
108
- def multiple_version_with_args
109
- <<-RUBY
110
- def \#{m} *params
111
- DeclarativeCache.monitor.synchronize do
112
- @cache_versions_\#{als} ||= {\#{vnames_str}}
113
- @cache_value_\#{als} ||= {}
114
- if @cache_versions_\#{als}.all?{|vname, v| v == DeclarativeCache.version(vname)} and @cache_value_\#{als}.include?(params)
115
- return @cache_value_\#{als}[params]
116
- else
117
- @cache_versions_\#{als}.keys.each{|vname| @cache_versions_\#{als}[vname] = DeclarativeCache.version(vname)}
118
- return @cache_value_\#{als}[params] = cached_\#{als}(*params)
119
- end
120
- end
121
- end
122
- RUBY
123
- end
124
-
125
- def multiple_version_without_args
126
- <<-RUBY
127
- def \#{m}
128
- DeclarativeCache.monitor.synchronize do
129
- @cache_versions_\#{als} ||= {\#{vnames_str}}
130
- if @cache_versions_\#{als}.all?{|vname, v| v == DeclarativeCache.version(vname)}
131
- return @cache_value_\#{als}
132
- else
133
- @cache_versions_\#{als}.keys.each{|vname| @cache_versions_\#{als}[vname] = DeclarativeCache.version(vname)}
134
- return @cache_value_\#{als} = cached_\#{als}
135
- end
136
- end
137
- end
138
- RUBY
139
- end
140
-
141
- def single_version_with_args
142
- <<-RUBY
143
- def \#{m} *params
144
- DeclarativeCache.monitor.synchronize do
145
- @cache_value_\#{als} ||= {}
146
- if @cache_version_\#{als} == DeclarativeCache.version("\#{vnames}") and @cache_value_\#{als}.include?(params)
147
- return @cache_value_\#{als}[params]
148
- else
149
- @cache_version_\#{als} = DeclarativeCache.version("\#{vnames}")
150
- return @cache_value_\#{als}[params] = cached_\#{als}(*params)
151
- end
152
- end
153
- end
154
- RUBY
155
- end
156
-
157
- def single_version_without_args
158
- <<-RUBY
159
- def \#{m}
160
- DeclarativeCache.monitor.synchronize do
161
- if @cache_version_\#{als} == DeclarativeCache.version("\#{vnames}")
162
- return @cache_value_\#{als}
163
- else
164
- @cache_version_\#{als} = DeclarativeCache.version("\#{vnames}")
165
- return @cache_value_\#{als} = cached_\#{als}
166
- end
167
- end
168
- end
169
- RUBY
170
- end
171
- end
172
- end
@@ -1,31 +0,0 @@
1
- require 'monitor'
2
-
3
- module Synchronizer
4
- include MonitorMixin
5
-
6
- module ClassMethods
7
- def synchronize *methods
8
- methods.each do |name|
9
- als = (name.to_s =~ /^[_a-zA-Z0-9]+$/) ? name : DeclarativeCache.alias_counter.to_sym
10
-
11
- alias_method :"sync_#{als}", name
12
- script = "\
13
- def #{name} *p, &b
14
- synchronize{sync_#{als} *p, &b}
15
- end"
16
- class_eval script, __FILE__, __LINE__
17
- end
18
- end
19
-
20
- def synchronize_all
21
- methods = self.instance_methods(false).collect{|m| m.to_sym}
22
- synchronize *methods
23
- end
24
-
25
- protected
26
- def alias_counter
27
- @alias_counter += 1
28
- return :"m#{@alias_counter}"
29
- end
30
- end
31
- end
@@ -1,142 +0,0 @@
1
- module RubyExt
2
- module ClassLoader
3
- @monitor = Monitor.new
4
- @loaded_classes = {}
5
-
6
- class << self
7
- include Observable
8
-
9
- attr_accessor :error_on_defined_constant
10
-
11
- def reload_class class_name
12
- @monitor.synchronize do
13
- class_name = class_name.sub(/^::/, "")
14
- namespace = Module.namespace_for(class_name);
15
- name = class_name.sub(/^#{namespace}::/, "")
16
- return load_class namespace, name, true
17
- end
18
- end
19
-
20
- def load_class namespace, const, reload = false
21
- @monitor.synchronize do
22
- namespace = nil if namespace == Object or namespace == Module
23
- target_namespace = namespace
24
-
25
- # Name hack (for anonymous classes)
26
- namespace = eval "#{name_hack(namespace)}" if namespace
27
-
28
- class_name = namespace ? "#{namespace.name}::#{const}" : const
29
- simple_also_tried = false
30
- begin
31
- simple_also_tried = (namespace == nil)
32
-
33
- if try_load class_name, const
34
- defined_in_home_scope = namespace ? namespace.const_defined?(const) : \
35
- Object.const_defined?(const)
36
-
37
- raise_without_self NameError, "Class Name '#{class_name}' doesn't\
38
- correspond to File Name '#{Resource.class_to_virtual_file(class_name)}'!", ClassLoader \
39
- unless defined_in_home_scope
40
-
41
- unless reload
42
- if @loaded_classes.include? class_name
43
- if error_on_defined_constant
44
- raise_without_self NameError,
45
- "Class '#{class_name}' is not defined in the '#{target_namespace}' Namespace!",
46
- ClassLoader
47
- else
48
- warn "Warn: Class '#{class_name}' is not defined in the '#{target_namespace}' Namespace!"
49
- puts caller
50
- end
51
- end
52
- end
53
-
54
- result = namespace ? namespace.const_get(const) : Object.const_get(const)
55
-
56
- @loaded_classes[class_name] = target_namespace
57
- notify_observers :update_class, result
58
- return result
59
- elsif namespace
60
- namespace = Module.namespace_for(namespace.name)
61
- class_name = namespace ? "#{namespace.name}::#{const}" : const
62
- end
63
- end until simple_also_tried
64
-
65
- raise_without_self NameError, "uninitialized constant '#{class_name}'!",
66
- ClassLoader
67
- end
68
- end
69
-
70
- def wrap_inside_namespace namespace, script
71
- nesting = []
72
- if namespace
73
- current_scope = ""
74
- namespace.name.split("::").each do |level|
75
- current_scope += "::#{level}"
76
- type = eval current_scope, TOPLEVEL_BINDING, __FILE__, __LINE__
77
- nesting << [level, (type.class == Module ? "module" : "class")]
78
- end
79
- end
80
- begining = nesting.collect{|l, t| "#{t} #{l};"}.join(' ')
81
- ending = nesting.collect{"end"}.join('; ')
82
- return "#{begining}#{script} \n#{ending}"
83
- end
84
-
85
- protected
86
-
87
- def try_load class_name, const
88
- if Resource.class_exist? class_name
89
- script = Resource.class_get class_name
90
- script = wrap_inside_namespace Module.namespace_for(class_name), script
91
- eval script, TOPLEVEL_BINDING, Resource.class_to_virtual_file(class_name)
92
- # elsif Resource.class_namespace_exist? class_name
93
- # script = "#{begining} module #{const}; end; #{ending}"
94
- # eval script, TOPLEVEL_BINDING, __FILE__, __LINE__
95
- else
96
- return false
97
- end
98
- return true
99
- end
100
-
101
- def name_hack namespace
102
- if namespace
103
- namespace.to_s.gsub("#<Class:", "").gsub(">", "")
104
- else
105
- ""
106
- end
107
- # Namespace Hack description
108
- # Module.name doesn't works correctly for Anonymous classes.
109
- # try to execute this code:
110
- #
111
- #class Module
112
- # def const_missing const
113
- # p self.to_s
114
- # end
115
- #end
116
- #
117
- #class A
118
- # class << self
119
- # def a
120
- # p self
121
- # MissingConst
122
- # end
123
- # end
124
- #end
125
- #
126
- #A.a
127
- #
128
- # the output will be:
129
- # A
130
- # "#<Class:A>"
131
- #
132
- end
133
- end
134
- end
135
- end
136
-
137
- class Module
138
- # alias_method :old_const_missing, :const_missing
139
- def const_missing const
140
- return RubyExt::ClassLoader.load_class self, const.to_s
141
- end
142
- end
@@ -1,14 +0,0 @@
1
- class ExtraBlankSlate < BlankSlate
2
- CUSTOM_UNDEFINE = [:p, :select, :puts]
3
-
4
- undefine = Kernel.instance_methods + Object.instance_methods + CUSTOM_UNDEFINE
5
- BlankSlate.instance_methods.each{|m| undefine.delete m}
6
-
7
- undefine.each do |m|
8
- script = %{\
9
- def #{m} *p, &b
10
- method_missing :#{m}, *p, &b
11
- end}
12
- class_eval script, __FILE__, __LINE__
13
- end
14
- end
@@ -1,273 +0,0 @@
1
- module RubyExt
2
- class FileSystemProvider
3
- attr_accessor :directories
4
-
5
- def initialize directories = lambda{[File.expand_path('.')]}
6
- @directories = directories
7
- end
8
-
9
- def class_get class_name
10
- path = real_class_path class_name
11
- raise Resource::NotExist unless path
12
-
13
- if File.directory? path
14
- "module #{File.basename(path)}; end;"
15
- else
16
- File.read path
17
- end
18
- end
19
-
20
- # It updates existing class, if class doesn't exist it creates one in directory provided by filter
21
- def class_set class_name, data, directory_for_class_file = nil
22
- directory_for_class_file ||= Dir.getwd
23
- directory_for_class_file = File.expand_path directory_for_class_file
24
- unless @directories.call.include? directory_for_class_file
25
- raise "Dirctories should include '#{directory_for_class_file}'!"
26
- end
27
-
28
- path = real_class_path class_name
29
- unless path
30
- path = class_to_files(class_name).select{|f| f.include?(directory_for_class_file)}.first
31
- dir = path.sub(/\w+\.rb/, "")
32
- FileUtils.mkdir dir unless dir.empty? or File.exist? dir
33
- end
34
-
35
- length = File.write(path, data)
36
- FileSystemProvider.remember_file path
37
- return length
38
- end
39
-
40
- def class_exist? class_name
41
- real_class_path(class_name) != nil
42
- end
43
-
44
- def class_delete class_name
45
- path = real_class_path class_name
46
- File.delete path if path
47
- end
48
-
49
- # def class_namespace_exist? namespace_name
50
- # File.exist? class_to_basefile(namespace_name)
51
- # end
52
-
53
- # First search for "./class_name.resource_name" files
54
- # And then search for "./class_name.res/resource_name" files
55
- def resource_get class_name, resource_name
56
- path = real_resource_path class_name, resource_name
57
- raise Resource::NotExist unless path
58
-
59
- File.read path
60
- end
61
-
62
- def resource_delete class_name, resource_name
63
- path = real_resource_path class_name, resource_name
64
- File.delete path if path
65
- end
66
-
67
- # It can only update existing resource, it can't create a new one
68
- # First search for the same resource and owerwrites it
69
- # If such resource doesn't exists writes to
70
- # "./class_name.res/resource_name" file.
71
- def resource_set class_name, resource_name, data
72
- class_path = real_class_path class_name
73
- raise Resource::NotExist unless class_path
74
-
75
- path = real_resource_path class_name, resource_name
76
- unless path
77
- class_path = class_path.sub(/\.rb$/, "")
78
- dir = "#{class_path}.res"
79
- FileUtils.mkdir dir unless File.exist? dir
80
- path = "#{dir}/#{resource_name}"
81
- end
82
-
83
- length = File.write path, data
84
- FileSystemProvider.remember_file path
85
- return length
86
- end
87
-
88
- def resource_exist? class_name, resource_name
89
- class_path = real_class_path class_name
90
- raise Resource::NotExist unless class_path
91
-
92
- real_resource_path(class_name, resource_name) != nil
93
- end
94
-
95
- # def class_to_virtual_path class_name
96
- # result = nil
97
- # if @cache.include? class_name
98
- # result = @cache[class_name]
99
- # else
100
- # result = nil
101
- # path = "#{base_dir}/#{class_name.gsub("::", "/")}"
102
- # if File.exist? path
103
- # result = path
104
- # else
105
- # path2 = "#{path}.rb"
106
- # if File.exist? path2
107
- # result = path
108
- # else
109
- # path3 = "#{path}.res"
110
- # if File.exist? path3
111
- # result = path
112
- # end
113
- # end
114
- # end
115
- # @cache[class_name] = result
116
- # end
117
- #
118
- # if result
119
- # return result
120
- # else
121
- # raise Resource::NotExist, "Class '#{class_name}' doesn't Exist!"
122
- # end
123
- # end
124
-
125
- # Different Providers can use different class path interpretation.
126
- # So we return virtual path only if this path really exist.
127
- def class_to_virtual_file class_name
128
- path = nil
129
- if FileSystemProvider.cache.include? class_name
130
- path = FileSystemProvider.cache[class_name]
131
- else
132
- path = real_class_path class_name
133
- raise Resource::NotExist, "Class '#{class_name}' doesn't Exist!" unless path
134
-
135
- FileSystemProvider.cache[class_name] = path
136
- end
137
-
138
- File.expand_path path
139
- end
140
-
141
- # Reloading
142
- @files, @cache = {}, {}
143
- class << self
144
- attr_reader :cache
145
-
146
- def start_watching interval = 2, directories = Dir.glob("**/lib")
147
- stop_watching
148
- @watch_thread = Thread.new do
149
- reset_changed_files directories
150
- while true
151
- sleep interval
152
- begin
153
- check_for_changed_files(directories).each do |type, klass, res|
154
- Resource.notify_observers :update_resource, type, klass, res
155
- end
156
- rescue Exception => e
157
- warn e
158
- end
159
- end
160
- end
161
- end
162
-
163
- def stop_watching
164
- if @watch_thread
165
- @watch_thread.kill
166
- @watch_thread = nil
167
- end
168
- end
169
-
170
- def remember_file path
171
- @files[path] = File.mtime(path)
172
- end
173
-
174
- protected
175
- def check_for_changed_files directories
176
- changed = []
177
- directories.inject([]){|list, dir| list + Dir.glob("#{dir}/**/**")}.each do |path|
178
- if file_changed? path, directories
179
- remember_file path
180
- changed << file_changed(path, directories)
181
- end
182
- end
183
- return changed
184
- end
185
-
186
- def reset_changed_files directories
187
- @files = {}
188
- directories.inject([]){|list, dir| list + Dir.glob("#{dir}/**/**")}.each do |path|
189
- remember_file path
190
- end
191
- end
192
-
193
- def file_changed? path, directories
194
- old_time = @files[path]
195
- old_time == nil or old_time != File.mtime(path)
196
- end
197
-
198
- def file_changed path, directories
199
- begin
200
- if path =~ /\.rb$/
201
- path = path.sub(/\.rb$/, "")
202
- class_name = path_to_class(path, directories)
203
-
204
- # ClassLoader.reload_class()
205
- klass = eval class_name, TOPLEVEL_BINDING, __FILE__, __LINE__
206
- cache.delete class_name
207
- return :class, klass, nil
208
- else
209
- if path =~ /\.res/
210
- class_path = path.sub(/\.res.+/, "")
211
- resource_name3 = path.sub("#{class_path}.res/", "")
212
- class_name = path_to_class class_path, directories
213
- else
214
- resource_name3 = path.sub(/.+\./, "")
215
- class_name = path_to_class path.sub(/\.#{resource_name3}$/, ""), directories
216
- end
217
- klass = eval class_name, TOPLEVEL_BINDING, __FILE__, __LINE__
218
- return :resource, klass, resource_name3
219
- end
220
- rescue Exception => e
221
- warn "Can't reload file '#{path}' #{e.message}!"
222
- end
223
- end
224
-
225
- def path_to_class path, directories
226
- base_dir = directories.select{|f| path.include? f}.max{|a, b| a.size <=> b.size}
227
- path.gsub(/^#{base_dir}\//, "").gsub("/", "::")
228
- end
229
- end
230
-
231
- protected
232
- def real_class_path class_name
233
- path = class_to_files(class_name).find{|f| File.exist? f}
234
- path = class_to_basefiles(class_name).find{|f| File.exist? f} unless path
235
- return path
236
- end
237
-
238
- def real_resource_path class_name, resource_name
239
- file = class_to_basefiles(class_name).collect{|f| "#{f}.#{resource_name}"}.find{|f| File.exist? f}
240
- file = class_to_basefiles(class_name).collect{|f| "#{f}.res/#{resource_name}"}.find{|f| File.exist? f} unless file
241
- return file
242
- end
243
-
244
- def class_to_files class_name
245
- class_to_basefiles(class_name).collect{|name| "#{name}.rb"}
246
- end
247
-
248
- # Different Providers can use different class path interpretation.
249
- # So we return virtual path only if this path really exist.
250
- def class_to_basefiles class_name
251
- relative = class_name.gsub("::", "/")
252
- return @directories.call.collect{|dir| "#{dir}/#{relative}"}
253
- end
254
-
255
- # Doesn't make Sense for Virtual Resource System
256
- # def resource_path class_name, resource_name
257
- # @monitor.synchronize do
258
- # path = "#{class_to_path(class_name)}.#{resource_name}"
259
- # if File.exist? path
260
- # return path
261
- # else
262
- # path = "#{class_to_path(class_name)}.res/#{resource_name}"
263
- # if File.exist? path
264
- # return path
265
- # else
266
- # nil
267
- # end
268
- # end
269
- # end
270
- # end
271
-
272
- end
273
- end
File without changes
@@ -1,3 +0,0 @@
1
- module Kernel
2
- def raise_without_self *args
3
- end
@@ -1,26 +0,0 @@
1
- class Module
2
-
3
-
4
-
5
-
6
-
7
- def resource_exist? resource_name
8
- self_ancestors_and_namespaces do |klass|
9
- return true if RubyExt::Resource.resource_exist? klass, resource_name
10
- end
11
- return false
12
- end
13
-
14
- def [] resource_name
15
- self_ancestors_and_namespaces do |klass|
16
- if RubyExt::Resource.resource_exist? klass, resource_name
17
- return RubyExt::Resource.resource_get(klass, resource_name)
18
- end
19
- end
20
- raise RubyExt::Resource::NotExist, "Resource '#{resource_name}' for Class '#{self.name}' doesn't exist!", caller
21
- end
22
-
23
- def []= resource_name, value
24
- RubyExt::Resource.resource_set self.name, resource_name, value
25
- end
26
- end
@@ -1,25 +0,0 @@
1
- module RubyExt
2
- module Observable
3
- def add_observer observer
4
- @observable_observers ||= []
5
- @observable_observers << observer unless @observable_observers.include? observer
6
- end
7
-
8
- def notify_observers method, *args
9
- method.should! :be_a, Symbol
10
- @observable_observers.each{|observer| observer.respond_to method, *args} if @observable_observers
11
- end
12
-
13
- def delete_observer observer
14
- @observable_observers.delete observer if @observable_observers
15
- end
16
-
17
- def delete_observers
18
- @observable_observers.clear if @observable_observers
19
- end
20
-
21
- def observers_count
22
- @observable_observers ? @observable_observers.size : 0
23
- end
24
- end
25
- end