tocco-admin 1.0.7 → 1.0.8

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 (438) hide show
  1. package/changelog.md +10 -0
  2. package/dist/010d0560a00a032c33da819e3c86596a.js +1 -368
  3. package/dist/029ed9161a8d24a9c2ba97124020989d.js +1 -9
  4. package/dist/02d5c4961ca855a88b1cd3e1b7fa7aa2.js +1 -113
  5. package/dist/03371bf1d5cbb1eab58e3a0130d1e9c2.js +1 -15001
  6. package/dist/03487ba89c7b63069d63c1b3802a472c.js +1 -24
  7. package/dist/03748243ac7148ca150ba06c2919ff81.js +1 -271
  8. package/dist/03980cb12dacd26148c22bb61fce440f.js +1 -9
  9. package/dist/03aae8272914723a7bf85b984385032c.js +1 -9
  10. package/dist/04770a551c5b6daa744be9b180a8d0fe.js +1 -13311
  11. package/dist/06d958315fc6cdbb28576b03e43203aa.js +1 -9
  12. package/dist/07101530302fe1d03dcd731992f7a899.js +1 -869
  13. package/dist/0731d7568a06d2e28351781370bc52bb.js +1 -445
  14. package/dist/0794fa2b9c882c72fa7d586069b61055.js +1 -3608
  15. package/dist/0872e65446d05c1c443180c6280b015f.js +1 -214
  16. package/dist/08b9f3e305b5e3e0b81f7848fa7f3b6b.js +1 -105
  17. package/dist/09563004132aabcfcc186943555a92a1.js +1 -263
  18. package/dist/0a1d9862d917663419ac2dd2e8193267.js +1 -9
  19. package/dist/0a858573915ab9b03fe79f98f8c51a04.js +1 -271
  20. package/dist/0a9cd3d62e7f1cd404606c50d9da86fb.js +1 -229
  21. package/dist/0beea7b55cf3b8c9f9b0bd46170bb30e.js +1 -238
  22. package/dist/0ec4bf56a876c2bf34ea174c584ce628.js +1 -97
  23. package/dist/0f418117fac55a859631143ad7d0e833.js +1 -1038
  24. package/dist/10132993df2cf9c9423b53a8a44379ab.js +1 -9
  25. package/dist/1034e3807d1bcf55cb564491950237ab.js +1 -9
  26. package/dist/104959bdb953a3792a203e98d2bf530f.js +1 -895
  27. package/dist/114c58e47951fe3f6d25f683e0cd54e7.js +1 -381
  28. package/dist/11b2d52156942feeb87b7c608276c49b.js +1 -119
  29. package/dist/11dc77ef2ea3a04834945a52f7de2072.js +1 -3208
  30. package/dist/12b520593765ef7e714d7fb3764633ed.js +1 -167
  31. package/dist/130340e2c62b9e858f186dab5f491e55.js +1 -9
  32. package/dist/1324f89bd8db0bae85b79b7f90f6c119.js +1 -418
  33. package/dist/13eda3507db9cbfb400f46b9b3ff6553.js +1 -9
  34. package/dist/1441681e52f3ae9ab33afbc5517359a0.js +1 -45
  35. package/dist/1533058f0ce13acdaa8d5bdc7d147bef.js +1 -9
  36. package/dist/1549fe09fd6b44aca96e2b1b7cbd93d0.js +1 -111
  37. package/dist/15f3800d33b854ba476c9daf1b9e0326.js +1 -9
  38. package/dist/16563bfaf4741097d38cc6ce3ccc1a2d.js +1 -2644
  39. package/dist/170487867de05784a96608617bdd544d.js +1 -9
  40. package/dist/179a93d3148b7edb72581279c3787d0c.js +1 -353
  41. package/dist/17dc98279d24649d3ca77cbce8c44e83.js +1 -9
  42. package/dist/1850762f1bfaf1a1044765b02b243ed4.js +1 -262
  43. package/dist/18cfa6de2de3832aa10439fbf963217a.js +1 -3035
  44. package/dist/18e63e724098792b95b076412a860636.js +1 -116
  45. package/dist/191feb6103c36b202bc01ba262916cdf.js +1 -9
  46. package/dist/19e684db1b08c82963634abc8b2c989f.js +1 -422
  47. package/dist/1abc9efccf77fd4527d1c2fc85d87e04.js +1 -647
  48. package/dist/1b15b9f88acaf59b96e59c6b5f32da12.js +1 -9
  49. package/dist/1b64f97eed4a3837a93f8bdd363295fb.js +1 -1873
  50. package/dist/1c02ec6ec024eee3ebb6b34fa8ff316f.js +1 -103
  51. package/dist/1c57b3481f295105588972ffa1305521.js +1 -9
  52. package/dist/1cc82820c232a82b5d8b6cb9e4152af3.js +1 -514
  53. package/dist/1cd3d09b5303cc37fa337225ed6a9132.js +1 -137
  54. package/dist/1e029a7f1f64457da4f54254d50ac59b.js +1 -95
  55. package/dist/1e26167b5f75d5b94add34f1f4d8b044.js +1 -380
  56. package/dist/1e4131e1241a5b81d54c7d9cb66b0e87.js +1 -254
  57. package/dist/1fe2d583da5f073431d81a6ea13ffc0c.js +1 -275
  58. package/dist/1fee62e3e043728a265935971fa26200.js +1 -981
  59. package/dist/211511e7b374f57ad31acaf49dbdccb1.js +1 -9
  60. package/dist/2183252fe9e1b88fcf2bc454d6fd9273.js +1 -115
  61. package/dist/222d52530e9db0a0ec565c6306c5db35.js +1 -104
  62. package/dist/2267d20fd89c81a461e38abecdb8fcdc.js +1 -282
  63. package/dist/2272c6632c52c3e402ab27b8045ab8f1.js +1 -9
  64. package/dist/23bb1a9f279e7a732bfd405350aab114.js +1 -9
  65. package/dist/23da8ba64540ff4aa68a34d3445db680.js +1 -232
  66. package/dist/243c0c0572ab9866e02e18821558a1c5.js +1 -89
  67. package/dist/244b1a234ec1728d0268214de601449d.js +1 -343
  68. package/dist/24a3ff38afde257888d755ece9bfd704.js +1 -9
  69. package/dist/25718a469574ade47e23567d8c543169.js +1 -9
  70. package/dist/25c99a71d30112583893bc5277402c46.js +1 -329
  71. package/dist/25eda4bb98e40a82cfd5b4bf9fbc06ec.js +1 -9
  72. package/dist/263f7107e9357b1c91997e1a21b59ff5.js +1 -2025
  73. package/dist/26fb247a2e0630e1f435cb4d91ec51fd.js +1 -397
  74. package/dist/27730a0bdc6f430cc85049a46a73a029.js +1 -9
  75. package/dist/27ccb71fa24357a0919a861351d5b82d.js +1 -2806
  76. package/dist/28474eb7ee45a125e49cc5cbe69e336f.js +1 -1193
  77. package/dist/28785bea435918d49b290d27bf660baa.js +1 -9
  78. package/dist/28acb3b48578dfd30dd555fff7c822f7.js +1 -312
  79. package/dist/291611f874a2bc54dbc291b52d74c512.js +1 -501
  80. package/dist/2b2fe1a34cdf81c656a47e493ca9d658.js +1 -257
  81. package/dist/2bcf741e1f2cb07989a722a6ba9c2ea7.js +1 -128
  82. package/dist/2d2a42eeeeec801ab35f2fff7d900e43.js +1 -330
  83. package/dist/2dd82c65030101b60dffccedd8741c6e.js +1 -9
  84. package/dist/2ddd0346681f9f12fd3a191245aa41df.js +1 -797
  85. package/dist/2f055ac4066041b9008dd6aebf9df34b.js +1 -9
  86. package/dist/2f5be3e3e9ab852d217168220854ea9b.js +1 -102
  87. package/dist/2f7c864f08b00c01f04ac22375f7ddd9.js +1 -520
  88. package/dist/2fc0239242a898632ca8aa451cb930c2.js +1 -9
  89. package/dist/2ff54aa3c655216f360438bc7f5b181a.js +1 -2742
  90. package/dist/30e80558090a09477e4466af8af4c40e.js +1 -135
  91. package/dist/34791bf31a4236531bc887b48f872c1c.js +1 -1090
  92. package/dist/34b3249d58303435b894a43d3776a5c3.js +1 -1433
  93. package/dist/3567d1ea443427e944a6f189a0898819.js +1 -9
  94. package/dist/3646668820dc96864fbed7746f805947.js +1 -452
  95. package/dist/36474100e81ab63c4ddbc94ab2cc8667.js +1 -799
  96. package/dist/365b89ceec577ebec0a39c938c2363f0.js +1 -263
  97. package/dist/367ad31e6d99d0021d05133b85bb9faf.js +1 -93
  98. package/dist/37172facd8a534a38f378ca2a9c7c11b.js +1 -9
  99. package/dist/37afa466cdb7fa8fc2e043164d48f29e.js +1 -13110
  100. package/dist/37ee3b5201ae2e2dc5dc8b1b20ad900e.js +1 -9
  101. package/dist/38270ad5088729f40c461c4a5a6bad5d.js +1 -248
  102. package/dist/3b190e5159c72fb7e27271956772bcba.js +1 -9
  103. package/dist/3b544bb2c5a4e7b225a4b50235a0fd6d.js +1 -9
  104. package/dist/3b6e7dc98c47eeafd851ca5072db4be6.js +1 -9
  105. package/dist/3bbf0faa999b08584dc971eab820113a.js +1 -1169
  106. package/dist/3c5b59a666c5d39d9ba9cc054d36a410.js +1 -9
  107. package/dist/3c71a5c0e85afc5486ee9ac29099843d.js +1 -230
  108. package/dist/3dcc18a5dee46b57ad7f85c0bee86802.js +1 -508
  109. package/dist/3df92508d7112d83474f31fe9590e289.js +1 -1015
  110. package/dist/3e277a4ce5486a806a00497aea8ecdd3.js +1 -502
  111. package/dist/3e3e2243675fa4fb4b320dc57daf2d4f.js +1 -346
  112. package/dist/3f55ba1c6515db2f98bb996c1a5bc9e3.js +1 -76
  113. package/dist/3f758ea78954547fed0a8d999691dd7c.js +1 -292
  114. package/dist/406884d5525e864955e9f5058526aa02.js +1 -101
  115. package/dist/40dc555a17f1c85020333a41f01dd9ba.js +1 -106
  116. package/dist/40e6f6cb52a24a747b1046614db3b164.js +1 -213
  117. package/dist/41d8a58fd52b6a06e8d3fb06cdabf67a.js +1 -989
  118. package/dist/42b4ce6de00994aa6bf7db7ff2f931a8.js +1 -1331
  119. package/dist/43a0e099f8283dc1c1c6bbd39148d98d.js +1 -867
  120. package/dist/440f4d477b586c7a6ba4c1c966ca79fc.js +1 -147
  121. package/dist/444ababf8edc26948943fbb45bd06a19.js +1 -259
  122. package/dist/44701e25bb6f2ab9ff18343f2357d1b0.js +1 -171
  123. package/dist/44ac2a2398075299754707d4bac7c276.js +1 -59
  124. package/dist/460c67d8fe31ef229704bd5ab6d1dd26.js +1 -942
  125. package/dist/4639c30a609d986a255ccc684404527e.js +1 -676
  126. package/dist/4700af84801dbda8a3880e3469c21130.js +1 -413
  127. package/dist/4736a562251eeaea46dd06892b489f35.js +1 -46
  128. package/dist/47541c23870e955fff15de4be490ba74.js +1 -112
  129. package/dist/47f0fbf038314894ac52f2d67466b5e9.js +1 -2848
  130. package/dist/4860a6a7c59b9ed5c779f7201dc1f591.js +1 -349
  131. package/dist/48e9351c5623d4da657ce7d5d0267ea6.js +1 -9
  132. package/dist/4a1dab236c2844d28f73c5c128afe299.js +1 -193
  133. package/dist/4b425eb8188febc5a89674b89a72d296.js +1 -798
  134. package/dist/4b61fe945e9e73aba22717e5d6f080df.js +1 -642
  135. package/dist/4bf3bc1fbdd26ac698fef1bdf26e3ff4.js +1 -9
  136. package/dist/4c2816c26725f7aae5b490142e31112f.js +1 -352
  137. package/dist/4ceabd28d8dc751f41002ebf2b6fed88.js +1 -539
  138. package/dist/4d143a2d103a9e376a9e3b55e680eef7.js +1 -310
  139. package/dist/4d8cb7033879cb7fcc7a43798e2bde22.js +1 -9
  140. package/dist/4e389cce6fb8f78845fab249bce43c0b.js +1 -9
  141. package/dist/4eed3725a00fc2bab78accdb014b7826.js +1 -325
  142. package/dist/4ef80ee74467e0297eec3cc03092da01.js +1 -9
  143. package/dist/506d44d8712a22011ce2bec8adbb19b2.js +1 -210
  144. package/dist/50c073327491a2ed3bfa2ebb466c4204.js +1 -25
  145. package/dist/51f903c5ce5284a63196247cffb5ca40.js +1 -9
  146. package/dist/5352ecd8e5f1a2637b48e18cc406edb1.js +1 -9
  147. package/dist/53e3600928916423671f3388e2d67844.js +1 -9
  148. package/dist/54b3396acd2c700969248de4b20cbf7c.js +1 -109
  149. package/dist/55892adefebc0d53993fb108151ed150.js +1 -207
  150. package/dist/57f4109bd1f06be4dc2bcb8ff7eaf1e5.js +1 -9
  151. package/dist/57f9654d8ecdebfb02c636e1889af2e4.js +1 -2698
  152. package/dist/582e24f5ba929e358fadfc7be4c18025.js +1 -9
  153. package/dist/58598705e7012f4ca1eb1dd21d3c59a5.js +1 -9
  154. package/dist/5861dfe4f2c7823623e82d0619c5bf06.js +1 -9
  155. package/dist/58aab872dbdb5e1607076e1935130e03.js +1 -9
  156. package/dist/595aef8d8b0a2017e2fc27db5703e0d1.js +1 -167
  157. package/dist/59cc05504a1c823b6d4796bf6b430822.js +1 -9
  158. package/dist/5a496ae20cc576bef1d35972548207cf.js +1 -9
  159. package/dist/5a67fdd5293af0a35defd2574c05cd04.js +1 -1803
  160. package/dist/5ada4185d70a1852b578b2063de58e37.js +1 -221
  161. package/dist/5b6a626249d0bc43e412fffa6a9ee177.js +1 -9
  162. package/dist/5bad2df0e3bfd8fdc1a332fb6276cb39.js +1 -360
  163. package/dist/5c53d90bf4029cfd1b6a0945d1cae142.js +1 -3550
  164. package/dist/5c96efcfd419a70a93c96557979bc66d.js +1 -371
  165. package/dist/5d3314103b00c8ea165c6f9f6757f794.js +1 -9
  166. package/dist/5d46734b57c7408a41473abcd515b64c.js +1 -387
  167. package/dist/5da9145440d57c9b84d469253e84898d.js +1 -154
  168. package/dist/5e37c1ef17a219449c8c6aa37a87a941.js +1 -101
  169. package/dist/5e3f006db26e9b277b1bdbc130611a14.js +1 -400
  170. package/dist/5e55b301888460bd06c8e26d1011e01a.js +1 -9
  171. package/dist/5e6c2744429a8fac6e536b179c1f31d0.js +1 -293
  172. package/dist/5ebdef8c548fca6c51280e915d6f4c3f.js +1 -168
  173. package/dist/5ede1aebde9d4e5f5cce2db3044495c7.js +1 -148
  174. package/dist/5f3ce6efab3c679ec1ad25ab0b3f6b2f.js +1 -9
  175. package/dist/5fb6059ab5d7abab7a74eb73028a3aeb.js +1 -361
  176. package/dist/5fc5c77d4df4f5d77f8530f6b23ecd1e.js +1 -135
  177. package/dist/5fedbf948ed123687f77167fac1faf8b.js +1 -9
  178. package/dist/60340be8eea1d704a17f399b3c3f9577.js +1 -200
  179. package/dist/621b99ed1a029c36b4e91ec35f36c344.js +1 -44
  180. package/dist/6292be0125d3720498496eaa7f541618.js +1 -56
  181. package/dist/63b15fb6fc8f897b22a4bf72b7e8452a.js +1 -57668
  182. package/dist/64a5f4d62507d032038dcd76d15188e1.js +1 -9
  183. package/dist/64c45b6610e353ba59a58afc6dd090ca.js +1 -450
  184. package/dist/64d6924350bd7706850cdc0dcc76ccf6.js +1 -9
  185. package/dist/6511453710d760c2682567b40ddb3301.js +1 -593
  186. package/dist/656f53e1b4c6e37a31799737faf6d639.js +1 -209
  187. package/dist/663234c150f2097f3812c6065491497c.js +1 -254
  188. package/dist/6903d8ef977a1424c4e2eb22b96feb77.js +1 -118
  189. package/dist/6a7bf4fb4484f6f48d8e4337f126a61d.js +1 -1246
  190. package/dist/6abb884bd4f1a54529c00b58c14741cc.js +1 -128
  191. package/dist/6bb61adbbc13088ee1c32d88b5c7e754.js +1 -1743
  192. package/dist/6c0a75dc5671c3f237a79f6e45b9891c.js +1 -9
  193. package/dist/6c67587c2093ac3a19da9f2196e040b7.js +1 -9
  194. package/dist/6d38cef4a006e6cfe54a6117aba7b600.js +1 -9
  195. package/dist/6f09754fd684f82e6c06ae526d15ac80.js +1 -740
  196. package/dist/6f64da239140d00b81d8b6c523e86daf.js +1 -116
  197. package/dist/6faa9e5f2a0122d2333fa450337a09b0.js +1 -9
  198. package/dist/6fd6a6ddbcbbebe735c9d21e594203ec.js +1 -145
  199. package/dist/6fe3f0823e345813c2084b243cb6650b.js +1 -6198
  200. package/dist/70074e0c785c9a808dea76c7c7d17af3.js +1 -9
  201. package/dist/70286c33cab463fd576766adecd2d5d9.js +1 -9
  202. package/dist/707fa1de4d2096da1951c4bc9d21cb6d.js +1 -75
  203. package/dist/7080d2a1db1608264a6d9d9fbaf2cce8.js +1 -9
  204. package/dist/716879b6ef8945d579595d88534ae402.js +1 -417
  205. package/dist/725da29f1643c2263a437c08a1454aea.js +1 -9
  206. package/dist/73c78b067c792ea8c737746e4671d3e0.js +1 -120
  207. package/dist/740f4264cd757fcf28331fd30daf295e.js +1 -18
  208. package/dist/7493f0c3c9bf268d6ad785019d993dd7.js +1 -150
  209. package/dist/74fa46809aba9625071aa51bc0a71561.js +1 -122
  210. package/dist/755114145e5b97e5571a160a39e716db.js +1 -9
  211. package/dist/75bffda9455d77087f34708ac4e85371.js +1 -2640
  212. package/dist/75d2dae20d7bac5ecfa9dafc48ec04eb.js +1 -277
  213. package/dist/760eb6458a048f3cba7bc3ae52ef2ba4.js +1 -137
  214. package/dist/7735af777659608bcd8cd6525e3bbe58.js +1 -135
  215. package/dist/77aaca51c1c32acaf32656d45f4dc017.js +1 -9
  216. package/dist/77dd68f6396b8ab4ce2c238d6ddb5354.js +1 -331
  217. package/dist/788819e459cdd8c4c1ef565fd303f519.js +1 -113
  218. package/dist/7a9a1dced0e327dc9cb1728bef25641d.js +1 -114
  219. package/dist/7bd84be066027e61c84c9c2aa9543c2a.js +1 -888
  220. package/dist/7c1cd1223bd45600763f8c152ad167d5.js +1 -873
  221. package/dist/7c27341a2599ffb713c8fb7beced7601.js +1 -306
  222. package/dist/7c317e61789b17749dfe6ea294c89b6b.js +1 -193
  223. package/dist/7c9c55eb1a1e5c1dfd63631511d9a1f0.js +1 -720
  224. package/dist/7dead8e2fcacc316bbfa632cd9f1c9bb.js +1 -163
  225. package/dist/7e4099fc2d04c7c1cf96892b962ba4ec.js +1 -9
  226. package/dist/7ef082035f74b3d7324f95a7498ea656.js +1 -2632
  227. package/dist/7f12d133c88ce53d0837a6c4c0287a37.js +1 -360
  228. package/dist/7f407a1006eb830d6f0aaad96c133d26.js +1 -430
  229. package/dist/805cb6232d7a9fa46025d48a43622ecf.js +1 -9
  230. package/dist/80a171b7595d1161735e23dec8efddd6.js +1 -363
  231. package/dist/82fed7ec74be91e0db61c500d9c6d7ee.js +1 -303
  232. package/dist/83387cb17a7680f59240e7b399e3ac2b.js +1 -9
  233. package/dist/8361542d34c46713c9aff6c4ce65a9a3.js +1 -2693
  234. package/dist/85a977f41a907dba8c672f9bf4943da0.js +1 -3028
  235. package/dist/866bf6ca5057dcb24503761af061d486.js +1 -478
  236. package/dist/870184211838006214be1c23c98672fc.js +1 -17
  237. package/dist/8707a7b49421dbbb842506674ff87fa3.js +1 -59
  238. package/dist/875e553a27bee88a73df34a90b3058e4.js +1 -2564
  239. package/dist/8772719d0f76ecabded160e32dc5eb77.js +1 -503
  240. package/dist/87932c8321c9985ed3b6979e86d2a50e.js +1 -96
  241. package/dist/87d6bf8becf2d5ebe2f71fda95a313ea.js +1 -83
  242. package/dist/88bbfb9fdb8730ffc23f546b42d8d620.js +1 -395
  243. package/dist/88e2feda80ac8cfb28f1dc0ec833b40d.js +1 -9
  244. package/dist/894720f1519e5eb34e1b4f33fca7a9dd.js +1 -185
  245. package/dist/894edcaf39c3c95818e3949d737ed459.js +1 -9
  246. package/dist/89d3c35a5ef97a600927b477a9ba06b4.js +1 -414
  247. package/dist/8ba6618773c9d8d0b4f6ecb785651e2c.js +1 -121
  248. package/dist/8bf75743fb14fea7cf02a5da1bda79d4.js +1 -73
  249. package/dist/8cb83aa3fea85e950c29450b8237fb72.js +1 -14
  250. package/dist/8d9bb1799d9b98db107e84f10132e17f.js +1 -9
  251. package/dist/8ed58ed9c7e1cb1ae1f2830d29011ffb.js +1 -9
  252. package/dist/909adc4a16e0f97d869e3dd16d561430.js +1 -122
  253. package/dist/90bafd962205e96c3285d27cbf95c55c.js +1 -68
  254. package/dist/91bd2b106800bd7812e2ab5a5fea985b.js +1 -110
  255. package/dist/92f4aab5c66f6269c7054c8fbcb3de13.js +1 -9
  256. package/dist/957970f69802c38a9092b9b6264cc1b9.js +1 -112
  257. package/dist/9600fed6a4508afbbcd2c75923d953c3.js +1 -125
  258. package/dist/962969a46fefcace3305abd4d6e14a2e.js +1 -9
  259. package/dist/964646d64dd3196a9c27fe302511414a.js +1 -10922
  260. package/dist/9671c350e11f1569edb5066cbfeb3334.js +1 -98
  261. package/dist/9696a4229fb787eeb25b26f1274b75ee.js +1 -9
  262. package/dist/97e72973d750ecb3bc2e75b75bf63c5b.js +1 -9000
  263. package/dist/9807cf1e443a7440371904b6525f37eb.js +1 -9
  264. package/dist/985d6749688c18f94994794f88492444.js +1 -278
  265. package/dist/99ade8b6895e3a1c3d6eb70583cb924e.js +1 -115
  266. package/dist/9b1fd9cf4206cc32e84150c49707d811.js +1 -9
  267. package/dist/9b8e2282f60f104ff3ace5b905af4d62.js +1 -64
  268. package/dist/9ff6d4a6592c0cb7d0b939113c3a6b31.js +1 -95
  269. package/dist/a164d0e40c4dfa485dcf8e6d5258d767.js +1 -122
  270. package/dist/a1c8660c5bcc6b6a43a7fb3c351174d9.js +1 -9
  271. package/dist/a2a705f6bc3a6827d6c94c5978aec36d.js +1 -243
  272. package/dist/a2c0fcb443c396b30a11fc1682a29c13.js +1 -115
  273. package/dist/a4306aa43824ec1a4ee422b59a851e6f.js +1 -2622
  274. package/dist/a4bedde07e392f8ebf64341b61f75df2.js +1 -9
  275. package/dist/a533e643002830be2da76c9527265860.js +1 -9
  276. package/dist/a5d364d12a8f7691339c497b2e725bcf.js +1 -145
  277. package/dist/a7824ec1ab22aeb22bb35ab8bf1ddc4a.js +1 -715
  278. package/dist/a934b622dd8bdcdcdc1dde985a07ac14.js +1 -36
  279. package/dist/a98ead014d010899b35ee25c7c225542.js +1 -411
  280. package/dist/aa0eee504d52a12d3a30bbd523afcc34.js +1 -9
  281. package/dist/aa5623ec68d23fedb9c9c115c7d99063.js +1 -9
  282. package/dist/aaddd877950d1e3bf1b3ef0fc0ff596e.js +1 -449
  283. package/dist/aaf5c3a4f1a188fd051577cea7b87209.js +1 -457
  284. package/dist/ab4b314445b23359319c14cce9a0e321.js +1 -3687
  285. package/dist/abb40a9a6ef0b2fe14c66dcadc9857a2.js +1 -248
  286. package/dist/ad215d7ba317c941cdcc96ae78e86666.js +1 -67
  287. package/dist/adc5e81257ed3f8d70d03cf79150eec1.js +1 -320
  288. package/dist/aedbf3a3ece39aab8c9f3b3a3779e79b.js +1 -115
  289. package/dist/af959c2a870f08dd8abccae97c9b9bae.js +1 -35
  290. package/dist/b0071564b0854c39e3de8b99d66e4dfd.js +1 -298
  291. package/dist/b02d982ccb1011197a5a24800b178a0a.js +1 -9
  292. package/dist/b0803f33b602bd3b26be70f259e38cee.js +1 -102
  293. package/dist/b1170472ae4b50e3b0070eb991e502fe.js +1 -9
  294. package/dist/b1ac30076824f72cdff7ea29ae0b6801.js +1 -489
  295. package/dist/b1f3f77a9279cdb38846ebe13c3438bc.js +1 -9
  296. package/dist/b20056c149af6b50c851ecfff90e0ccb.js +1 -2792
  297. package/dist/b20cd9acf45420fcacfd923754185663.js +1 -9
  298. package/dist/b25188cf2652d63136d5e54c38abf84e.js +1 -500
  299. package/dist/b2742fab9568b63c2274698af5d381fc.js +1 -135
  300. package/dist/b2ff96fbe6501ff45c37491b94c96c5f.js +1 -315
  301. package/dist/b33ef9b4202539d3690251cb8213a034.js +1 -9
  302. package/dist/b3bb2c8deddd8c2afcf73f6f5d711596.js +1 -61
  303. package/dist/b402b938ca2da72e0984a1360eda5897.js +1 -40
  304. package/dist/b460e24d77f9c0d8b21e65d899840adb.js +1 -363
  305. package/dist/b6a6a4adaab4f09a7835ff64a5096198.js +1 -80
  306. package/dist/b6df2278bd475169749bab512944b7ec.js +1 -207
  307. package/dist/b7b7be8216519adf62d75f123f9c6423.js +1 -1470
  308. package/dist/b808fb222140a85b23ebbe0fffa906d9.js +1 -9
  309. package/dist/b8197742452dd2e77090dde34cb2dc4d.js +1 -4105
  310. package/dist/b881dca9d9a80f61d87374b4bd5a2dd5.js +1 -9
  311. package/dist/b98206b2175363f1150c074608603942.js +1 -592
  312. package/dist/ba6b8b3e06cd9d0aee9c69278ee84647.js +1 -9
  313. package/dist/baa5bf4cfefed057a4657a1b02cfa114.js +1 -32
  314. package/dist/bb4d542cb170b3f7b27a42c69262975b.js +1 -1421
  315. package/dist/bb5bab7a675544fe31ddb7f4a77dffb9.js +1 -9
  316. package/dist/bc0551f89df16ee262a67c0431544a9e.js +1 -128
  317. package/dist/c0736a7477d7aac4c669bb94ccae25d9.js +1 -381
  318. package/dist/c0780e66c6b1ade0fa22283ce1f9c402.js +1 -1582
  319. package/dist/c1bc72d79cc6161590fc01c6b139fccd.js +1 -296
  320. package/dist/c32ec7d45ccd947b98fe458a8ca1405b.js +1 -412
  321. package/dist/c40023acde0f3d5f4806f5fccbb4284b.js +1 -160
  322. package/dist/c45445ab45defa960329c6f8e6224e57.js +1 -317
  323. package/dist/c51840077c684be0e7e13339f85cd4a9.js +1 -9
  324. package/dist/c530988d2b1966fd10a4d99fa3877e1b.js +1 -9
  325. package/dist/c631c95d9019218dfd22d028f215e1d1.js +1 -312
  326. package/dist/c728b4ef87cfd5f561d1601f0867c39d.js +1 -2509
  327. package/dist/c733414555a126e689832ffb55cc203f.js +1 -820
  328. package/dist/c797511423f91a877e7fdffa74d015cb.js +1 -914
  329. package/dist/c7ca9dccbac3af7ebc82b271dd2aa570.js +1 -400
  330. package/dist/c80e89199aef31e48addb2b35ea96365.js +1 -9
  331. package/dist/cb4175466ea600940f2927fa03a217e8.js +1 -472
  332. package/dist/cb652f200fc3dd740b2e7f678a9272ea.js +1 -9
  333. package/dist/cbdbd623038183a8c068dd24ecd90682.js +1 -9
  334. package/dist/cbdc4ca43a8c940a6c3f59a8b6f17df5.js +1 -9
  335. package/dist/ccde58de5468dd353dbee74d631ebdf0.js +1 -34
  336. package/dist/cd358d9acaaa7049d85b15ac766fc314.js +1 -311
  337. package/dist/cd9a17f94a922c7c88000b1b3cdd67df.js +1 -9
  338. package/dist/cda6c5c52fa5d595982da0fac9da25a5.js +1 -984
  339. package/dist/cf188b3f83735389d47bb12fc9f7069a.js +1 -9
  340. package/dist/cf3f6b1c74c72cb5d02870022dbc9f94.js +1 -9
  341. package/dist/cf90a39d245bf7e6c1b41c7a9a28f0a1.js +1 -681
  342. package/dist/chunk-207.cc1646ee6c7a19f6220b.js +2 -0
  343. package/dist/chunk-207.cc1646ee6c7a19f6220b.js.map +1 -0
  344. package/dist/chunk-404.e573ba4c4c7cedc843f3.js +2 -0
  345. package/dist/chunk-404.e573ba4c4c7cedc843f3.js.map +1 -0
  346. package/dist/chunk-actions.c7efc5f5036d72d3b972.js +2 -0
  347. package/dist/chunk-actions.c7efc5f5036d72d3b972.js.map +1 -0
  348. package/dist/chunk-code-editor.4932fdbfef27989069a5.js +2 -0
  349. package/dist/chunk-code-editor.4932fdbfef27989069a5.js.map +1 -0
  350. package/dist/{chunk-docs-actions.8a808416a2d69710472e.js → chunk-docs-actions.fe615fd8e3c8ff68c449.js} +2 -2
  351. package/dist/chunk-docs-actions.fe615fd8e3c8ff68c449.js.map +1 -0
  352. package/dist/chunk-vendor-icons.aae1dc235d12dd74b38e.js +1 -0
  353. package/dist/d04707d65591e86810ebc56d48b10810.js +1 -296
  354. package/dist/d1a58542777d072396d7cee5487304f9.js +1 -141
  355. package/dist/d1efdca26800423a363b769b1834cfcf.js +1 -223
  356. package/dist/d2a00e1726c71ca10fbaf4b9c4374458.js +1 -1003
  357. package/dist/d2fe7592ff2fdda099b2b6355abe8c06.js +1 -5240
  358. package/dist/d30fa4070abd6929228505790744e180.js +1 -279
  359. package/dist/d43ad5f9bad9a042b49b2592c7639c28.js +1 -9
  360. package/dist/d542dda7308361c34af2afb9b70d755a.js +1 -9
  361. package/dist/d5a6140d581e5c4eb200259ce372f40b.js +1 -9
  362. package/dist/d5f79987405c2169278f8de37bcc9d05.js +1 -9
  363. package/dist/d78d3b050ea95b068380d975fd413fd7.js +1 -9
  364. package/dist/d79b3962938d65fb85c6f844e86d92d9.js +1 -172
  365. package/dist/d7b57d5ebdcade0ce5e047509e06861a.js +1 -580
  366. package/dist/d7d616d4aa8fd3f51d681242853dcde9.js +1 -9
  367. package/dist/d83f2acd25388452582e5a4c727255b0.js +1 -174
  368. package/dist/da1c1b1569c4d5872c9a18c29f0b5c90.js +1 -3088
  369. package/dist/da55f4fe3daed3f79fc4565668ecf7dd.js +1 -97
  370. package/dist/db8ca5cfb6fe4aaef215f116f6991784.js +1 -9
  371. package/dist/dbc87324ecf271d088a2ab0823de9c5d.js +1 -75
  372. package/dist/dbd05051a3ecf6b10e2f7b8904153f2d.js +1 -3194
  373. package/dist/dc1eb6c1c92d7067c72b82b2833a7d2c.js +1 -2595
  374. package/dist/dcb197c0214e800da9d9436dfc9437d6.js +1 -162
  375. package/dist/ddbc961769cd2ff4d4a7a136168ebf4c.js +1 -9
  376. package/dist/de0fd4fd7c2d7a4887cbc99eed91f797.js +1 -9
  377. package/dist/df37029cdf8359ecac0aebdf4f257d03.js +1 -386
  378. package/dist/df5710d97a899b672060afaa8c4891c2.js +1 -316
  379. package/dist/dfb7dd1fab06b2403f76c23f80b15738.js +1 -1718
  380. package/dist/e07a0b284934d3a0e8c02c508edc9df1.js +1 -115
  381. package/dist/e0adad8a8579bf99f3e22f7c214a5c64.js +1 -9
  382. package/dist/e0e32c3798e8895695ce5b372a0c989f.js +1 -2166
  383. package/dist/e2b38a8393be2cf23f3894ace3efb1c3.js +1 -9
  384. package/dist/e3ba4b654313ae98884a6c9044197e09.js +1 -103
  385. package/dist/e4565878df49fd4ce3edd3f1022c1695.js +1 -244
  386. package/dist/e4917fa7632b01d28e99304d32d989f7.js +1 -9
  387. package/dist/e4968d8264b40c14f123f28419eb456d.js +1 -23
  388. package/dist/e6070e43daf8a9e5f13f515a5a03e66c.js +1 -498
  389. package/dist/e61779df91186b23e7adf2d1968b2708.js +1 -9
  390. package/dist/e6ad50b520736b595970c9e07029c3f1.js +1 -9
  391. package/dist/e6cf8898b285b71e2abe832717ac7060.js +1 -153
  392. package/dist/e6fae0b04a3000a57f22bb25325c8afe.js +1 -2635
  393. package/dist/e6fb5287a46e030336c006e3f50ade3a.js +1 -529
  394. package/dist/e7e1a807af3160b342e0a3550cf8f7c5.js +1 -9
  395. package/dist/e874d975c9128dc6eb9a513d088bed9f.js +1 -9
  396. package/dist/e8fa659263d5ca9e0d1be69c048133a8.js +1 -297
  397. package/dist/e97cfa120fde26da0359ca29afaf3171.js +1 -43
  398. package/dist/eaa55a522fb2cb2f0287711f42344984.js +1 -9
  399. package/dist/eba5ee3fb1f3e92af88c69e50b2a8fd1.js +1 -102
  400. package/dist/ec2d138afc9cc9e81c4c6ef36ed55228.js +1 -103
  401. package/dist/ec32839f8f3353e66b85450525fa3114.js +1 -2808
  402. package/dist/ecd02712f5a40fcdaa3bfa8190470024.js +1 -2596
  403. package/dist/ecd37b343c4dcc8dac849b1c680dcbef.js +1 -1010
  404. package/dist/ecdb4966f685f3e44b1f28fae46827a3.js +1 -9
  405. package/dist/ee694c1bcbdc9439e50f816c39fd1023.js +1 -2875
  406. package/dist/efc14cdf19554635e477781704353ec2.js +1 -9
  407. package/dist/f0548260c0ac6b0e7cdb8909df1a5333.js +1 -421
  408. package/dist/f0878cc386a608146dbc8fb3b6745c42.js +1 -422
  409. package/dist/f326f2f263b1498fedbe1d07d7254d10.js +1 -9
  410. package/dist/f3c7b9d832aa442df3d140f7697b4f62.js +1 -98
  411. package/dist/f42342b39da2c42adc65ebcf52839f90.js +1 -102
  412. package/dist/f4c53706e1721b08e8b2f650c8bd35c4.js +1 -166
  413. package/dist/f582d9feb91d31036d3dae4cdaea865f.js +1 -3533
  414. package/dist/f5bea0e1099339b99b21ee2d3c0fc489.js +1 -23
  415. package/dist/f7186078e00d958aa2b316483dfc7e1c.js +1 -1715
  416. package/dist/f79630d85284a7f6dadc25c1d256af0a.js +1 -33
  417. package/dist/f80efec9a63094f19edae0480a0f2cd8.js +1 -635
  418. package/dist/f90003058d7087f15baa27b80bf08c1d.js +1 -839
  419. package/dist/f980fd09c34c277299e2d3f83aebdba5.js +1 -102
  420. package/dist/fb59a7c154104a421146ab9e5bd71540.js +1 -462
  421. package/dist/fd40b62490e412d27bc67e660aacae19.js +1 -430
  422. package/dist/fd5bc50b18c9f46380cbe5ec1ac2127b.js +1 -9
  423. package/dist/fd5e2efd3b2d047abe8473f99c650a35.js +1 -677
  424. package/dist/fdf4d851b44839d8fdfa77b3419bce19.js +1 -204
  425. package/dist/ffd3b83e8b5878f4785591ff54b1dfff.js +1 -9
  426. package/dist/index.js +9 -9
  427. package/dist/index.js.map +1 -1
  428. package/package.json +1 -1
  429. package/dist/chunk-207.a88d16e56962fd4d2978.js +0 -2
  430. package/dist/chunk-207.a88d16e56962fd4d2978.js.map +0 -1
  431. package/dist/chunk-404.0ea933a6d9513f2665cf.js +0 -2
  432. package/dist/chunk-404.0ea933a6d9513f2665cf.js.map +0 -1
  433. package/dist/chunk-actions.1ad5d759ef5d8509c532.js +0 -2
  434. package/dist/chunk-actions.1ad5d759ef5d8509c532.js.map +0 -1
  435. package/dist/chunk-code-editor.c86cda6aae761ec82d57.js +0 -2
  436. package/dist/chunk-code-editor.c86cda6aae761ec82d57.js.map +0 -1
  437. package/dist/chunk-docs-actions.8a808416a2d69710472e.js.map +0 -1
  438. package/dist/chunk-vendor-icons.7f0d1996a77d090b3d9c.js +0 -1
