yellow-brick-road 0.1.1

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 (233) hide show
  1. data/README.rst +148 -0
  2. data/Rakefile +37 -0
  3. data/lib/tasks/yellow-brick-road_tasks.rake +4 -0
  4. data/lib/yellow-brick-road.rb +6 -0
  5. data/lib/yellow-brick-road/config.rb +15 -0
  6. data/lib/yellow-brick-road/directive_processor.rb +68 -0
  7. data/lib/yellow-brick-road/engine.rb +22 -0
  8. data/lib/yellow-brick-road/soy_processor.rb +56 -0
  9. data/lib/yellow-brick-road/utils.rb +38 -0
  10. data/lib/yellow-brick-road/version.rb +3 -0
  11. data/test/dummy/Rakefile +7 -0
  12. data/test/dummy/app/assets/javascripts/application.js +12 -0
  13. data/test/dummy/app/assets/javascripts/closure-deps.js +4 -0
  14. data/test/dummy/app/assets/javascripts/my-closure/simple.js.soy +14 -0
  15. data/test/dummy/app/assets/javascripts/my-closure/start.js +25 -0
  16. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  17. data/test/dummy/app/controllers/application_controller.rb +7 -0
  18. data/test/dummy/app/helpers/application_helper.rb +2 -0
  19. data/test/dummy/app/views/application/index.html.erb +0 -0
  20. data/test/dummy/app/views/layouts/application.html.erb +18 -0
  21. data/test/dummy/config.ru +4 -0
  22. data/test/dummy/config/application.rb +51 -0
  23. data/test/dummy/config/boot.rb +10 -0
  24. data/test/dummy/config/environment.rb +5 -0
  25. data/test/dummy/config/environments/development.rb +30 -0
  26. data/test/dummy/config/environments/production.rb +60 -0
  27. data/test/dummy/config/environments/test.rb +39 -0
  28. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  29. data/test/dummy/config/initializers/inflections.rb +10 -0
  30. data/test/dummy/config/initializers/mime_types.rb +5 -0
  31. data/test/dummy/config/initializers/secret_token.rb +7 -0
  32. data/test/dummy/config/initializers/session_store.rb +8 -0
  33. data/test/dummy/config/initializers/wrap_parameters.rb +10 -0
  34. data/test/dummy/config/initializers/yellow_brick_road.rb +2 -0
  35. data/test/dummy/config/locales/en.yml +5 -0
  36. data/test/dummy/config/routes.rb +58 -0
  37. data/test/dummy/log/development.log +13924 -0
  38. data/test/dummy/log/test.log +0 -0
  39. data/test/dummy/public/404.html +26 -0
  40. data/test/dummy/public/422.html +26 -0
  41. data/test/dummy/public/500.html +26 -0
  42. data/test/dummy/public/favicon.ico +0 -0
  43. data/test/dummy/script/rails +6 -0
  44. data/test/dummy/tmp/cache/assets/BE0/120/sprockets%2F751842b8c6750008c7310d182600d173 +142 -0
  45. data/test/dummy/tmp/cache/assets/C19/950/sprockets%2F142437f1d8d9424007b4a882a5429333 +1372 -0
  46. data/test/dummy/tmp/cache/assets/C4B/D00/sprockets%2F400f22c081529179ce3d079457de3009 +806 -0
  47. data/test/dummy/tmp/cache/assets/C5A/EE0/sprockets%2Fb711429ed948c503b718d077037780f8 +0 -0
  48. data/test/dummy/tmp/cache/assets/C5B/A80/sprockets%2F508569b474262724c61a461f7777dab7 +1118 -0
  49. data/test/dummy/tmp/cache/assets/C6C/660/sprockets%2F2c298b3b02232a21527680685a3efc30 +9289 -0
  50. data/test/dummy/tmp/cache/assets/C72/8A0/sprockets%2F167b265129e30d87d253c406db305c60 +293 -0
  51. data/test/dummy/tmp/cache/assets/C7E/9F0/sprockets%2F89862076204c62c4593ac20de32da909 +9 -0
  52. data/test/dummy/tmp/cache/assets/C8B/5F0/sprockets%2Fc6a4470b5c21e285e829a99365839b24 +0 -0
  53. data/test/dummy/tmp/cache/assets/C92/D20/sprockets%2F2e618f7805f445889aec94885a500f03 +457 -0
  54. data/test/dummy/tmp/cache/assets/C98/FD0/sprockets%2Fb11442af041f96e87a43a1dc11231745 +283 -0
  55. data/test/dummy/tmp/cache/assets/CA3/520/sprockets%2F5379d7143c6c52b11b88dc0ab5436133 +277 -0
  56. data/test/dummy/tmp/cache/assets/CA5/450/sprockets%2F6bb727c9312a749134ad67323a317f0d +73 -0
  57. data/test/dummy/tmp/cache/assets/CA5/4F0/sprockets%2Feeb7de7771527700af194c0441d29101 +709 -0
  58. data/test/dummy/tmp/cache/assets/CA6/E90/sprockets%2F611f68180f43c4181f06ae5c5f8201e2 +1546 -0
  59. data/test/dummy/tmp/cache/assets/CA7/310/sprockets%2F45664cf816315200b574e029fde6f10a +0 -0
  60. data/test/dummy/tmp/cache/assets/CA9/9D0/sprockets%2F2672e32464cf7267c4ba3d028f54b153 +224 -0
  61. data/test/dummy/tmp/cache/assets/CAB/5A0/sprockets%2F7f50e0289f150c8636ac9253129bc13c +2556 -0
  62. data/test/dummy/tmp/cache/assets/CB5/7E0/sprockets%2F42ff6672683b2029233a800e7539eeee +474 -0
  63. data/test/dummy/tmp/cache/assets/CB6/DC0/sprockets%2F2f9882155bb2d4d3ab5d708951857c60 +494 -0
  64. data/test/dummy/tmp/cache/assets/CBB/680/sprockets%2F1dc336d96fb52df34b458185559922b5 +1018 -0
  65. data/test/dummy/tmp/cache/assets/CBC/640/sprockets%2F67d2e0d9e5129d237e575d2780c64b47 +1260 -0
  66. data/test/dummy/tmp/cache/assets/CBE/550/sprockets%2Fd680cac830e0b3408ba910f0b0421147 +25 -0
  67. data/test/dummy/tmp/cache/assets/CC7/790/sprockets%2F69941f32a12e4f99d4a57f65386d870d +608 -0
  68. data/test/dummy/tmp/cache/assets/CCB/F80/sprockets%2Fa865701ef2ec41155e524772c31a1a2b +1088 -0
  69. data/test/dummy/tmp/cache/assets/CCE/580/sprockets%2F879411ed27ed1c557d57853d8f579b56 +0 -0
  70. data/test/dummy/tmp/cache/assets/CD0/070/sprockets%2F6748fe8481965f260d9c56b7f9f508a2 +1530 -0
  71. data/test/dummy/tmp/cache/assets/CD4/750/sprockets%2Faf3505141ecb3169ce41ce519d136924 +0 -0
  72. data/test/dummy/tmp/cache/assets/CD6/A90/sprockets%2F3f55ac75b9fb8426312116bcb940a580 +2539 -0
  73. data/test/dummy/tmp/cache/assets/CD9/6C0/sprockets%2F5e2458bc52da90ba349a66035e3b6752 +0 -0
  74. data/test/dummy/tmp/cache/assets/CD9/F50/sprockets%2F9008bf696500cfae1d61f045f209181e +256 -0
  75. data/test/dummy/tmp/cache/assets/CDB/B40/sprockets%2F53529a22c994570a0df4742c0bfe61f4 +0 -0
  76. data/test/dummy/tmp/cache/assets/CDC/D10/sprockets%2F1e775b4ff06b4401c07503ce95a839b5 +75 -0
  77. data/test/dummy/tmp/cache/assets/CDE/CD0/sprockets%2F141066798b4acf07053f7e3a6cb4e555 +1613 -0
  78. data/test/dummy/tmp/cache/assets/CE1/760/sprockets%2F245fe11803630fe30d0cf8a869886ab5 +357 -0
  79. data/test/dummy/tmp/cache/assets/CE1/FA0/sprockets%2F863d1650ef066e4a2168bc57c7c0e096 +0 -0
  80. data/test/dummy/tmp/cache/assets/CE2/310/sprockets%2Fd38075d5592ecaf82e43526c03b467c4 +1545 -0
  81. data/test/dummy/tmp/cache/assets/CE2/420/sprockets%2F30f2e8f30477e80cf6416dfe27307c07 +204 -0
  82. data/test/dummy/tmp/cache/assets/CE2/D70/sprockets%2F467c44b63644e0f44dd06a585f36f1a6 +522 -0
  83. data/test/dummy/tmp/cache/assets/CE3/670/sprockets%2Fddd11860b444cd0f9996be0c46762318 +796 -0
  84. data/test/dummy/tmp/cache/assets/CE4/0B0/sprockets%2Ff11535d785c0d34349c64d673bd4b28f +1105 -0
  85. data/test/dummy/tmp/cache/assets/CE4/590/sprockets%2Fd68edcc87a4ae302794093081b45b819 +10 -0
  86. data/test/dummy/tmp/cache/assets/CE4/D60/sprockets%2F61772e4a60b616f74da91b838a2f4f82 +0 -0
  87. data/test/dummy/tmp/cache/assets/CE6/DD0/sprockets%2F2fe073024a2bf26bd98458388b57af37 +1355 -0
  88. data/test/dummy/tmp/cache/assets/CE7/160/sprockets%2Fba1f9939f031b4356ec1869d40fc2747 +1261 -0
  89. data/test/dummy/tmp/cache/assets/CE8/C70/sprockets%2Fc6c9ba3c677b5e2af8520395192c9445 +173 -0
  90. data/test/dummy/tmp/cache/assets/CEA/8B0/sprockets%2Ff77e549cb6d37604105f35d4e67d8c21 +511 -0
  91. data/test/dummy/tmp/cache/assets/CEA/AA0/sprockets%2F5f816982c86d2e6b72b2f5f65c51d070 +1529 -0
  92. data/test/dummy/tmp/cache/assets/CEA/C10/sprockets%2F9dcd541e67c299ab076a44a2183872f8 +0 -0
  93. data/test/dummy/tmp/cache/assets/CF1/5A0/sprockets%2F1a697695edf2bb7b49a2896904218bc7 +115 -0
  94. data/test/dummy/tmp/cache/assets/CF4/480/sprockets%2F5e99c77e93f4a522c84357e62b25e0f7 +43 -0
  95. data/test/dummy/tmp/cache/assets/CF7/460/sprockets%2Fd12ea9733fe3c92456f57f9145569b9c +0 -0
  96. data/test/dummy/tmp/cache/assets/CF7/470/sprockets%2F2897897a166ca3369fecb88f83f211b5 +435 -0
  97. data/test/dummy/tmp/cache/assets/CFA/760/sprockets%2Fa9024adba14091e0635c6874d1db4e22 +0 -0
  98. data/test/dummy/tmp/cache/assets/D01/F30/sprockets%2Fe639a15b6e0cca37d12443b408e1166f +25 -0
  99. data/test/dummy/tmp/cache/assets/D02/9F0/sprockets%2Fb99eae308897fe88cb9414b96824098b +0 -0
  100. data/test/dummy/tmp/cache/assets/D03/330/sprockets%2F1e003cdb3e7dcc9307e84090ad457127 +454 -0
  101. data/test/dummy/tmp/cache/assets/D03/8B0/sprockets%2Ff74632bddf2c0b2018ca7b736309380e +365 -0
  102. data/test/dummy/tmp/cache/assets/D05/0A0/sprockets%2Fe57658220260db13eb5577aef42cb61b +257 -0
  103. data/test/dummy/tmp/cache/assets/D05/920/sprockets%2F909507434dcc270db4853e4c147f0aac +31 -0
  104. data/test/dummy/tmp/cache/assets/D08/510/sprockets%2Fa567be6cb6d7310096f1739b25a5a3f0 +50 -0
  105. data/test/dummy/tmp/cache/assets/D08/9F0/sprockets%2F1d61d2c89ca50957066bacc5b69011f5 +1424 -0
  106. data/test/dummy/tmp/cache/assets/D0A/790/sprockets%2Feb16913e6504c9b0d3be431de39e4751 +300 -0
  107. data/test/dummy/tmp/cache/assets/D0C/C50/sprockets%2Fd6613bee8b40d50459af6b52a7084f34 +796 -0
  108. data/test/dummy/tmp/cache/assets/D0D/030/sprockets%2Fba3f13b4a444679e8bc2549226ec743b +21 -0
  109. data/test/dummy/tmp/cache/assets/D0D/350/sprockets%2F2670bce036d485e15d059c0f1e98f24a +207 -0
  110. data/test/dummy/tmp/cache/assets/D13/270/sprockets%2F497cb163e6317e3fc1565d832f406cfb +348 -0
  111. data/test/dummy/tmp/cache/assets/D13/380/sprockets%2F786d003c9c7fb759dd26c1030c087cf6 +813 -0
  112. data/test/dummy/tmp/cache/assets/D13/7C0/sprockets%2F528d22310a9ab8e6fba08d82844ce795 +0 -0
  113. data/test/dummy/tmp/cache/assets/D15/F60/sprockets%2Fa28394e3f80365b5bc86794dd46daa22 +0 -0
  114. data/test/dummy/tmp/cache/assets/D18/500/sprockets%2Fd22c2d97d1db2154f2f7592906e957ea +1001 -0
  115. data/test/dummy/tmp/cache/assets/D1B/C70/sprockets%2F1c04848b1e1d6e8e33b8581f8c8128ff +223 -0
  116. data/test/dummy/tmp/cache/assets/D1C/600/sprockets%2Fa0601f99147f59ddd6266e6aff077e14 +0 -0
  117. data/test/dummy/tmp/cache/assets/D1E/470/sprockets%2Fb3933e694547b78bf6fb15f44a4623fe +53 -0
  118. data/test/dummy/tmp/cache/assets/D1F/480/sprockets%2F545164168becf42b289efc8708f1db68 +1278 -0
  119. data/test/dummy/tmp/cache/assets/D21/630/sprockets%2F0a14114729c14637f2e8f122acabd1ab +823 -0
  120. data/test/dummy/tmp/cache/assets/D24/A90/sprockets%2F21c8a0d48c51b8585ba03bc112ecd153 +692 -0
  121. data/test/dummy/tmp/cache/assets/D25/D30/sprockets%2F3b937f4c16d2aa0a28fc02a0e922712b +1441 -0
  122. data/test/dummy/tmp/cache/assets/D25/F30/sprockets%2Fe251527c0c018f4b4ad44b2ad7064fb0 +2255 -0
  123. data/test/dummy/tmp/cache/assets/D26/DE0/sprockets%2F761ac1bdb0739cc56fa0c1224b137b09 +0 -0
  124. data/test/dummy/tmp/cache/assets/D2A/C30/sprockets%2F978fe7268754f451c59b9ccb323ffa56 +0 -0
  125. data/test/dummy/tmp/cache/assets/D2B/0F0/sprockets%2Fbf223af03335cfc08a71e549e10c0e27 +2539 -0
  126. data/test/dummy/tmp/cache/assets/D2E/6D0/sprockets%2F9e7fda3affb389313cc50223f01c0324 +0 -0
  127. data/test/dummy/tmp/cache/assets/D2F/110/sprockets%2F3730ffe2ed34c1219d580bd1615ea7b0 +2239 -0
  128. data/test/dummy/tmp/cache/assets/D2F/F10/sprockets%2F9cac242f0bf5ec00079ea3a463e26552 +153 -0
  129. data/test/dummy/tmp/cache/assets/D30/1D0/sprockets%2Fd690a26a0b0ae138c1c48d257a7674bc +589 -0
  130. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  131. data/test/dummy/tmp/cache/assets/D36/940/sprockets%2Fb4ba462ac9f4aac561c36e60367c1378 +572 -0
  132. data/test/dummy/tmp/cache/assets/D37/090/sprockets%2F2f2e71ebbc240014ebf648f0917e854a +798 -0
  133. data/test/dummy/tmp/cache/assets/D3A/440/sprockets%2F6d332243647c841dea36ed822cdfc23e +165 -0
  134. data/test/dummy/tmp/cache/assets/D3B/5A0/sprockets%2F82e05cf8c88ba8cb1c87e50d51372a03 +0 -0
  135. data/test/dummy/tmp/cache/assets/D41/B30/sprockets%2Fba1b93913dd01d83ac9a96df334456f8 +0 -0
  136. data/test/dummy/tmp/cache/assets/D43/D90/sprockets%2F04f3a5926d5a7672456dc7afa73d0c7f +38 -0
  137. data/test/dummy/tmp/cache/assets/D45/1F0/sprockets%2F1bfa855d9c10ff2431a9a548958cc5e4 +83 -0
  138. data/test/dummy/tmp/cache/assets/D45/B10/sprockets%2F643f3d9b216e48df952b7f150a46a7ec +60 -0
  139. data/test/dummy/tmp/cache/assets/D46/040/sprockets%2F199546844e5939721a5afcbcce4ea43a +143 -0
  140. data/test/dummy/tmp/cache/assets/D49/320/sprockets%2Fd8123eb229e34c9f507f7b1876f1c4ee +506 -0
  141. data/test/dummy/tmp/cache/assets/D49/750/sprockets%2Ff41ef1c0832b7294fb15588ff5c783cb +0 -0
  142. data/test/dummy/tmp/cache/assets/D49/930/sprockets%2F1071926698fa55abc71e1b6fd966dfe1 +72 -0
  143. data/test/dummy/tmp/cache/assets/D49/D10/sprockets%2Fb67b8d7cc7579352a91694f9ae10cdb0 +127 -0
  144. data/test/dummy/tmp/cache/assets/D4A/160/sprockets%2Fcbd8988b5e18d153eff6230d72e9046a +516 -0
  145. data/test/dummy/tmp/cache/assets/D4A/2B0/sprockets%2Ffcdf002d38fd938bf7226b46b76706c8 +1101 -0
  146. data/test/dummy/tmp/cache/assets/D4E/2F0/sprockets%2F77cb87ae57f0d8c25cdaa74181a64997 +1441 -0
  147. data/test/dummy/tmp/cache/assets/D4F/060/sprockets%2Fa9e66b39ada7394a29bf44f3a682f665 +511 -0
  148. data/test/dummy/tmp/cache/assets/D50/BD0/sprockets%2F88650dd57ef64075462e6dae757dbe2c +0 -0
  149. data/test/dummy/tmp/cache/assets/D53/CA0/sprockets%2Fa85032e82709a043fbb2ec00e04f2bbd +0 -0
  150. data/test/dummy/tmp/cache/assets/D54/BF0/sprockets%2F91970514ff528e8d2bfd81f1ec83c9c8 +240 -0
  151. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +10 -0
  152. data/test/dummy/tmp/cache/assets/D56/500/sprockets%2F75ebadd035f1324b194034af92eac3a0 +0 -0
  153. data/test/dummy/tmp/cache/assets/D5A/900/sprockets%2F5729f77d97fdee53b1942cf17f6f05e4 +474 -0
  154. data/test/dummy/tmp/cache/assets/D5A/D50/sprockets%2F81bace3db2c2f1241175ff3c5009d08c +0 -0
  155. data/test/dummy/tmp/cache/assets/D5B/C70/sprockets%2Fe64119a9db7017b7ab3b0da1b6076f0d +44 -0
  156. data/test/dummy/tmp/cache/assets/D5E/4D0/sprockets%2F756f25e4ad861a050cdc41bb8414e4ab +126 -0
  157. data/test/dummy/tmp/cache/assets/D5E/730/sprockets%2Fd30caf70b387c4604326bdda32aeb549 +0 -0
  158. data/test/dummy/tmp/cache/assets/D5E/AA0/sprockets%2F790dd07caaaacb30ceb0174664e90817 +136 -0
  159. data/test/dummy/tmp/cache/assets/D64/D30/sprockets%2Fe4bd8f60a3a446274c3cb2f5d16563ac +590 -0
  160. data/test/dummy/tmp/cache/assets/D66/400/sprockets%2Fecb7401d20daf25605a7afad3a793778 +0 -0
  161. data/test/dummy/tmp/cache/assets/D67/250/sprockets%2F8422eb26855ca9c953a3bf1aeade8004 +0 -0
  162. data/test/dummy/tmp/cache/assets/D69/900/sprockets%2F28ae64f52cb18f77b1a1bd9c51293da4 +0 -0
  163. data/test/dummy/tmp/cache/assets/D6A/870/sprockets%2F1ece6a51b42f9280f4cee9020c94b72e +197 -0
  164. data/test/dummy/tmp/cache/assets/D6B/DD0/sprockets%2F9a0abc735e27fc61dab019788518eba4 +164 -0
  165. data/test/dummy/tmp/cache/assets/D6E/CC0/sprockets%2F8b4fbcec2475e7203b8859baf8e310a3 +0 -0
  166. data/test/dummy/tmp/cache/assets/D72/470/sprockets%2Fbc0c6d850e7c769e83d58eb3e6061b2a +2556 -0
  167. data/test/dummy/tmp/cache/assets/D72/9D0/sprockets%2F9402daf6da6f7eed331a9d78216cb761 +0 -0
  168. data/test/dummy/tmp/cache/assets/D74/070/sprockets%2F91ae68f698a39bd7d0d11150fc46e4cd +418 -0
  169. data/test/dummy/tmp/cache/assets/D74/7F0/sprockets%2F22dad1069ea6a8f29ae757c44e18ec83 +0 -0
  170. data/test/dummy/tmp/cache/assets/D75/3C0/sprockets%2F44e2ae51b97853d8ecda7b264a267c7d +1630 -0
  171. data/test/dummy/tmp/cache/assets/D77/780/sprockets%2Ffa2abdfb0b62867c346f79187b8e42d5 +823 -0
  172. data/test/dummy/tmp/cache/assets/D79/850/sprockets%2F4d540586ed379fd9a70fa0b7ce4f5b27 +306 -0
  173. data/test/dummy/tmp/cache/assets/D7A/B60/sprockets%2F5925c92f48caff053d08853dc69e5bba +0 -0
  174. data/test/dummy/tmp/cache/assets/D81/C90/sprockets%2F19aca5c835efce74878c23e581e2a89e +2239 -0
  175. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +11228 -0
  176. data/test/dummy/tmp/cache/assets/D8B/B10/sprockets%2Fbb7a2305a8f2832631863bbababb67be +301 -0
  177. data/test/dummy/tmp/cache/assets/D92/3B0/sprockets%2F93dc71f411faf72ec8ef0b5d217b51a0 +505 -0
  178. data/test/dummy/tmp/cache/assets/D92/EE0/sprockets%2Ffd051ea0abf6be6970754aa732e40c8b +289 -0
  179. data/test/dummy/tmp/cache/assets/D93/810/sprockets%2F7dc1ac5e1b83ba5144e34cf156d48a8a +471 -0
  180. data/test/dummy/tmp/cache/assets/D94/020/sprockets%2F35cb4ce22488fb5bdd260508ca47a3fb +239 -0
  181. data/test/dummy/tmp/cache/assets/D94/EC0/sprockets%2F8b900fba18f8e046f5f12e6d1f0ac15b +74 -0
  182. data/test/dummy/tmp/cache/assets/D95/470/sprockets%2F5be5d361a52575c433831b5e8cccbace +9273 -0
  183. data/test/dummy/tmp/cache/assets/D97/9D0/sprockets%2F524a2a94a88c1d392dabcba654e365fc +103 -0
  184. data/test/dummy/tmp/cache/assets/D9D/800/sprockets%2Ff8387220eb4dda9b29a37b5deb9f2a40 +54 -0
  185. data/test/dummy/tmp/cache/assets/D9E/DD0/sprockets%2Fb6b4ffad6485eda046b327a196e8c44a +0 -0
  186. data/test/dummy/tmp/cache/assets/DA1/0A0/sprockets%2F359c94aee6ba2e15fc9666aa4de311c8 +166 -0
  187. data/test/dummy/tmp/cache/assets/DA1/0D0/sprockets%2F798de3c28452e164a7fc1a3a6e8cdb4b +652 -0
  188. data/test/dummy/tmp/cache/assets/DA3/CB0/sprockets%2Fdfad6bb1857a8af91f98ba137c18504e +815 -0
  189. data/test/dummy/tmp/cache/assets/DA4/E10/sprockets%2Fbda7705734ace95f12a7d79df9c14af2 +1354 -0
  190. data/test/dummy/tmp/cache/assets/DA5/E30/sprockets%2F2e6707a119e94a784efbadca18d7e8d1 +129 -0
  191. data/test/dummy/tmp/cache/assets/DA6/4B0/sprockets%2F4f7a708b6aa2d42eb577493dea7cef55 +115 -0
  192. data/test/dummy/tmp/cache/assets/DA8/A10/sprockets%2F0ae5bbb4ca200e74db3b64d72c2be120 +0 -0
  193. data/test/dummy/tmp/cache/assets/DA9/3F0/sprockets%2Fdd0af9cfd65fb7d02fe778c8f6015361 +499 -0
  194. data/test/dummy/tmp/cache/assets/DA9/780/sprockets%2Fe3559a635e8f92dec7727a3db2ae7b4c +813 -0
  195. data/test/dummy/tmp/cache/assets/DAC/0E0/sprockets%2F04cef8243a9ef7321846debc977ea8db +607 -0
  196. data/test/dummy/tmp/cache/assets/DB1/260/sprockets%2Fb879ff7530bf8cc175e0c7e70dc4e79b +0 -0
  197. data/test/dummy/tmp/cache/assets/DB4/4C0/sprockets%2F30a76cbd98dedb56742cd8ecaf858757 +0 -0
  198. data/test/dummy/tmp/cache/assets/DBD/7E0/sprockets%2F236fb1ac5ed9f2e3fe32203acc3a842d +0 -0
  199. data/test/dummy/tmp/cache/assets/DC2/DF0/sprockets%2Fe233bcaba8beff15626c35cb5e0e0936 +845 -0
  200. data/test/dummy/tmp/cache/assets/DC4/600/sprockets%2F59c96aa6c1cbebc61bff6c050a5351d7 +225 -0
  201. data/test/dummy/tmp/cache/assets/DC5/030/sprockets%2Fcb2fe864a0177eec19017c43ce9aa4ad +187 -0
  202. data/test/dummy/tmp/cache/assets/DC8/A60/sprockets%2F9fcb9f5c3f679ce749ee4c3f93869ba6 +74 -0
  203. data/test/dummy/tmp/cache/assets/DCB/D40/sprockets%2Ffd5542bfb7660a8d8cac3a2e46fb01f8 +828 -0
  204. data/test/dummy/tmp/cache/assets/DCC/020/sprockets%2F0c129c5f2784c96fa1dc3da6c19c1efc +128 -0
  205. data/test/dummy/tmp/cache/assets/DCF/520/sprockets%2F975162fb97a3ec7033db5f2fdba4fcd3 +70 -0
  206. data/test/dummy/tmp/cache/assets/DD0/000/sprockets%2F0d5d631cce6f0b078bb29cf98b3d78bb +276 -0
  207. data/test/dummy/tmp/cache/assets/DD0/C90/sprockets%2F84eeca4ef8f5eb29b13f7e1ea3c71324 +591 -0
  208. data/test/dummy/tmp/cache/assets/DD6/710/sprockets%2F9e83f2ebbe3e349efca2de390e15d635 +204 -0
  209. data/test/dummy/tmp/cache/assets/DE1/830/sprockets%2Fd23d3cafef2e2a9055bc103dffc1a023 +208 -0
  210. data/test/dummy/tmp/cache/assets/DEB/470/sprockets%2Fae2de0fcbc2214b71d3f2a875d2bc8c3 +2255 -0
  211. data/test/dummy/tmp/cache/assets/DEE/690/sprockets%2F5d824bcadef29060cc13eed71af4b4d0 +550 -0
  212. data/test/dummy/tmp/cache/assets/DF0/5D0/sprockets%2F25a875eb0a5d4c49bcc3fa39ea0adb26 +567 -0
  213. data/test/dummy/tmp/cache/assets/DF3/E20/sprockets%2Fada770c49a5d6b38d1cc43ed4d51c1fc +0 -0
  214. data/test/dummy/tmp/cache/assets/DF5/C80/sprockets%2F03ad7d7b3a8feba9ed9be82ae2083b20 +340 -0
  215. data/test/dummy/tmp/cache/assets/DF6/560/sprockets%2Fafceb2b55eb108efe4446dfb02b519b8 +0 -0
  216. data/test/dummy/tmp/cache/assets/DFC/030/sprockets%2Fcbdd3679eaba219b4e1ff20677af1c6f +1371 -0
  217. data/test/dummy/tmp/cache/assets/E00/970/sprockets%2F8bc6dde8d05c382dd07cbcec70f54e09 +378 -0
  218. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  219. data/test/dummy/tmp/cache/assets/E12/2F0/sprockets%2F5c45062ecfbe512dcba176ba6ddacc00 +523 -0
  220. data/test/dummy/tmp/cache/assets/E21/5D0/sprockets%2Fd4fe6d611bfb0e63c04de5dbfb128a8a +0 -0
  221. data/test/dummy/tmp/cache/assets/E22/770/sprockets%2F2ccebcabfbb9b59159e4b73b3b30a74d +208 -0
  222. data/test/dummy/tmp/cache/assets/E31/A90/sprockets%2F26b98bbbc15eee9b370c7dcde88d16aa +394 -0
  223. data/test/dummy/tmp/cache/assets/E31/E30/sprockets%2Ffbdafcc4e2f44bb9fc653bcf9625b750 +284 -0
  224. data/test/dummy/tmp/cache/assets/E37/1C0/sprockets%2Fa5eb45fc86dafe2bee4e4fa3f53c4785 +0 -0
  225. data/test/dummy/tmp/cache/assets/E4C/960/sprockets%2F13fd6e4bfdf031acb3dedca8d0f407b4 +1277 -0
  226. data/test/dummy/tmp/cache/assets/E88/330/sprockets%2Fe02d0adb5529ffafcea1b9e5ccf69a5b +669 -0
  227. data/test/dummy/tmp/pids/server.pid +1 -0
  228. data/test/dummy/tmp/simple.js.js +20 -0
  229. data/test/dummy/tmp/soy-1325274421.js +20 -0
  230. data/test/dummy/tmp/soy-1325286267.js +20 -0
  231. data/test/test_helper.rb +10 -0
  232. data/test/yellow-brick-road_test.rb +7 -0
  233. metadata +538 -0