@@ -1,942 +1 @@
1
- ace.define("ace/snippets/ruby",["require","exports","module"], function(require, exports, module) {
2
- "use strict";
3
-
4
- exports.snippetText = "########################################\n\
5
- # Ruby snippets - for Rails, see below #\n\
6
- ########################################\n\
7
- \n\
8
- # encoding for Ruby 1.9\n\
9
- snippet enc\n\
10
- # encoding: utf-8\n\
11
- \n\
12
- # #!/usr/bin/env ruby\n\
13
- snippet #!\n\
14
- #!/usr/bin/env ruby\n\
15
- # encoding: utf-8\n\
16
- \n\
17
- # New Block\n\
18
- snippet =b\n\
19
- =begin rdoc\n\
20
- ${1}\n\
21
- =end\n\
22
- snippet y\n\
23
- :yields: ${1:arguments}\n\
24
- snippet rb\n\
25
- #!/usr/bin/env ruby -wKU\n\
26
- snippet beg\n\
27
- begin\n\
28
- ${3}\n\
29
- rescue ${1:Exception} => ${2:e}\n\
30
- end\n\
31
- \n\
32
- snippet req require\n\
33
- require \"${1}\"${2}\n\
34
- snippet #\n\
35
- # =>\n\
36
- snippet end\n\
37
- __END__\n\
38
- snippet case\n\
39
- case ${1:object}\n\
40
- when ${2:condition}\n\
41
- ${3}\n\
42
- end\n\
43
- snippet when\n\
44
- when ${1:condition}\n\
45
- ${2}\n\
46
- snippet def\n\
47
- def ${1:method_name}\n\
48
- ${2}\n\
49
- end\n\
50
- snippet deft\n\
51
- def test_${1:case_name}\n\
52
- ${2}\n\
53
- end\n\
54
- snippet if\n\
55
- if ${1:condition}\n\
56
- ${2}\n\
57
- end\n\
58
- snippet ife\n\
59
- if ${1:condition}\n\
60
- ${2}\n\
61
- else\n\
62
- ${3}\n\
63
- end\n\
64
- snippet elsif\n\
65
- elsif ${1:condition}\n\
66
- ${2}\n\
67
- snippet unless\n\
68
- unless ${1:condition}\n\
69
- ${2}\n\
70
- end\n\
71
- snippet while\n\
72
- while ${1:condition}\n\
73
- ${2}\n\
74
- end\n\
75
- snippet for\n\
76
- for ${1:e} in ${2:c}\n\
77
- ${3}\n\
78
- end\n\
79
- snippet until\n\
80
- until ${1:condition}\n\
81
- ${2}\n\
82
- end\n\
83
- snippet cla class .. end\n\
84
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
85
- ${2}\n\
86
- end\n\
87
- snippet cla class .. initialize .. end\n\
88
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
89
- def initialize(${2:args})\n\
90
- ${3}\n\
91
- end\n\
92
- end\n\
93
- snippet cla class .. < ParentClass .. initialize .. end\n\
94
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < ${2:ParentClass}\n\
95
- def initialize(${3:args})\n\
96
- ${4}\n\
97
- end\n\
98
- end\n\
99
- snippet cla ClassName = Struct .. do .. end\n\
100
- ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} = Struct.new(:${2:attr_names}) do\n\
101
- def ${3:method_name}\n\
102
- ${4}\n\
103
- end\n\
104
- end\n\
105
- snippet cla class BlankSlate .. initialize .. end\n\
106
- class ${1:BlankSlate}\n\
107
- instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\
108
- end\n\
109
- snippet cla class << self .. end\n\
110
- class << ${1:self}\n\
111
- ${2}\n\
112
- end\n\
113
- # class .. < DelegateClass .. initialize .. end\n\
114
- snippet cla-\n\
115
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < DelegateClass(${2:ParentClass})\n\
116
- def initialize(${3:args})\n\
117
- super(${4:del_obj})\n\
118
- \n\
119
- ${5}\n\
120
- end\n\
121
- end\n\
122
- snippet mod module .. end\n\
123
- module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
124
- ${2}\n\
125
- end\n\
126
- snippet mod module .. module_function .. end\n\
127
- module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
128
- module_function\n\
129
- \n\
130
- ${2}\n\
131
- end\n\
132
- snippet mod module .. ClassMethods .. end\n\
133
- module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
134
- module ClassMethods\n\
135
- ${2}\n\
136
- end\n\
137
- \n\
138
- module InstanceMethods\n\
139
- \n\
140
- end\n\
141
- \n\
142
- def self.included(receiver)\n\
143
- receiver.extend ClassMethods\n\
144
- receiver.send :include, InstanceMethods\n\
145
- end\n\
146
- end\n\
147
- # attr_reader\n\
148
- snippet r\n\
149
- attr_reader :${1:attr_names}\n\
150
- # attr_writer\n\
151
- snippet w\n\
152
- attr_writer :${1:attr_names}\n\
153
- # attr_accessor\n\
154
- snippet rw\n\
155
- attr_accessor :${1:attr_names}\n\
156
- snippet atp\n\
157
- attr_protected :${1:attr_names}\n\
158
- snippet ata\n\
159
- attr_accessible :${1:attr_names}\n\
160
- # include Enumerable\n\
161
- snippet Enum\n\
162
- include Enumerable\n\
163
- \n\
164
- def each(&block)\n\
165
- ${1}\n\
166
- end\n\
167
- # include Comparable\n\
168
- snippet Comp\n\
169
- include Comparable\n\
170
- \n\
171
- def <=>(other)\n\
172
- ${1}\n\
173
- end\n\
174
- # extend Forwardable\n\
175
- snippet Forw-\n\
176
- extend Forwardable\n\
177
- # def self\n\
178
- snippet defs\n\
179
- def self.${1:class_method_name}\n\
180
- ${2}\n\
181
- end\n\
182
- # def method_missing\n\
183
- snippet defmm\n\
184
- def method_missing(meth, *args, &blk)\n\
185
- ${1}\n\
186
- end\n\
187
- snippet defd\n\
188
- def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\n\
189
- snippet defds\n\
190
- def_delegators :${1:@del_obj}, :${2:del_methods}\n\
191
- snippet am\n\
192
- alias_method :${1:new_name}, :${2:old_name}\n\
193
- snippet app\n\
194
- if __FILE__ == $PROGRAM_NAME\n\
195
- ${1}\n\
196
- end\n\
197
- # usage_if()\n\
198
- snippet usai\n\
199
- if ARGV.${1}\n\
200
- abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\
201
- end\n\
202
- # usage_unless()\n\
203
- snippet usau\n\
204
- unless ARGV.${1}\n\
205
- abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\
206
- end\n\
207
- snippet array\n\
208
- Array.new(${1:10}) { |${2:i}| ${3} }\n\
209
- snippet hash\n\
210
- Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\n\
211
- snippet file File.foreach() { |line| .. }\n\
212
- File.foreach(${1:\"path/to/file\"}) { |${2:line}| ${3} }\n\
213
- snippet file File.read()\n\
214
- File.read(${1:\"path/to/file\"})${2}\n\
215
- snippet Dir Dir.global() { |file| .. }\n\
216
- Dir.glob(${1:\"dir/glob/*\"}) { |${2:file}| ${3} }\n\
217
- snippet Dir Dir[\"..\"]\n\
218
- Dir[${1:\"glob/**/*.rb\"}]${2}\n\
219
- snippet dir\n\
220
- Filename.dirname(__FILE__)\n\
221
- snippet deli\n\
222
- delete_if { |${1:e}| ${2} }\n\
223
- snippet fil\n\
224
- fill(${1:range}) { |${2:i}| ${3} }\n\
225
- # flatten_once()\n\
226
- snippet flao\n\
227
- inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\n\
228
- snippet zip\n\
229
- zip(${1:enums}) { |${2:row}| ${3} }\n\
230
- # downto(0) { |n| .. }\n\
231
- snippet dow\n\
232
- downto(${1:0}) { |${2:n}| ${3} }\n\
233
- snippet ste\n\
234
- step(${1:2}) { |${2:n}| ${3} }\n\
235
- snippet tim\n\
236
- times { |${1:n}| ${2} }\n\
237
- snippet upt\n\
238
- upto(${1:1.0/0.0}) { |${2:n}| ${3} }\n\
239
- snippet loo\n\
240
- loop { ${1} }\n\
241
- snippet ea\n\
242
- each { |${1:e}| ${2} }\n\
243
- snippet ead\n\
244
- each do |${1:e}|\n\
245
- ${2}\n\
246
- end\n\
247
- snippet eab\n\
248
- each_byte { |${1:byte}| ${2} }\n\
249
- snippet eac- each_char { |chr| .. }\n\
250
- each_char { |${1:chr}| ${2} }\n\
251
- snippet eac- each_cons(..) { |group| .. }\n\
252
- each_cons(${1:2}) { |${2:group}| ${3} }\n\
253
- snippet eai\n\
254
- each_index { |${1:i}| ${2} }\n\
255
- snippet eaid\n\
256
- each_index do |${1:i}|\n\
257
- ${2}\n\
258
- end\n\
259
- snippet eak\n\
260
- each_key { |${1:key}| ${2} }\n\
261
- snippet eakd\n\
262
- each_key do |${1:key}|\n\
263
- ${2}\n\
264
- end\n\
265
- snippet eal\n\
266
- each_line { |${1:line}| ${2} }\n\
267
- snippet eald\n\
268
- each_line do |${1:line}|\n\
269
- ${2}\n\
270
- end\n\
271
- snippet eap\n\
272
- each_pair { |${1:name}, ${2:val}| ${3} }\n\
273
- snippet eapd\n\
274
- each_pair do |${1:name}, ${2:val}|\n\
275
- ${3}\n\
276
- end\n\
277
- snippet eas-\n\
278
- each_slice(${1:2}) { |${2:group}| ${3} }\n\
279
- snippet easd-\n\
280
- each_slice(${1:2}) do |${2:group}|\n\
281
- ${3}\n\
282
- end\n\
283
- snippet eav\n\
284
- each_value { |${1:val}| ${2} }\n\
285
- snippet eavd\n\
286
- each_value do |${1:val}|\n\
287
- ${2}\n\
288
- end\n\
289
- snippet eawi\n\
290
- each_with_index { |${1:e}, ${2:i}| ${3} }\n\
291
- snippet eawid\n\
292
- each_with_index do |${1:e},${2:i}|\n\
293
- ${3}\n\
294
- end\n\
295
- snippet reve\n\
296
- reverse_each { |${1:e}| ${2} }\n\
297
- snippet reved\n\
298
- reverse_each do |${1:e}|\n\
299
- ${2}\n\
300
- end\n\
301
- snippet inj\n\
302
- inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\n\
303
- snippet injd\n\
304
- inject(${1:init}) do |${2:mem}, ${3:var}|\n\
305
- ${4}\n\
306
- end\n\
307
- snippet map\n\
308
- map { |${1:e}| ${2} }\n\
309
- snippet mapd\n\
310
- map do |${1:e}|\n\
311
- ${2}\n\
312
- end\n\
313
- snippet mapwi-\n\
314
- enum_with_index.map { |${1:e}, ${2:i}| ${3} }\n\
315
- snippet sor\n\
316
- sort { |a, b| ${1} }\n\
317
- snippet sorb\n\
318
- sort_by { |${1:e}| ${2} }\n\
319
- snippet ran\n\
320
- sort_by { rand }\n\
321
- snippet all\n\
322
- all? { |${1:e}| ${2} }\n\
323
- snippet any\n\
324
- any? { |${1:e}| ${2} }\n\
325
- snippet cl\n\
326
- classify { |${1:e}| ${2} }\n\
327
- snippet col\n\
328
- collect { |${1:e}| ${2} }\n\
329
- snippet cold\n\
330
- collect do |${1:e}|\n\
331
- ${2}\n\
332
- end\n\
333
- snippet det\n\
334
- detect { |${1:e}| ${2} }\n\
335
- snippet detd\n\
336
- detect do |${1:e}|\n\
337
- ${2}\n\
338
- end\n\
339
- snippet fet\n\
340
- fetch(${1:name}) { |${2:key}| ${3} }\n\
341
- snippet fin\n\
342
- find { |${1:e}| ${2} }\n\
343
- snippet find\n\
344
- find do |${1:e}|\n\
345
- ${2}\n\
346
- end\n\
347
- snippet fina\n\
348
- find_all { |${1:e}| ${2} }\n\
349
- snippet finad\n\
350
- find_all do |${1:e}|\n\
351
- ${2}\n\
352
- end\n\
353
- snippet gre\n\
354
- grep(${1:/pattern/}) { |${2:match}| ${3} }\n\
355
- snippet sub\n\
356
- ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\n\
357
- snippet sca\n\
358
- scan(${1:/pattern/}) { |${2:match}| ${3} }\n\
359
- snippet scad\n\
360
- scan(${1:/pattern/}) do |${2:match}|\n\
361
- ${3}\n\
362
- end\n\
363
- snippet max\n\
364
- max { |a, b| ${1} }\n\
365
- snippet min\n\
366
- min { |a, b| ${1} }\n\
367
- snippet par\n\
368
- partition { |${1:e}| ${2} }\n\
369
- snippet pard\n\
370
- partition do |${1:e}|\n\
371
- ${2}\n\
372
- end\n\
373
- snippet rej\n\
374
- reject { |${1:e}| ${2} }\n\
375
- snippet rejd\n\
376
- reject do |${1:e}|\n\
377
- ${2}\n\
378
- end\n\
379
- snippet sel\n\
380
- select { |${1:e}| ${2} }\n\
381
- snippet seld\n\
382
- select do |${1:e}|\n\
383
- ${2}\n\
384
- end\n\
385
- snippet lam\n\
386
- lambda { |${1:args}| ${2} }\n\
387
- snippet doo\n\
388
- do\n\
389
- ${1}\n\
390
- end\n\
391
- snippet dov\n\
392
- do |${1:variable}|\n\
393
- ${2}\n\
394
- end\n\
395
- snippet :\n\
396
- :${1:key} => ${2:\"value\"}${3}\n\
397
- snippet ope\n\
398
- open(${1:\"path/or/url/or/pipe\"}, \"${2:w}\") { |${3:io}| ${4} }\n\
399
- # path_from_here()\n\
400
- snippet fpath\n\
401
- File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n\
402
- # unix_filter {}\n\
403
- snippet unif\n\
404
- ARGF.each_line${1} do |${2:line}|\n\
405
- ${3}\n\
406
- end\n\
407
- # option_parse {}\n\
408
- snippet optp\n\
409
- require \"optparse\"\n\
410
- \n\
411
- options = {${1:default => \"args\"}}\n\
412
- \n\
413
- ARGV.options do |opts|\n\
414
- opts.banner = \"Usage: #{File.basename($PROGRAM_NAME)}\n\
415
- snippet opt\n\
416
- opts.on( \"-${1:o}\", \"--${2:long-option-name}\", ${3:String},\n\
417
- \"${4:Option description.}\") do |${5:opt}|\n\
418
- ${6}\n\
419
- end\n\
420
- snippet tc\n\
421
- require \"test/unit\"\n\
422
- \n\
423
- require \"${1:library_file_name}\"\n\
424
- \n\
425
- class Test${2:$1} < Test::Unit::TestCase\n\
426
- def test_${3:case_name}\n\
427
- ${4}\n\
428
- end\n\
429
- end\n\
430
- snippet ts\n\
431
- require \"test/unit\"\n\
432
- \n\
433
- require \"tc_${1:test_case_file}\"\n\
434
- require \"tc_${2:test_case_file}\"${3}\n\
435
- snippet as\n\
436
- assert ${1:test}, \"${2:Failure message.}\"${3}\n\
437
- snippet ase\n\
438
- assert_equal ${1:expected}, ${2:actual}${3}\n\
439
- snippet asne\n\
440
- assert_not_equal ${1:unexpected}, ${2:actual}${3}\n\
441
- snippet asid\n\
442
- assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\n\
443
- snippet asio\n\
444
- assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\n\
445
- snippet asko\n\
446
- assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\n\
447
- snippet asn\n\
448
- assert_nil ${1:instance}${2}\n\
449
- snippet asnn\n\
450
- assert_not_nil ${1:instance}${2}\n\
451
- snippet asm\n\
452
- assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\n\
453
- snippet asnm\n\
454
- assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\n\
455
- snippet aso\n\
456
- assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\n\
457
- snippet asr\n\
458
- assert_raise ${1:Exception} { ${2} }\n\
459
- snippet asrd\n\
460
- assert_raise ${1:Exception} do\n\
461
- ${2}\n\
462
- end\n\
463
- snippet asnr\n\
464
- assert_nothing_raised ${1:Exception} { ${2} }\n\
465
- snippet asnrd\n\
466
- assert_nothing_raised ${1:Exception} do\n\
467
- ${2}\n\
468
- end\n\
469
- snippet asrt\n\
470
- assert_respond_to ${1:object}, :${2:method}${3}\n\
471
- snippet ass assert_same(..)\n\
472
- assert_same ${1:expected}, ${2:actual}${3}\n\
473
- snippet ass assert_send(..)\n\
474
- assert_send [${1:object}, :${2:message}, ${3:args}]${4}\n\
475
- snippet asns\n\
476
- assert_not_same ${1:unexpected}, ${2:actual}${3}\n\
477
- snippet ast\n\
478
- assert_throws :${1:expected} { ${2} }\n\
479
- snippet astd\n\
480
- assert_throws :${1:expected} do\n\
481
- ${2}\n\
482
- end\n\
483
- snippet asnt\n\
484
- assert_nothing_thrown { ${1} }\n\
485
- snippet asntd\n\
486
- assert_nothing_thrown do\n\
487
- ${1}\n\
488
- end\n\
489
- snippet fl\n\
490
- flunk \"${1:Failure message.}\"${2}\n\
491
- # Benchmark.bmbm do .. end\n\
492
- snippet bm-\n\
493
- TESTS = ${1:10_000}\n\
494
- Benchmark.bmbm do |results|\n\
495
- ${2}\n\
496
- end\n\
497
- snippet rep\n\
498
- results.report(\"${1:name}:\") { TESTS.times { ${2} }}\n\
499
- # Marshal.dump(.., file)\n\
500
- snippet Md\n\
501
- File.open(${1:\"path/to/file.dump\"}, \"wb\") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n\
502
- # Mashal.load(obj)\n\
503
- snippet Ml\n\
504
- File.open(${1:\"path/to/file.dump\"}, \"rb\") { |${2:file}| Marshal.load($2) }${3}\n\
505
- # deep_copy(..)\n\
506
- snippet deec\n\
507
- Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\n\
508
- snippet Pn-\n\
509
- PStore.new(${1:\"file_name.pstore\"})${2}\n\
510
- snippet tra\n\
511
- transaction(${1:true}) { ${2} }\n\
512
- # xmlread(..)\n\
513
- snippet xml-\n\
514
- REXML::Document.new(File.read(${1:\"path/to/file\"}))${2}\n\
515
- # xpath(..) { .. }\n\
516
- snippet xpa\n\
517
- elements.each(${1:\"//Xpath\"}) do |${2:node}|\n\
518
- ${3}\n\
519
- end\n\
520
- # class_from_name()\n\
521
- snippet clafn\n\
522
- split(\"::\").inject(Object) { |par, const| par.const_get(const) }\n\
523
- # singleton_class()\n\
524
- snippet sinc\n\
525
- class << self; self end\n\
526
- snippet nam\n\
527
- namespace :${1:`Filename()`} do\n\
528
- ${2}\n\
529
- end\n\
530
- snippet tas\n\
531
- desc \"${1:Task description}\"\n\
532
- task :${2:task_name => [:dependent, :tasks]} do\n\
533
- ${3}\n\
534
- end\n\
535
- # block\n\
536
- snippet b\n\
537
- { |${1:var}| ${2} }\n\
538
- snippet begin\n\
539
- begin\n\
540
- raise 'A test exception.'\n\
541
- rescue Exception => e\n\
542
- puts e.message\n\
543
- puts e.backtrace.inspect\n\
544
- else\n\
545
- # other exception\n\
546
- ensure\n\
547
- # always executed\n\
548
- end\n\
549
- \n\
550
- #debugging\n\
551
- snippet debug\n\
552
- require 'ruby-debug'; debugger; true;\n\
553
- snippet pry\n\
554
- require 'pry'; binding.pry\n\
555
- \n\
556
- #############################################\n\
557
- # Rails snippets - for pure Ruby, see above #\n\
558
- #############################################\n\
559
- snippet art\n\
560
- assert_redirected_to ${1::action => \"${2:index}\"}\n\
561
- snippet artnp\n\
562
- assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\n\
563
- snippet artnpp\n\
564
- assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\n\
565
- snippet artp\n\
566
- assert_redirected_to ${1:model}_path(${2:@$1})\n\
567
- snippet artpp\n\
568
- assert_redirected_to ${1:model}s_path\n\
569
- snippet asd\n\
570
- assert_difference \"${1:Model}.${2:count}\", $1 do\n\
571
- ${3}\n\
572
- end\n\
573
- snippet asnd\n\
574
- assert_no_difference \"${1:Model}.${2:count}\" do\n\
575
- ${3}\n\
576
- end\n\
577
- snippet asre\n\
578
- assert_response :${1:success}, @response.body${2}\n\
579
- snippet asrj\n\
580
- assert_rjs :${1:replace}, \"${2:dom id}\"\n\
581
- snippet ass assert_select(..)\n\
582
- assert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do}\n\
583
- snippet bf\n\
584
- before_filter :${1:method}\n\
585
- snippet bt\n\
586
- belongs_to :${1:association}\n\
587
- snippet crw\n\
588
- cattr_accessor :${1:attr_names}\n\
589
- snippet defcreate\n\
590
- def create\n\
591
- @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\
592
- \n\
593
- respond_to do |wants|\n\
594
- if @$1.save\n\
595
- flash[:notice] = '$2 was successfully created.'\n\
596
- wants.html { redirect_to(@$1) }\n\
597
- wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\
598
- else\n\
599
- wants.html { render :action => \"new\" }\n\
600
- wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\
601
- end\n\
602
- end\n\
603
- end${3}\n\
604
- snippet defdestroy\n\
605
- def destroy\n\
606
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
607
- @$1.destroy\n\
608
- \n\
609
- respond_to do |wants|\n\
610
- wants.html { redirect_to($1s_url) }\n\
611
- wants.xml { head :ok }\n\
612
- end\n\
613
- end${3}\n\
614
- snippet defedit\n\
615
- def edit\n\
616
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
617
- end\n\
618
- snippet defindex\n\
619
- def index\n\
620
- @${1:model_class_name} = ${2:ModelClassName}.all\n\
621
- \n\
622
- respond_to do |wants|\n\
623
- wants.html # index.html.erb\n\
624
- wants.xml { render :xml => @$1s }\n\
625
- end\n\
626
- end${3}\n\
627
- snippet defnew\n\
628
- def new\n\
629
- @${1:model_class_name} = ${2:ModelClassName}.new\n\
630
- \n\
631
- respond_to do |wants|\n\
632
- wants.html # new.html.erb\n\
633
- wants.xml { render :xml => @$1 }\n\
634
- end\n\
635
- end${3}\n\
636
- snippet defshow\n\
637
- def show\n\
638
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
639
- \n\
640
- respond_to do |wants|\n\
641
- wants.html # show.html.erb\n\
642
- wants.xml { render :xml => @$1 }\n\
643
- end\n\
644
- end${3}\n\
645
- snippet defupdate\n\
646
- def update\n\
647
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
648
- \n\
649
- respond_to do |wants|\n\
650
- if @$1.update_attributes(params[:$1])\n\
651
- flash[:notice] = '$2 was successfully updated.'\n\
652
- wants.html { redirect_to(@$1) }\n\
653
- wants.xml { head :ok }\n\
654
- else\n\
655
- wants.html { render :action => \"edit\" }\n\
656
- wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\
657
- end\n\
658
- end\n\
659
- end${3}\n\
660
- snippet flash\n\
661
- flash[:${1:notice}] = \"${2}\"\n\
662
- snippet habtm\n\
663
- has_and_belongs_to_many :${1:object}, :join_table => \"${2:table_name}\", :foreign_key => \"${3}_id\"${4}\n\
664
- snippet hm\n\
665
- has_many :${1:object}\n\
666
- snippet hmd\n\
667
- has_many :${1:other}s, :class_name => \"${2:$1}\", :foreign_key => \"${3:$1}_id\", :dependent => :destroy${4}\n\
668
- snippet hmt\n\
669
- has_many :${1:object}, :through => :${2:object}\n\
670
- snippet ho\n\
671
- has_one :${1:object}\n\
672
- snippet i18\n\
673
- I18n.t('${1:type.key}')${2}\n\
674
- snippet ist\n\
675
- <%= image_submit_tag(\"${1:agree.png}\", :id => \"${2:id}\"${3} %>\n\
676
- snippet log\n\
677
- Rails.logger.${1:debug} ${2}\n\
678
- snippet log2\n\
679
- RAILS_DEFAULT_LOGGER.${1:debug} ${2}\n\
680
- snippet logd\n\
681
- logger.debug { \"${1:message}\" }${2}\n\
682
- snippet loge\n\
683
- logger.error { \"${1:message}\" }${2}\n\
684
- snippet logf\n\
685
- logger.fatal { \"${1:message}\" }${2}\n\
686
- snippet logi\n\
687
- logger.info { \"${1:message}\" }${2}\n\
688
- snippet logw\n\
689
- logger.warn { \"${1:message}\" }${2}\n\
690
- snippet mapc\n\
691
- ${1:map}.${2:connect} '${3:controller/:action/:id}'\n\
692
- snippet mapca\n\
693
- ${1:map}.catch_all \"*${2:anything}\", :controller => \"${3:default}\", :action => \"${4:error}\"${5}\n\
694
- snippet mapr\n\
695
- ${1:map}.resource :${2:resource}\n\
696
- snippet maprs\n\
697
- ${1:map}.resources :${2:resource}\n\
698
- snippet mapwo\n\
699
- ${1:map}.with_options :${2:controller} => '${3:thing}' do |$3|\n\
700
- ${4}\n\
701
- end\n\
702
- snippet mbs\n\
703
- before_save :${1:method}\n\
704
- snippet mcht\n\
705
- change_table :${1:table_name} do |t|\n\
706
- ${2}\n\
707
- end\n\
708
- snippet mp\n\
709
- map(&:${1:id})\n\
710
- snippet mrw\n\
711
- mattr_accessor :${1:attr_names}\n\
712
- snippet oa\n\
713
- order(\"${1:field}\")\n\
714
- snippet od\n\
715
- order(\"${1:field} DESC\")\n\
716
- snippet pa\n\
717
- params[:${1:id}]${2}\n\
718
- snippet ra\n\
719
- render :action => \"${1:action}\"\n\
720
- snippet ral\n\
721
- render :action => \"${1:action}\", :layout => \"${2:layoutname}\"\n\
722
- snippet rest\n\
723
- respond_to do |wants|\n\
724
- wants.${1:html} { ${2} }\n\
725
- end\n\
726
- snippet rf\n\
727
- render :file => \"${1:filepath}\"\n\
728
- snippet rfu\n\
729
- render :file => \"${1:filepath}\", :use_full_path => ${2:false}\n\
730
- snippet ri\n\
731
- render :inline => \"${1:<%= 'hello' %>}\"\n\
732
- snippet ril\n\
733
- render :inline => \"${1:<%= 'hello' %>}\", :locals => { ${2::name} => \"${3:value}\"${4} }\n\
734
- snippet rit\n\
735
- render :inline => \"${1:<%= 'hello' %>}\", :type => ${2::rxml}\n\
736
- snippet rjson\n\
737
- render :json => ${1:text to render}\n\
738
- snippet rl\n\
739
- render :layout => \"${1:layoutname}\"\n\
740
- snippet rn\n\
741
- render :nothing => ${1:true}\n\
742
- snippet rns\n\
743
- render :nothing => ${1:true}, :status => ${2:401}\n\
744
- snippet rp\n\
745
- render :partial => \"${1:item}\"\n\
746
- snippet rpc\n\
747
- render :partial => \"${1:item}\", :collection => ${2:@$1s}\n\
748
- snippet rpl\n\
749
- render :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}\n\
750
- snippet rpo\n\
751
- render :partial => \"${1:item}\", :object => ${2:@$1}\n\
752
- snippet rps\n\
753
- render :partial => \"${1:item}\", :status => ${2:500}\n\
754
- snippet rt\n\
755
- render :text => \"${1:text to render}\"\n\
756
- snippet rtl\n\
757
- render :text => \"${1:text to render}\", :layout => \"${2:layoutname}\"\n\
758
- snippet rtlt\n\
759
- render :text => \"${1:text to render}\", :layout => ${2:true}\n\
760
- snippet rts\n\
761
- render :text => \"${1:text to render}\", :status => ${2:401}\n\
762
- snippet ru\n\
763
- render :update do |${1:page}|\n\
764
- $1.${2}\n\
765
- end\n\
766
- snippet rxml\n\
767
- render :xml => ${1:text to render}\n\
768
- snippet sc\n\
769
- scope :${1:name}, :where(:@${2:field} => ${3:value})\n\
770
- snippet sl\n\
771
- scope :${1:name}, lambda do |${2:value}|\n\
772
- where(\"${3:field = ?}\", ${4:bind var})\n\
773
- end\n\
774
- snippet sha1\n\
775
- Digest::SHA1.hexdigest(${1:string})\n\
776
- snippet sweeper\n\
777
- class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n\
778
- observe $1\n\
779
- \n\
780
- def after_save(${2:model_class_name})\n\
781
- expire_cache($2)\n\
782
- end\n\
783
- \n\
784
- def after_destroy($2)\n\
785
- expire_cache($2)\n\
786
- end\n\
787
- \n\
788
- def expire_cache($2)\n\
789
- expire_page\n\
790
- end\n\
791
- end\n\
792
- snippet tcb\n\
793
- t.boolean :${1:title}\n\
794
- ${2}\n\
795
- snippet tcbi\n\
796
- t.binary :${1:title}, :limit => ${2:2}.megabytes\n\
797
- ${3}\n\
798
- snippet tcd\n\
799
- t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n\
800
- ${4}\n\
801
- snippet tcda\n\
802
- t.date :${1:title}\n\
803
- ${2}\n\
804
- snippet tcdt\n\
805
- t.datetime :${1:title}\n\
806
- ${2}\n\
807
- snippet tcf\n\
808
- t.float :${1:title}\n\
809
- ${2}\n\
810
- snippet tch\n\
811
- t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n\
812
- ${5}\n\
813
- snippet tci\n\
814
- t.integer :${1:title}\n\
815
- ${2}\n\
816
- snippet tcl\n\
817
- t.integer :lock_version, :null => false, :default => 0\n\
818
- ${1}\n\
819
- snippet tcr\n\
820
- t.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' }\n\
821
- ${3}\n\
822
- snippet tcs\n\
823
- t.string :${1:title}\n\
824
- ${2}\n\
825
- snippet tct\n\
826
- t.text :${1:title}\n\
827
- ${2}\n\
828
- snippet tcti\n\
829
- t.time :${1:title}\n\
830
- ${2}\n\
831
- snippet tcts\n\
832
- t.timestamp :${1:title}\n\
833
- ${2}\n\
834
- snippet tctss\n\
835
- t.timestamps\n\
836
- ${1}\n\
837
- snippet va\n\
838
- validates_associated :${1:attribute}\n\
839
- snippet vao\n\
840
- validates_acceptance_of :${1:terms}\n\
841
- snippet vc\n\
842
- validates_confirmation_of :${1:attribute}\n\
843
- snippet ve\n\
844
- validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\n\
845
- snippet vf\n\
846
- validates_format_of :${1:attribute}, :with => /${2:regex}/\n\
847
- snippet vi\n\
848
- validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\n\
849
- snippet vl\n\
850
- validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\n\
851
- snippet vn\n\
852
- validates_numericality_of :${1:attribute}\n\
853
- snippet vpo\n\
854
- validates_presence_of :${1:attribute}\n\
855
- snippet vu\n\
856
- validates_uniqueness_of :${1:attribute}\n\
857
- snippet wants\n\
858
- wants.${1:js|xml|html} { ${2} }\n\
859
- snippet wc\n\
860
- where(${1:\"conditions\"}${2:, bind_var})\n\
861
- snippet wh\n\
862
- where(${1:field} => ${2:value})\n\
863
- snippet xdelete\n\
864
- xhr :delete, :${1:destroy}, :id => ${2:1}${3}\n\
865
- snippet xget\n\
866
- xhr :get, :${1:show}, :id => ${2:1}${3}\n\
867
- snippet xpost\n\
868
- xhr :post, :${1:create}, :${2:object} => { ${3} }\n\
869
- snippet xput\n\
870
- xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\n\
871
- snippet test\n\
872
- test \"should ${1:do something}\" do\n\
873
- ${2}\n\
874
- end\n\
875
- #migrations\n\
876
- snippet mac\n\
877
- add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\n\
878
- snippet mrc\n\
879
- remove_column :${1:table_name}, :${2:column_name}\n\
880
- snippet mrnc\n\
881
- rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\n\
882
- snippet mcc\n\
883
- change_column :${1:table}, :${2:column}, :${3:type}\n\
884
- snippet mccc\n\
885
- t.column :${1:title}, :${2:string}\n\
886
- snippet mct\n\
887
- create_table :${1:table_name} do |t|\n\
888
- t.column :${2:name}, :${3:type}\n\
889
- end\n\
890
- snippet migration\n\
891
- class ${1:class_name} < ActiveRecord::Migration\n\
892
- def self.up\n\
893
- ${2}\n\
894
- end\n\
895
- \n\
896
- def self.down\n\
897
- end\n\
898
- end\n\
899
- \n\
900
- snippet trc\n\
901
- t.remove :${1:column}\n\
902
- snippet tre\n\
903
- t.rename :${1:old_column_name}, :${2:new_column_name}\n\
904
- ${3}\n\
905
- snippet tref\n\
906
- t.references :${1:model}\n\
907
- \n\
908
- #rspec\n\
909
- snippet it\n\
910
- it \"${1:spec_name}\" do\n\
911
- ${2}\n\
912
- end\n\
913
- snippet itp\n\
914
- it \"${1:spec_name}\"\n\
915
- ${2}\n\
916
- snippet desc\n\
917
- describe ${1:class_name} do\n\
918
- ${2}\n\
919
- end\n\
920
- snippet cont\n\
921
- context \"${1:message}\" do\n\
922
- ${2}\n\
923
- end\n\
924
- snippet bef\n\
925
- before :${1:each} do\n\
926
- ${2}\n\
927
- end\n\
928
- snippet aft\n\
929
- after :${1:each} do\n\
930
- ${2}\n\
931
- end\n\
932
- ";
933
- exports.scope = "ruby";
934
-
935
- }); (function() {
936
- ace.require(["ace/snippets/ruby"], function(m) {
937
- if (typeof module == "object" && typeof exports == "object" && module) {
938
- module.exports = m;
939
- }
940
- });
941
- })();
942
-
1
+ ace.define("ace/snippets/ruby",["require","exports","module"],(function(n,t,e){"use strict";t.snippetText='########################################\n# Ruby snippets - for Rails, see below #\n########################################\n\n# encoding for Ruby 1.9\nsnippet enc\n\t# encoding: utf-8\n\n# #!/usr/bin/env ruby\nsnippet #!\n\t#!/usr/bin/env ruby\n\t# encoding: utf-8\n\n# New Block\nsnippet =b\n\t=begin rdoc\n\t\t${1}\n\t=end\nsnippet y\n\t:yields: ${1:arguments}\nsnippet rb\n\t#!/usr/bin/env ruby -wKU\nsnippet beg\n\tbegin\n\t\t${3}\n\trescue ${1:Exception} => ${2:e}\n\tend\n\nsnippet req require\n\trequire "${1}"${2}\nsnippet #\n\t# =>\nsnippet end\n\t__END__\nsnippet case\n\tcase ${1:object}\n\twhen ${2:condition}\n\t\t${3}\n\tend\nsnippet when\n\twhen ${1:condition}\n\t\t${2}\nsnippet def\n\tdef ${1:method_name}\n\t\t${2}\n\tend\nsnippet deft\n\tdef test_${1:case_name}\n\t\t${2}\n\tend\nsnippet if\n\tif ${1:condition}\n\t\t${2}\n\tend\nsnippet ife\n\tif ${1:condition}\n\t\t${2}\n\telse\n\t\t${3}\n\tend\nsnippet elsif\n\telsif ${1:condition}\n\t\t${2}\nsnippet unless\n\tunless ${1:condition}\n\t\t${2}\n\tend\nsnippet while\n\twhile ${1:condition}\n\t\t${2}\n\tend\nsnippet for\n\tfor ${1:e} in ${2:c}\n\t\t${3}\n\tend\nsnippet until\n\tuntil ${1:condition}\n\t\t${2}\n\tend\nsnippet cla class .. end\n\tclass ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n\t\t${2}\n\tend\nsnippet cla class .. initialize .. end\n\tclass ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n\t\tdef initialize(${2:args})\n\t\t\t${3}\n\t\tend\n\tend\nsnippet cla class .. < ParentClass .. initialize .. end\n\tclass ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < ${2:ParentClass}\n\t\tdef initialize(${3:args})\n\t\t\t${4}\n\t\tend\n\tend\nsnippet cla ClassName = Struct .. do .. end\n\t${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} = Struct.new(:${2:attr_names}) do\n\t\tdef ${3:method_name}\n\t\t\t${4}\n\t\tend\n\tend\nsnippet cla class BlankSlate .. initialize .. end\n\tclass ${1:BlankSlate}\n\t\tinstance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\tend\nsnippet cla class << self .. end\n\tclass << ${1:self}\n\t\t${2}\n\tend\n# class .. < DelegateClass .. initialize .. end\nsnippet cla-\n\tclass ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`} < DelegateClass(${2:ParentClass})\n\t\tdef initialize(${3:args})\n\t\t\tsuper(${4:del_obj})\n\n\t\t\t${5}\n\t\tend\n\tend\nsnippet mod module .. end\n\tmodule ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n\t\t${2}\n\tend\nsnippet mod module .. module_function .. end\n\tmodule ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n\t\tmodule_function\n\n\t\t${2}\n\tend\nsnippet mod module .. ClassMethods .. end\n\tmodule ${1:`substitute(Filename(), \'\\(_\\|^\\)\\(.\\)\', \'\\u\\2\', \'g\')`}\n\t\tmodule ClassMethods\n\t\t\t${2}\n\t\tend\n\n\t\tmodule InstanceMethods\n\n\t\tend\n\n\t\tdef self.included(receiver)\n\t\t\treceiver.extend ClassMethods\n\t\t\treceiver.send :include, InstanceMethods\n\t\tend\n\tend\n# attr_reader\nsnippet r\n\tattr_reader :${1:attr_names}\n# attr_writer\nsnippet w\n\tattr_writer :${1:attr_names}\n# attr_accessor\nsnippet rw\n\tattr_accessor :${1:attr_names}\nsnippet atp\n\tattr_protected :${1:attr_names}\nsnippet ata\n\tattr_accessible :${1:attr_names}\n# include Enumerable\nsnippet Enum\n\tinclude Enumerable\n\n\tdef each(&block)\n\t\t${1}\n\tend\n# include Comparable\nsnippet Comp\n\tinclude Comparable\n\n\tdef <=>(other)\n\t\t${1}\n\tend\n# extend Forwardable\nsnippet Forw-\n\textend Forwardable\n# def self\nsnippet defs\n\tdef self.${1:class_method_name}\n\t\t${2}\n\tend\n# def method_missing\nsnippet defmm\n\tdef method_missing(meth, *args, &blk)\n\t\t${1}\n\tend\nsnippet defd\n\tdef_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\nsnippet defds\n\tdef_delegators :${1:@del_obj}, :${2:del_methods}\nsnippet am\n\talias_method :${1:new_name}, :${2:old_name}\nsnippet app\n\tif __FILE__ == $PROGRAM_NAME\n\t\t${1}\n\tend\n# usage_if()\nsnippet usai\n\tif ARGV.${1}\n\t\tabort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n\tend\n# usage_unless()\nsnippet usau\n\tunless ARGV.${1}\n\t\tabort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3}\n\tend\nsnippet array\n\tArray.new(${1:10}) { |${2:i}| ${3} }\nsnippet hash\n\tHash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\nsnippet file File.foreach() { |line| .. }\n\tFile.foreach(${1:"path/to/file"}) { |${2:line}| ${3} }\nsnippet file File.read()\n\tFile.read(${1:"path/to/file"})${2}\nsnippet Dir Dir.global() { |file| .. }\n\tDir.glob(${1:"dir/glob/*"}) { |${2:file}| ${3} }\nsnippet Dir Dir[".."]\n\tDir[${1:"glob/**/*.rb"}]${2}\nsnippet dir\n\tFilename.dirname(__FILE__)\nsnippet deli\n\tdelete_if { |${1:e}| ${2} }\nsnippet fil\n\tfill(${1:range}) { |${2:i}| ${3} }\n# flatten_once()\nsnippet flao\n\tinject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\nsnippet zip\n\tzip(${1:enums}) { |${2:row}| ${3} }\n# downto(0) { |n| .. }\nsnippet dow\n\tdownto(${1:0}) { |${2:n}| ${3} }\nsnippet ste\n\tstep(${1:2}) { |${2:n}| ${3} }\nsnippet tim\n\ttimes { |${1:n}| ${2} }\nsnippet upt\n\tupto(${1:1.0/0.0}) { |${2:n}| ${3} }\nsnippet loo\n\tloop { ${1} }\nsnippet ea\n\teach { |${1:e}| ${2} }\nsnippet ead\n\teach do |${1:e}|\n\t\t${2}\n\tend\nsnippet eab\n\teach_byte { |${1:byte}| ${2} }\nsnippet eac- each_char { |chr| .. }\n\teach_char { |${1:chr}| ${2} }\nsnippet eac- each_cons(..) { |group| .. }\n\teach_cons(${1:2}) { |${2:group}| ${3} }\nsnippet eai\n\teach_index { |${1:i}| ${2} }\nsnippet eaid\n\teach_index do |${1:i}|\n\t\t${2}\n\tend\nsnippet eak\n\teach_key { |${1:key}| ${2} }\nsnippet eakd\n\teach_key do |${1:key}|\n\t\t${2}\n\tend\nsnippet eal\n\teach_line { |${1:line}| ${2} }\nsnippet eald\n\teach_line do |${1:line}|\n\t\t${2}\n\tend\nsnippet eap\n\teach_pair { |${1:name}, ${2:val}| ${3} }\nsnippet eapd\n\teach_pair do |${1:name}, ${2:val}|\n\t\t${3}\n\tend\nsnippet eas-\n\teach_slice(${1:2}) { |${2:group}| ${3} }\nsnippet easd-\n\teach_slice(${1:2}) do |${2:group}|\n\t\t${3}\n\tend\nsnippet eav\n\teach_value { |${1:val}| ${2} }\nsnippet eavd\n\teach_value do |${1:val}|\n\t\t${2}\n\tend\nsnippet eawi\n\teach_with_index { |${1:e}, ${2:i}| ${3} }\nsnippet eawid\n\teach_with_index do |${1:e},${2:i}|\n\t\t${3}\n\tend\nsnippet reve\n\treverse_each { |${1:e}| ${2} }\nsnippet reved\n\treverse_each do |${1:e}|\n\t\t${2}\n\tend\nsnippet inj\n\tinject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\nsnippet injd\n\tinject(${1:init}) do |${2:mem}, ${3:var}|\n\t\t${4}\n\tend\nsnippet map\n\tmap { |${1:e}| ${2} }\nsnippet mapd\n\tmap do |${1:e}|\n\t\t${2}\n\tend\nsnippet mapwi-\n\tenum_with_index.map { |${1:e}, ${2:i}| ${3} }\nsnippet sor\n\tsort { |a, b| ${1} }\nsnippet sorb\n\tsort_by { |${1:e}| ${2} }\nsnippet ran\n\tsort_by { rand }\nsnippet all\n\tall? { |${1:e}| ${2} }\nsnippet any\n\tany? { |${1:e}| ${2} }\nsnippet cl\n\tclassify { |${1:e}| ${2} }\nsnippet col\n\tcollect { |${1:e}| ${2} }\nsnippet cold\n\tcollect do |${1:e}|\n\t\t${2}\n\tend\nsnippet det\n\tdetect { |${1:e}| ${2} }\nsnippet detd\n\tdetect do |${1:e}|\n\t\t${2}\n\tend\nsnippet fet\n\tfetch(${1:name}) { |${2:key}| ${3} }\nsnippet fin\n\tfind { |${1:e}| ${2} }\nsnippet find\n\tfind do |${1:e}|\n\t\t${2}\n\tend\nsnippet fina\n\tfind_all { |${1:e}| ${2} }\nsnippet finad\n\tfind_all do |${1:e}|\n\t\t${2}\n\tend\nsnippet gre\n\tgrep(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet sub\n\t${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\nsnippet sca\n\tscan(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet scad\n\tscan(${1:/pattern/}) do |${2:match}|\n\t\t${3}\n\tend\nsnippet max\n\tmax { |a, b| ${1} }\nsnippet min\n\tmin { |a, b| ${1} }\nsnippet par\n\tpartition { |${1:e}| ${2} }\nsnippet pard\n\tpartition do |${1:e}|\n\t\t${2}\n\tend\nsnippet rej\n\treject { |${1:e}| ${2} }\nsnippet rejd\n\treject do |${1:e}|\n\t\t${2}\n\tend\nsnippet sel\n\tselect { |${1:e}| ${2} }\nsnippet seld\n\tselect do |${1:e}|\n\t\t${2}\n\tend\nsnippet lam\n\tlambda { |${1:args}| ${2} }\nsnippet doo\n\tdo\n\t\t${1}\n\tend\nsnippet dov\n\tdo |${1:variable}|\n\t\t${2}\n\tend\nsnippet :\n\t:${1:key} => ${2:"value"}${3}\nsnippet ope\n\topen(${1:"path/or/url/or/pipe"}, "${2:w}") { |${3:io}| ${4} }\n# path_from_here()\nsnippet fpath\n\tFile.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n# unix_filter {}\nsnippet unif\n\tARGF.each_line${1} do |${2:line}|\n\t\t${3}\n\tend\n# option_parse {}\nsnippet optp\n\trequire "optparse"\n\n\toptions = {${1:default => "args"}}\n\n\tARGV.options do |opts|\n\t\topts.banner = "Usage: #{File.basename($PROGRAM_NAME)}\nsnippet opt\n\topts.on( "-${1:o}", "--${2:long-option-name}", ${3:String},\n\t "${4:Option description.}") do |${5:opt}|\n\t\t${6}\n\tend\nsnippet tc\n\trequire "test/unit"\n\n\trequire "${1:library_file_name}"\n\n\tclass Test${2:$1} < Test::Unit::TestCase\n\t\tdef test_${3:case_name}\n\t\t\t${4}\n\t\tend\n\tend\nsnippet ts\n\trequire "test/unit"\n\n\trequire "tc_${1:test_case_file}"\n\trequire "tc_${2:test_case_file}"${3}\nsnippet as\n\tassert ${1:test}, "${2:Failure message.}"${3}\nsnippet ase\n\tassert_equal ${1:expected}, ${2:actual}${3}\nsnippet asne\n\tassert_not_equal ${1:unexpected}, ${2:actual}${3}\nsnippet asid\n\tassert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\nsnippet asio\n\tassert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\nsnippet asko\n\tassert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\nsnippet asn\n\tassert_nil ${1:instance}${2}\nsnippet asnn\n\tassert_not_nil ${1:instance}${2}\nsnippet asm\n\tassert_match /${1:expected_pattern}/, ${2:actual_string}${3}\nsnippet asnm\n\tassert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\nsnippet aso\n\tassert_operator ${1:left}, :${2:operator}, ${3:right}${4}\nsnippet asr\n\tassert_raise ${1:Exception} { ${2} }\nsnippet asrd\n\tassert_raise ${1:Exception} do\n\t\t${2}\n\tend\nsnippet asnr\n\tassert_nothing_raised ${1:Exception} { ${2} }\nsnippet asnrd\n\tassert_nothing_raised ${1:Exception} do\n\t\t${2}\n\tend\nsnippet asrt\n\tassert_respond_to ${1:object}, :${2:method}${3}\nsnippet ass assert_same(..)\n\tassert_same ${1:expected}, ${2:actual}${3}\nsnippet ass assert_send(..)\n\tassert_send [${1:object}, :${2:message}, ${3:args}]${4}\nsnippet asns\n\tassert_not_same ${1:unexpected}, ${2:actual}${3}\nsnippet ast\n\tassert_throws :${1:expected} { ${2} }\nsnippet astd\n\tassert_throws :${1:expected} do\n\t\t${2}\n\tend\nsnippet asnt\n\tassert_nothing_thrown { ${1} }\nsnippet asntd\n\tassert_nothing_thrown do\n\t\t${1}\n\tend\nsnippet fl\n\tflunk "${1:Failure message.}"${2}\n# Benchmark.bmbm do .. end\nsnippet bm-\n\tTESTS = ${1:10_000}\n\tBenchmark.bmbm do |results|\n\t\t${2}\n\tend\nsnippet rep\n\tresults.report("${1:name}:") { TESTS.times { ${2} }}\n# Marshal.dump(.., file)\nsnippet Md\n\tFile.open(${1:"path/to/file.dump"}, "wb") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n# Mashal.load(obj)\nsnippet Ml\n\tFile.open(${1:"path/to/file.dump"}, "rb") { |${2:file}| Marshal.load($2) }${3}\n# deep_copy(..)\nsnippet deec\n\tMarshal.load(Marshal.dump(${1:obj_to_copy}))${2}\nsnippet Pn-\n\tPStore.new(${1:"file_name.pstore"})${2}\nsnippet tra\n\ttransaction(${1:true}) { ${2} }\n# xmlread(..)\nsnippet xml-\n\tREXML::Document.new(File.read(${1:"path/to/file"}))${2}\n# xpath(..) { .. }\nsnippet xpa\n\telements.each(${1:"//Xpath"}) do |${2:node}|\n\t\t${3}\n\tend\n# class_from_name()\nsnippet clafn\n\tsplit("::").inject(Object) { |par, const| par.const_get(const) }\n# singleton_class()\nsnippet sinc\n\tclass << self; self end\nsnippet nam\n\tnamespace :${1:`Filename()`} do\n\t\t${2}\n\tend\nsnippet tas\n\tdesc "${1:Task description}"\n\ttask :${2:task_name => [:dependent, :tasks]} do\n\t\t${3}\n\tend\n# block\nsnippet b\n\t{ |${1:var}| ${2} }\nsnippet begin\n\tbegin\n\t\traise \'A test exception.\'\n\trescue Exception => e\n\t\tputs e.message\n\t\tputs e.backtrace.inspect\n\telse\n\t\t# other exception\n\tensure\n\t\t# always executed\n\tend\n\n#debugging\nsnippet debug\n\trequire \'ruby-debug\'; debugger; true;\nsnippet pry\n\trequire \'pry\'; binding.pry\n\n#############################################\n# Rails snippets - for pure Ruby, see above #\n#############################################\nsnippet art\n\tassert_redirected_to ${1::action => "${2:index}"}\nsnippet artnp\n\tassert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\nsnippet artnpp\n\tassert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\nsnippet artp\n\tassert_redirected_to ${1:model}_path(${2:@$1})\nsnippet artpp\n\tassert_redirected_to ${1:model}s_path\nsnippet asd\n\tassert_difference "${1:Model}.${2:count}", $1 do\n\t\t${3}\n\tend\nsnippet asnd\n\tassert_no_difference "${1:Model}.${2:count}" do\n\t\t${3}\n\tend\nsnippet asre\n\tassert_response :${1:success}, @response.body${2}\nsnippet asrj\n\tassert_rjs :${1:replace}, "${2:dom id}"\nsnippet ass assert_select(..)\n\tassert_select \'${1:path}\', :${2:text} => \'${3:inner_html\' ${4:do}\nsnippet bf\n\tbefore_filter :${1:method}\nsnippet bt\n\tbelongs_to :${1:association}\nsnippet crw\n\tcattr_accessor :${1:attr_names}\nsnippet defcreate\n\tdef create\n\t\t@${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\n\t\trespond_to do |wants|\n\t\t\tif @$1.save\n\t\t\t\tflash[:notice] = \'$2 was successfully created.\'\n\t\t\t\twants.html { redirect_to(@$1) }\n\t\t\t\twants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\t\t\telse\n\t\t\t\twants.html { render :action => "new" }\n\t\t\t\twants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\t\t\tend\n\t\tend\n\tend${3}\nsnippet defdestroy\n\tdef destroy\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\t\t@$1.destroy\n\n\t\trespond_to do |wants|\n\t\t\twants.html { redirect_to($1s_url) }\n\t\t\twants.xml { head :ok }\n\t\tend\n\tend${3}\nsnippet defedit\n\tdef edit\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\tend\nsnippet defindex\n\tdef index\n\t\t@${1:model_class_name} = ${2:ModelClassName}.all\n\n\t\trespond_to do |wants|\n\t\t\twants.html # index.html.erb\n\t\t\twants.xml { render :xml => @$1s }\n\t\tend\n\tend${3}\nsnippet defnew\n\tdef new\n\t\t@${1:model_class_name} = ${2:ModelClassName}.new\n\n\t\trespond_to do |wants|\n\t\t\twants.html # new.html.erb\n\t\t\twants.xml { render :xml => @$1 }\n\t\tend\n\tend${3}\nsnippet defshow\n\tdef show\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n\t\trespond_to do |wants|\n\t\t\twants.html # show.html.erb\n\t\t\twants.xml { render :xml => @$1 }\n\t\tend\n\tend${3}\nsnippet defupdate\n\tdef update\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n\t\trespond_to do |wants|\n\t\t\tif @$1.update_attributes(params[:$1])\n\t\t\t\tflash[:notice] = \'$2 was successfully updated.\'\n\t\t\t\twants.html { redirect_to(@$1) }\n\t\t\t\twants.xml { head :ok }\n\t\t\telse\n\t\t\t\twants.html { render :action => "edit" }\n\t\t\t\twants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\t\t\tend\n\t\tend\n\tend${3}\nsnippet flash\n\tflash[:${1:notice}] = "${2}"\nsnippet habtm\n\thas_and_belongs_to_many :${1:object}, :join_table => "${2:table_name}", :foreign_key => "${3}_id"${4}\nsnippet hm\n\thas_many :${1:object}\nsnippet hmd\n\thas_many :${1:other}s, :class_name => "${2:$1}", :foreign_key => "${3:$1}_id", :dependent => :destroy${4}\nsnippet hmt\n\thas_many :${1:object}, :through => :${2:object}\nsnippet ho\n\thas_one :${1:object}\nsnippet i18\n\tI18n.t(\'${1:type.key}\')${2}\nsnippet ist\n\t<%= image_submit_tag("${1:agree.png}", :id => "${2:id}"${3} %>\nsnippet log\n\tRails.logger.${1:debug} ${2}\nsnippet log2\n\tRAILS_DEFAULT_LOGGER.${1:debug} ${2}\nsnippet logd\n\tlogger.debug { "${1:message}" }${2}\nsnippet loge\n\tlogger.error { "${1:message}" }${2}\nsnippet logf\n\tlogger.fatal { "${1:message}" }${2}\nsnippet logi\n\tlogger.info { "${1:message}" }${2}\nsnippet logw\n\tlogger.warn { "${1:message}" }${2}\nsnippet mapc\n\t${1:map}.${2:connect} \'${3:controller/:action/:id}\'\nsnippet mapca\n\t${1:map}.catch_all "*${2:anything}", :controller => "${3:default}", :action => "${4:error}"${5}\nsnippet mapr\n\t${1:map}.resource :${2:resource}\nsnippet maprs\n\t${1:map}.resources :${2:resource}\nsnippet mapwo\n\t${1:map}.with_options :${2:controller} => \'${3:thing}\' do |$3|\n\t\t${4}\n\tend\nsnippet mbs\n\tbefore_save :${1:method}\nsnippet mcht\n\tchange_table :${1:table_name} do |t|\n\t\t${2}\n\tend\nsnippet mp\n\tmap(&:${1:id})\nsnippet mrw\n\tmattr_accessor :${1:attr_names}\nsnippet oa\n\torder("${1:field}")\nsnippet od\n\torder("${1:field} DESC")\nsnippet pa\n\tparams[:${1:id}]${2}\nsnippet ra\n\trender :action => "${1:action}"\nsnippet ral\n\trender :action => "${1:action}", :layout => "${2:layoutname}"\nsnippet rest\n\trespond_to do |wants|\n\t\twants.${1:html} { ${2} }\n\tend\nsnippet rf\n\trender :file => "${1:filepath}"\nsnippet rfu\n\trender :file => "${1:filepath}", :use_full_path => ${2:false}\nsnippet ri\n\trender :inline => "${1:<%= \'hello\' %>}"\nsnippet ril\n\trender :inline => "${1:<%= \'hello\' %>}", :locals => { ${2::name} => "${3:value}"${4} }\nsnippet rit\n\trender :inline => "${1:<%= \'hello\' %>}", :type => ${2::rxml}\nsnippet rjson\n\trender :json => ${1:text to render}\nsnippet rl\n\trender :layout => "${1:layoutname}"\nsnippet rn\n\trender :nothing => ${1:true}\nsnippet rns\n\trender :nothing => ${1:true}, :status => ${2:401}\nsnippet rp\n\trender :partial => "${1:item}"\nsnippet rpc\n\trender :partial => "${1:item}", :collection => ${2:@$1s}\nsnippet rpl\n\trender :partial => "${1:item}", :locals => { :${2:$1} => ${3:@$1}\nsnippet rpo\n\trender :partial => "${1:item}", :object => ${2:@$1}\nsnippet rps\n\trender :partial => "${1:item}", :status => ${2:500}\nsnippet rt\n\trender :text => "${1:text to render}"\nsnippet rtl\n\trender :text => "${1:text to render}", :layout => "${2:layoutname}"\nsnippet rtlt\n\trender :text => "${1:text to render}", :layout => ${2:true}\nsnippet rts\n\trender :text => "${1:text to render}", :status => ${2:401}\nsnippet ru\n\trender :update do |${1:page}|\n\t\t$1.${2}\n\tend\nsnippet rxml\n\trender :xml => ${1:text to render}\nsnippet sc\n\tscope :${1:name}, :where(:@${2:field} => ${3:value})\nsnippet sl\n\tscope :${1:name}, lambda do |${2:value}|\n\t\twhere("${3:field = ?}", ${4:bind var})\n\tend\nsnippet sha1\n\tDigest::SHA1.hexdigest(${1:string})\nsnippet sweeper\n\tclass ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n\t\tobserve $1\n\n\t\tdef after_save(${2:model_class_name})\n\t\t\texpire_cache($2)\n\t\tend\n\n\t\tdef after_destroy($2)\n\t\t\texpire_cache($2)\n\t\tend\n\n\t\tdef expire_cache($2)\n\t\t\texpire_page\n\t\tend\n\tend\nsnippet tcb\n\tt.boolean :${1:title}\n\t${2}\nsnippet tcbi\n\tt.binary :${1:title}, :limit => ${2:2}.megabytes\n\t${3}\nsnippet tcd\n\tt.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n\t${4}\nsnippet tcda\n\tt.date :${1:title}\n\t${2}\nsnippet tcdt\n\tt.datetime :${1:title}\n\t${2}\nsnippet tcf\n\tt.float :${1:title}\n\t${2}\nsnippet tch\n\tt.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n\t${5}\nsnippet tci\n\tt.integer :${1:title}\n\t${2}\nsnippet tcl\n\tt.integer :lock_version, :null => false, :default => 0\n\t${1}\nsnippet tcr\n\tt.references :${1:taggable}, :polymorphic => { :default => \'${2:Photo}\' }\n\t${3}\nsnippet tcs\n\tt.string :${1:title}\n\t${2}\nsnippet tct\n\tt.text :${1:title}\n\t${2}\nsnippet tcti\n\tt.time :${1:title}\n\t${2}\nsnippet tcts\n\tt.timestamp :${1:title}\n\t${2}\nsnippet tctss\n\tt.timestamps\n\t${1}\nsnippet va\n\tvalidates_associated :${1:attribute}\nsnippet vao\n\tvalidates_acceptance_of :${1:terms}\nsnippet vc\n\tvalidates_confirmation_of :${1:attribute}\nsnippet ve\n\tvalidates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\nsnippet vf\n\tvalidates_format_of :${1:attribute}, :with => /${2:regex}/\nsnippet vi\n\tvalidates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\nsnippet vl\n\tvalidates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\nsnippet vn\n\tvalidates_numericality_of :${1:attribute}\nsnippet vpo\n\tvalidates_presence_of :${1:attribute}\nsnippet vu\n\tvalidates_uniqueness_of :${1:attribute}\nsnippet wants\n\twants.${1:js|xml|html} { ${2} }\nsnippet wc\n\twhere(${1:"conditions"}${2:, bind_var})\nsnippet wh\n\twhere(${1:field} => ${2:value})\nsnippet xdelete\n\txhr :delete, :${1:destroy}, :id => ${2:1}${3}\nsnippet xget\n\txhr :get, :${1:show}, :id => ${2:1}${3}\nsnippet xpost\n\txhr :post, :${1:create}, :${2:object} => { ${3} }\nsnippet xput\n\txhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\nsnippet test\n\ttest "should ${1:do something}" do\n\t\t${2}\n\tend\n#migrations\nsnippet mac\n\tadd_column :${1:table_name}, :${2:column_name}, :${3:data_type}\nsnippet mrc\n\tremove_column :${1:table_name}, :${2:column_name}\nsnippet mrnc\n\trename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\nsnippet mcc\n\tchange_column :${1:table}, :${2:column}, :${3:type}\nsnippet mccc\n\tt.column :${1:title}, :${2:string}\nsnippet mct\n\tcreate_table :${1:table_name} do |t|\n\t\tt.column :${2:name}, :${3:type}\n\tend\nsnippet migration\n\tclass ${1:class_name} < ActiveRecord::Migration\n\t\tdef self.up\n\t\t\t${2}\n\t\tend\n\n\t\tdef self.down\n\t\tend\n\tend\n\nsnippet trc\n\tt.remove :${1:column}\nsnippet tre\n\tt.rename :${1:old_column_name}, :${2:new_column_name}\n\t${3}\nsnippet tref\n\tt.references :${1:model}\n\n#rspec\nsnippet it\n\tit "${1:spec_name}" do\n\t\t${2}\n\tend\nsnippet itp\n\tit "${1:spec_name}"\n\t${2}\nsnippet desc\n\tdescribe ${1:class_name} do\n\t\t${2}\n\tend\nsnippet cont\n\tcontext "${1:message}" do\n\t\t${2}\n\tend\nsnippet bef\n\tbefore :${1:each} do\n\t\t${2}\n\tend\nsnippet aft\n\tafter :${1:each} do\n\t\t${2}\n\tend\n',t.scope="ruby"})),ace.require(["ace/snippets/ruby"],(function(n){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=n)}));