@@ -0,0 +1,115 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325289489.551775: @value{ I" length:EFi�I" digest;
2
+ F"%9c6d1a6f816598cba384e9b4b4405319I" source;
3
+ FI"�// Copyright 2011 The Closure Library Authors. All Rights Reserved.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS-IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+
17
+ /**
18
+ * @fileoverview Provides utility methods to render soy template.
19
+ */
20
+
21
+
22
+ goog.provide('goog.soy');
23
+
24
+ goog.require('goog.dom');
25
+ goog.require('goog.dom.NodeType');
26
+ goog.require('goog.dom.TagName');
27
+
28
+
29
+
30
+ /**
31
+ * Renders a Soy template and then set the output string as
32
+ * the innerHTML of an element. It is recommended to use this helper function
33
+ * instead of directly setting innerHTML in your hand-written code, so that it
34
+ * will be easier to audit the code for cross-site scripting vulnerabilities.
35
+ *
36
+ * @param {Element} element The element whose content we are rendering into.
37
+ * @param {Function} template The Soy template defining the element's content.
38
+ * @param {Object=} opt_templateData The data for the template.
39
+ * @param {Object=} opt_injectedData The injected data for the template.
40
+ */
41
+ goog.soy.renderElement = function(element, template, opt_templateData,
42
+ opt_injectedData) {
43
+ element.innerHTML = template(
44
+ opt_templateData || goog.soy.defaultTemplateData_, undefined,
45
+ opt_injectedData);
46
+ };
47
+
48
+
49
+ /**
50
+ * Renders a Soy template into a single node or a document
51
+ * fragment. If the rendered HTML string represents a single node, then that
52
+ * node is returned (note that this is *not* a fragment, despite them name of
53
+ * the method). Otherwise a document fragment is returned containing the
54
+ * rendered nodes.
55
+ *
56
+ * @param {Function} template The Soy template defining the element's content.
57
+ * @param {Object=} opt_templateData The data for the template.
58
+ * @param {Object=} opt_injectedData The injected data for the template.
59
+ * @param {goog.dom.DomHelper=} opt_domHelper The DOM helper used to
60
+ * create DOM nodes; defaults to {@code goog.dom.getDomHelper}.
61
+ * @return {!Node} The resulting node or document fragment.
62
+ */
63
+ goog.soy.renderAsFragment = function(template, opt_templateData,
64
+ opt_injectedData, opt_domHelper) {
65
+ var dom = opt_domHelper || goog.dom.getDomHelper();
66
+ return dom.htmlToDocumentFragment(
67
+ template(opt_templateData || goog.soy.defaultTemplateData_,
68
+ undefined, opt_injectedData));
69
+ };
70
+
71
+
72
+ /**
73
+ * Renders a Soy template into a single node. If the rendered
74
+ * HTML string represents a single node, then that node is returned. Otherwise,
75
+ * a DIV element is returned containing the rendered nodes.
76
+ *
77
+ * @param {Function} template The Soy template defining the element's content.
78
+ * @param {Object=} opt_templateData The data for the template.
79
+ * @param {Object=} opt_injectedData The injected data for the template.
80
+ * @param {goog.dom.DomHelper=} opt_domHelper The DOM helper used to
81
+ * create DOM nodes; defaults to {@code goog.dom.getDomHelper}.
82
+ * @return {!Element} Rendered template contents, wrapped in a parent DIV
83
+ * element if necessary.
84
+ */
85
+ goog.soy.renderAsElement = function(template, opt_templateData,
86
+ opt_injectedData, opt_domHelper) {
87
+ var dom = opt_domHelper || goog.dom.getDomHelper();
88
+ var wrapper = dom.createElement(goog.dom.TagName.DIV);
89
+ wrapper.innerHTML = template(
90
+ opt_templateData || goog.soy.defaultTemplateData_,
91
+ undefined, opt_injectedData);
92
+
93
+ // If the template renders as a single element, return it.
94
+ if (wrapper.childNodes.length == 1) {
95
+ var firstChild = wrapper.firstChild;
96
+ if (firstChild.nodeType == goog.dom.NodeType.ELEMENT) {
97
+ return /** @type {!Element} */ (firstChild);
98
+ }
99
+ }
100
+
101
+ // Otherwise, return the wrapper DIV.
102
+ return wrapper;
103
+ };
104
+
105
+
106
+ /**
107
+ * Immutable object that is passed into templates that are rendered
108
+ * without any data.
109
+ * @type {Object}
110
+ * @private
111
+ */
112
+ goog.soy.defaultTemplateData_ = {};
113
+ ;
114
+ FI"
115
+ F"%74da1ec6a79e96a1b456ba610b12c613
@@ -0,0 +1,43 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325441615.4295318: @value{ I" length:EFiI" digest;
2
+ F"%9e4031ce2e29285c8a0bbb2369847cf9I" source;
3
+ FI"// Copyright 2006 The Closure Library Authors. All Rights Reserved.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS-IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+
17
+ /**
18
+ * @fileoverview Common events for the network classes.
19
+ */
20
+
21
+
22
+
23
+ goog.provide('goog.net.EventType');
24
+
25
+
26
+ /**
27
+ * Event names for network events
28
+ * @enum {string}
29
+ */
30
+ goog.net.EventType = {
31
+ COMPLETE: 'complete',
32
+ SUCCESS: 'success',
33
+ ERROR: 'error',
34
+ ABORT: 'abort',
35
+ READY: 'ready',
36
+ READY_STATE_CHANGE: 'readystatechange',
37
+ TIMEOUT: 'timeout',
38
+ INCREMENTAL_DATA: 'incrementaldata',
39
+ PROGRESS: 'progress'
40
+ };
41
+ ;
42
+ FI"
43
+ F"%71142c0046c5bcfefb24797f0c476ef4
@@ -0,0 +1,435 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325441615.323422: @value{I"
2
+ class:EFI"BundledAsset;
3
+ FI"id;
4
+ F"%1c058194db00fb2a6229f85516c458eeI"logical_path;
5
+ FI"(closure/goog/events/browserevent.js;
6
+ TI"
7
+ F"u/Volumes/Development/dev-web/yellow-brick-road/vendor/assets/closure-library/closure/goog/events/browserevent.jsI"content_type;
8
+ FI"application/javascript;
9
+ FI"
10
+ mtime;
11
+ FI"2011-12-30T02:16:24+00:00;
12
+ FI" body;
13
+ FI"�-// Copyright 2005 The Closure Library Authors. All Rights Reserved.
14
+ //
15
+ // Licensed under the Apache License, Version 2.0 (the "License");
16
+ // you may not use this file except in compliance with the License.
17
+ // You may obtain a copy of the License at
18
+ //
19
+ // http://www.apache.org/licenses/LICENSE-2.0
20
+ //
21
+ // Unless required by applicable law or agreed to in writing, software
22
+ // distributed under the License is distributed on an "AS-IS" BASIS,
23
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24
+ // See the License for the specific language governing permissions and
25
+ // limitations under the License.
26
+
27
+ /**
28
+ * @fileoverview A patched, standardized event object for browser events.
29
+ *
30
+ * <pre>
31
+ * The patched event object contains the following members:
32
+ * - type {string} Event type, e.g. 'click'
33
+ * - timestamp {Date} A date object for when the event was fired
34
+ * - target {Object} The element that actually triggered the event
35
+ * - currentTarget {Object} The element the listener is attached to
36
+ * - relatedTarget {Object} For mouseover and mouseout, the previous object
37
+ * - offsetX {number} X-coordinate relative to target
38
+ * - offsetY {number} Y-coordinate relative to target
39
+ * - clientX {number} X-coordinate relative to viewport
40
+ * - clientY {number} Y-coordinate relative to viewport
41
+ * - screenX {number} X-coordinate relative to the edge of the screen
42
+ * - screenY {number} Y-coordinate relative to the edge of the screen
43
+ * - button {number} Mouse button. Use isButton() to test.
44
+ * - keyCode {number} Key-code
45
+ * - ctrlKey {boolean} Was ctrl key depressed
46
+ * - altKey {boolean} Was alt key depressed
47
+ * - shiftKey {boolean} Was shift key depressed
48
+ * - metaKey {boolean} Was meta key depressed
49
+ * - state {Object} History state object
50
+ *
51
+ * NOTE: The keyCode member contains the raw browser keyCode. For normalized
52
+ * key and character code use {@link goog.events.KeyHandler}.
53
+ * </pre>
54
+ *
55
+ */
56
+
57
+
58
+ goog.provide('goog.events.BrowserEvent');
59
+ goog.provide('goog.events.BrowserEvent.MouseButton');
60
+
61
+ goog.require('goog.events.BrowserFeature');
62
+ goog.require('goog.events.Event');
63
+ goog.require('goog.events.EventType');
64
+ goog.require('goog.reflect');
65
+ goog.require('goog.userAgent');
66
+
67
+
68
+
69
+ /**
70
+ * Accepts a browser event object and creates a patched, cross browser event
71
+ * object.
72
+ * The content of this object will not be initialized if no event object is
73
+ * provided. If this is the case, init() needs to be invoked separately.
74
+ * @param {Event=} opt_e Browser event object.
75
+ * @param {Node=} opt_currentTarget Current target for event.
76
+ * @constructor
77
+ * @extends {goog.events.Event}
78
+ */
79
+ goog.events.BrowserEvent = function(opt_e, opt_currentTarget) {
80
+ if (opt_e) {
81
+ this.init(opt_e, opt_currentTarget);
82
+ }
83
+ };
84
+ goog.inherits(goog.events.BrowserEvent, goog.events.Event);
85
+
86
+
87
+ /**
88
+ * Normalized button constants for the mouse.
89
+ * @enum {number}
90
+ */
91
+ goog.events.BrowserEvent.MouseButton = {
92
+ LEFT: 0,
93
+ MIDDLE: 1,
94
+ RIGHT: 2
95
+ };
96
+
97
+
98
+ /**
99
+ * Static data for mapping mouse buttons.
100
+ * @type {Array.<number>}
101
+ */
102
+ goog.events.BrowserEvent.IEButtonMap = [
103
+ 1, // LEFT
104
+ 4, // MIDDLE
105
+ 2 // RIGHT
106
+ ];
107
+
108
+
109
+ /**
110
+ * Target that fired the event.
111
+ * @override
112
+ * @type {Node}
113
+ */
114
+ goog.events.BrowserEvent.prototype.target = null;
115
+
116
+
117
+ /**
118
+ * Node that had the listener attached.
119
+ * @override
120
+ * @type {Node|undefined}
121
+ */
122
+ goog.events.BrowserEvent.prototype.currentTarget;
123
+
124
+
125
+ /**
126
+ * For mouseover and mouseout events, the related object for the event.
127
+ * @type {Node}
128
+ */
129
+ goog.events.BrowserEvent.prototype.relatedTarget = null;
130
+
131
+
132
+ /**
133
+ * X-coordinate relative to target.
134
+ * @type {number}
135
+ */
136
+ goog.events.BrowserEvent.prototype.offsetX = 0;
137
+
138
+
139
+ /**
140
+ * Y-coordinate relative to target.
141
+ * @type {number}
142
+ */
143
+ goog.events.BrowserEvent.prototype.offsetY = 0;
144
+
145
+
146
+ /**
147
+ * X-coordinate relative to the window.
148
+ * @type {number}
149
+ */
150
+ goog.events.BrowserEvent.prototype.clientX = 0;
151
+
152
+
153
+ /**
154
+ * Y-coordinate relative to the window.
155
+ * @type {number}
156
+ */
157
+ goog.events.BrowserEvent.prototype.clientY = 0;
158
+
159
+
160
+ /**
161
+ * X-coordinate relative to the monitor.
162
+ * @type {number}
163
+ */
164
+ goog.events.BrowserEvent.prototype.screenX = 0;
165
+
166
+
167
+ /**
168
+ * Y-coordinate relative to the monitor.
169
+ * @type {number}
170
+ */
171
+ goog.events.BrowserEvent.prototype.screenY = 0;
172
+
173
+
174
+ /**
175
+ * Which mouse button was pressed.
176
+ * @type {number}
177
+ */
178
+ goog.events.BrowserEvent.prototype.button = 0;
179
+
180
+
181
+ /**
182
+ * Keycode of key press.
183
+ * @type {number}
184
+ */
185
+ goog.events.BrowserEvent.prototype.keyCode = 0;
186
+
187
+
188
+ /**
189
+ * Keycode of key press.
190
+ * @type {number}
191
+ */
192
+ goog.events.BrowserEvent.prototype.charCode = 0;
193
+
194
+
195
+ /**
196
+ * Whether control was pressed at time of event.
197
+ * @type {boolean}
198
+ */
199
+ goog.events.BrowserEvent.prototype.ctrlKey = false;
200
+
201
+
202
+ /**
203
+ * Whether alt was pressed at time of event.
204
+ * @type {boolean}
205
+ */
206
+ goog.events.BrowserEvent.prototype.altKey = false;
207
+
208
+
209
+ /**
210
+ * Whether shift was pressed at time of event.
211
+ * @type {boolean}
212
+ */
213
+ goog.events.BrowserEvent.prototype.shiftKey = false;
214
+
215
+
216
+ /**
217
+ * Whether the meta key was pressed at time of event.
218
+ * @type {boolean}
219
+ */
220
+ goog.events.BrowserEvent.prototype.metaKey = false;
221
+
222
+
223
+ /**
224
+ * History state object, only set for PopState events where it's a copy of the
225
+ * state object provided to pushState or replaceState.
226
+ * @type {Object}
227
+ */
228
+ goog.events.BrowserEvent.prototype.state;
229
+
230
+
231
+ /**
232
+ * Whether the default platform modifier key was pressed at time of event.
233
+ * (This is control for all platforms except Mac, where it's Meta.
234
+ * @type {boolean}
235
+ */
236
+ goog.events.BrowserEvent.prototype.platformModifierKey = false;
237
+
238
+
239
+ /**
240
+ * The browser event object.
241
+ * @type {Event}
242
+ * @private
243
+ */
244
+ goog.events.BrowserEvent.prototype.event_ = null;
245
+
246
+
247
+ /**
248
+ * Accepts a browser event object and creates a patched, cross browser event
249
+ * object.
250
+ * @param {Event} e Browser event object.
251
+ * @param {Node=} opt_currentTarget Current target for event.
252
+ */
253
+ goog.events.BrowserEvent.prototype.init = function(e, opt_currentTarget) {
254
+ var type = this.type = e.type;
255
+ goog.events.Event.call(this, type);
256
+
257
+ // TODO(nicksantos): Change this.target to type EventTarget.
258
+ this.target = /** @type {Node} */ (e.target) || e.srcElement;
259
+
260
+ this.currentTarget = opt_currentTarget;
261
+
262
+ var relatedTarget = /** @type {Node} */ (e.relatedTarget);
263
+ if (relatedTarget) {
264
+ // There's a bug in FireFox where sometimes, relatedTarget will be a
265
+ // chrome element, and accessing any property of it will get a permission
266
+ // denied exception. See:
267
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=497780
268
+ if (goog.userAgent.GECKO) {
269
+ if (!goog.reflect.canAccessProperty(relatedTarget, 'nodeName')) {
270
+ relatedTarget = null;
271
+ }
272
+ }
273
+ // TODO(arv): Use goog.events.EventType when it has been refactored into its
274
+ // own file.
275
+ } else if (type == goog.events.EventType.MOUSEOVER) {
276
+ relatedTarget = e.fromElement;
277
+ } else if (type == goog.events.EventType.MOUSEOUT) {
278
+ relatedTarget = e.toElement;
279
+ }
280
+
281
+ this.relatedTarget = relatedTarget;
282
+
283
+ // Webkit emits a lame warning whenever layerX/layerY is accessed.
284
+ // http://code.google.com/p/chromium/issues/detail?id=101733
285
+ this.offsetX = (goog.userAgent.WEBKIT || e.offsetX !== undefined) ?
286
+ e.offsetX : e.layerX;
287
+ this.offsetY = (goog.userAgent.WEBKIT || e.offsetY !== undefined) ?
288
+ e.offsetY : e.layerY;
289
+
290
+ this.clientX = e.clientX !== undefined ? e.clientX : e.pageX;
291
+ this.clientY = e.clientY !== undefined ? e.clientY : e.pageY;
292
+ this.screenX = e.screenX || 0;
293
+ this.screenY = e.screenY || 0;
294
+
295
+ this.button = e.button;
296
+
297
+ this.keyCode = e.keyCode || 0;
298
+ this.charCode = e.charCode || (type == 'keypress' ? e.keyCode : 0);
299
+ this.ctrlKey = e.ctrlKey;
300
+ this.altKey = e.altKey;
301
+ this.shiftKey = e.shiftKey;
302
+ this.metaKey = e.metaKey;
303
+ this.platformModifierKey = goog.userAgent.MAC ? e.metaKey : e.ctrlKey;
304
+ this.state = e.state;
305
+ this.event_ = e;
306
+ delete this.returnValue_;
307
+ delete this.propagationStopped_;
308
+ };
309
+
310
+
311
+ /**
312
+ * Tests to see which button was pressed during the event. This is really only
313
+ * useful in IE and Gecko browsers. And in IE, it's only useful for
314
+ * mousedown/mouseup events, because click only fires for the left mouse button.
315
+ *
316
+ * Safari 2 only reports the left button being clicked, and uses the value '1'
317
+ * instead of 0. Opera only reports a mousedown event for the middle button, and
318
+ * no mouse events for the right button. Opera has default behavior for left and
319
+ * middle click that can only be overridden via a configuration setting.
320
+ *
321
+ * There's a nice table of this mess at http://www.unixpapa.com/js/mouse.html.
322
+ *
323
+ * @param {goog.events.BrowserEvent.MouseButton} button The button
324
+ * to test for.
325
+ * @return {boolean} True if button was pressed.
326
+ */
327
+ goog.events.BrowserEvent.prototype.isButton = function(button) {
328
+ if (!goog.events.BrowserFeature.HAS_W3C_BUTTON) {
329
+ if (this.type == 'click') {
330
+ return button == goog.events.BrowserEvent.MouseButton.LEFT;
331
+ } else {
332
+ return !!(this.event_.button &
333
+ goog.events.BrowserEvent.IEButtonMap[button]);
334
+ }
335
+ } else {
336
+ return this.event_.button == button;
337
+ }
338
+ };
339
+
340
+
341
+ /**
342
+ * Whether this has an "action"-producing mouse button.
343
+ *
344
+ * By definition, this includes left-click on windows/linux, and left-click
345
+ * without the ctrl key on Macs.
346
+ *
347
+ * @return {boolean} The result.
348
+ */
349
+ goog.events.BrowserEvent.prototype.isMouseActionButton = function() {
350
+ // Webkit does not ctrl+click to be a right-click, so we
351
+ // normalize it to behave like Gecko and Opera.
352
+ return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT) &&
353
+ !(goog.userAgent.WEBKIT && goog.userAgent.MAC && this.ctrlKey);
354
+ };
355
+
356
+
357
+ /**
358
+ * @override
359
+ */
360
+ goog.events.BrowserEvent.prototype.stopPropagation = function() {
361
+ goog.events.BrowserEvent.superClass_.stopPropagation.call(this);
362
+ if (this.event_.stopPropagation) {
363
+ this.event_.stopPropagation();
364
+ } else {
365
+ this.event_.cancelBubble = true;
366
+ }
367
+ };
368
+
369
+
370
+ /**
371
+ * @override
372
+ */
373
+ goog.events.BrowserEvent.prototype.preventDefault = function() {
374
+ goog.events.BrowserEvent.superClass_.preventDefault.call(this);
375
+ var be = this.event_;
376
+ if (!be.preventDefault) {
377
+ be.returnValue = false;
378
+ if (goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT) {
379
+ /** @preserveTry */
380
+ try {
381
+ // Most keys can be prevented using returnValue. Some special keys
382
+ // require setting the keyCode to -1 as well:
383
+ //
384
+ // In IE7:
385
+ // F3, F5, F10, F11, Ctrl+P, Crtl+O, Ctrl+F (these are taken from IE6)
386
+ //
387
+ // In IE8:
388
+ // Ctrl+P, Crtl+O, Ctrl+F (F1-F12 cannot be stopped through the event)
389
+ //
390
+ // We therefore do this for all function keys as well as when Ctrl key
391
+ // is pressed.
392
+ var VK_F1 = 112;
393
+ var VK_F12 = 123;
394
+ if (be.ctrlKey || be.keyCode >= VK_F1 && be.keyCode <= VK_F12) {
395
+ be.keyCode = -1;
396
+ }
397
+ } catch (ex) {
398
+ // IE throws an 'access denied' exception when trying to change
399
+ // keyCode in some situations (e.g. srcElement is input[type=file],
400
+ // or srcElement is an anchor tag rewritten by parent's innerHTML).
401
+ // Do nothing in this case.
402
+ }
403
+ }
404
+ } else {
405
+ be.preventDefault();
406
+ }
407
+ };
408
+
409
+
410
+ /**
411
+ * @return {Event} The underlying browser event object.
412
+ */
413
+ goog.events.BrowserEvent.prototype.getBrowserEvent = function() {
414
+ return this.event_;
415
+ };
416
+
417
+
418
+ /** @override */
419
+ goog.events.BrowserEvent.prototype.disposeInternal = function() {
420
+ goog.events.BrowserEvent.superClass_.disposeInternal.call(this);
421
+ this.event_ = null;
422
+ this.target = null;
423
+ this.currentTarget = null;
424
+ this.relatedTarget = null;
425
+ };
426
+ ;
427
+ FI"asset_paths;
428
+ F["u/Volumes/Development/dev-web/yellow-brick-road/vendor/assets/closure-library/closure/goog/events/browserevent.jsI"dependency_paths;
429
+ F[{I" path;
430
+ F"u/Volumes/Development/dev-web/yellow-brick-road/vendor/assets/closure-library/closure/goog/events/browserevent.jsI"
431
+ mtime;
432
+ FIu: Time
433
+ T: offsetiI"hexdigest;
434
+ F"%156c31696cde08752f93456ca01eec04I"
435
+ F"%46dde6621c301f4928e3b34efee9e3b5