bs-helper 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (451) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +46 -0
  4. data/Rakefile +14 -0
  5. data/app/assets/javascripts/bs-modal/bootstrap-modal.js +379 -0
  6. data/app/assets/javascripts/bs-modal/bootstrap-modalmanager.js +422 -0
  7. data/app/assets/javascripts/init-bootbox.js +254 -0
  8. data/app/assets/javascripts/init-bshelper.js +11 -0
  9. data/app/assets/stylesheets/bs-modal/bootstrap-modal-bs3patch.css +35 -0
  10. data/app/assets/stylesheets/bs-modal/bootstrap-modal.css +214 -0
  11. data/app/helpers/bootstrap_base_helper.rb +145 -0
  12. data/app/helpers/bootstrap_button_helper.rb +135 -0
  13. data/app/helpers/bootstrap_component_helper.rb +358 -0
  14. data/app/helpers/bootstrap_helper.rb +24 -0
  15. data/app/helpers/bootstrap_notify_helper.rb +49 -0
  16. data/app/helpers/bootstrap_post_paginate_helper.rb +62 -0
  17. data/app/helpers/bootstrap_tab_helper.rb +124 -0
  18. data/app/helpers/bootstrap_table_helper.rb +341 -0
  19. data/lib/bs-helper.rb +8 -0
  20. data/lib/bs-helper/engine.rb +21 -0
  21. data/lib/bs-helper/version.rb +5 -0
  22. data/lib/generators/bshelper/install/install_generator.rb +46 -0
  23. data/test/dummy/README.rdoc +261 -0
  24. data/test/dummy/Rakefile +7 -0
  25. data/test/dummy/app/assets/images/favicon.ico +0 -0
  26. data/test/dummy/app/assets/images/rar_gold.png +0 -0
  27. data/test/dummy/app/assets/images/text_page.png +0 -0
  28. data/test/dummy/app/assets/javascripts/application.js +22 -0
  29. data/test/dummy/app/assets/javascripts/components.js +2 -0
  30. data/test/dummy/app/assets/javascripts/paginations.js +2 -0
  31. data/test/dummy/app/assets/javascripts/prettify.js +376 -0
  32. data/test/dummy/app/assets/stylesheets/application.css.scss +163 -0
  33. data/test/dummy/app/assets/stylesheets/components.css.scss +3 -0
  34. data/test/dummy/app/assets/stylesheets/paginations.css.scss +3 -0
  35. data/test/dummy/app/assets/stylesheets/prettify.css +55 -0
  36. data/test/dummy/app/controllers/application_controller.rb +3 -0
  37. data/test/dummy/app/controllers/components_controller.rb +9 -0
  38. data/test/dummy/app/controllers/home_controller.rb +4 -0
  39. data/test/dummy/app/controllers/paginations_controller.rb +5 -0
  40. data/test/dummy/app/helpers/application_helper.rb +2 -0
  41. data/test/dummy/app/helpers/components_helper.rb +2 -0
  42. data/test/dummy/app/helpers/paginations_helper.rb +2 -0
  43. data/test/dummy/app/models/order.rb +2 -0
  44. data/test/dummy/app/views/components/_bootbox.html.erb +30 -0
  45. data/test/dummy/app/views/components/_button.html.erb +145 -0
  46. data/test/dummy/app/views/components/_flash.html.erb +44 -0
  47. data/test/dummy/app/views/components/_image.html.erb +66 -0
  48. data/test/dummy/app/views/components/_list.html.erb +162 -0
  49. data/test/dummy/app/views/components/_modal.html.erb +263 -0
  50. data/test/dummy/app/views/components/_navbar.html.erb +36 -0
  51. data/test/dummy/app/views/components/_notify.html.erb +30 -0
  52. data/test/dummy/app/views/components/_progressbar.html.erb +42 -0
  53. data/test/dummy/app/views/components/_tab.html.erb +134 -0
  54. data/test/dummy/app/views/components/_table.html.erb +244 -0
  55. data/test/dummy/app/views/components/_thumbnails.html.erb +71 -0
  56. data/test/dummy/app/views/components/_typographic.html.erb +133 -0
  57. data/test/dummy/app/views/components/index.html.erb +128 -0
  58. data/test/dummy/app/views/components/update.html.erb +2 -0
  59. data/test/dummy/app/views/home/index.html.erb +12 -0
  60. data/test/dummy/app/views/layouts/application.html.erb +79 -0
  61. data/test/dummy/app/views/paginations/index.html.erb +45 -0
  62. data/test/dummy/bin/bundle +3 -0
  63. data/test/dummy/bin/rails +4 -0
  64. data/test/dummy/bin/rake +4 -0
  65. data/test/dummy/config.ru +4 -0
  66. data/test/dummy/config/application.rb +17 -0
  67. data/test/dummy/config/boot.rb +10 -0
  68. data/test/dummy/config/database.yml +27 -0
  69. data/test/dummy/config/environment.rb +5 -0
  70. data/test/dummy/config/environments/development.rb +28 -0
  71. data/test/dummy/config/environments/production.rb +80 -0
  72. data/test/dummy/config/environments/test.rb +36 -0
  73. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  74. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  75. data/test/dummy/config/initializers/inflections.rb +15 -0
  76. data/test/dummy/config/initializers/mime_types.rb +5 -0
  77. data/test/dummy/config/initializers/secret_token.rb +7 -0
  78. data/test/dummy/config/initializers/session_store.rb +8 -0
  79. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  80. data/test/dummy/config/locales/en.bootstrap.yml +18 -0
  81. data/test/dummy/config/locales/en.yml +5 -0
  82. data/test/dummy/config/routes.rb +8 -0
  83. data/test/dummy/db/development.sqlite3 +0 -0
  84. data/test/dummy/db/migrate/20131006012048_create_orders.rb +12 -0
  85. data/test/dummy/db/schema.rb +25 -0
  86. data/test/dummy/db/seeds.rb +3 -0
  87. data/test/dummy/db/test.sqlite3 +0 -0
  88. data/test/dummy/log/development.log +6445 -0
  89. data/test/dummy/log/test.log +3020 -0
  90. data/test/dummy/public/404.html +26 -0
  91. data/test/dummy/public/422.html +26 -0
  92. data/test/dummy/public/500.html +25 -0
  93. data/test/dummy/public/favicon.ico +0 -0
  94. data/test/dummy/tmp/cache/assets/BB7/B00/sprockets%2F255015c35d7237c7582051420593d535 +0 -0
  95. data/test/dummy/tmp/cache/assets/BFE/E90/sprockets%2F46051149c05424080ec21b4b160b2156 +0 -0
  96. data/test/dummy/tmp/cache/assets/C00/C70/sprockets%2F2042815e30a1a59041392a5ca5440290 +0 -0
  97. data/test/dummy/tmp/cache/assets/C14/150/sprockets%2Fb119a0eb512432ef7314727958150651 +0 -0
  98. data/test/dummy/tmp/cache/assets/C1B/A20/sprockets%2F418d652b582b3203c7654d337047c338 +0 -0
  99. data/test/dummy/tmp/cache/assets/C29/8A0/sprockets%2Fa899e19256a0845205636938010c6fe5 +0 -0
  100. data/test/dummy/tmp/cache/assets/C2A/C00/sprockets%2F3506a8282568971d3248601e5e5425ff +0 -0
  101. data/test/dummy/tmp/cache/assets/C4B/EF0/sprockets%2F131d29c56765d2433266063045fba4f8 +0 -0
  102. data/test/dummy/tmp/cache/assets/C52/380/sprockets%2Fc39dc5164502475828be3d207521847e +0 -0
  103. data/test/dummy/tmp/cache/assets/C5D/BA0/sprockets%2F3012b77e6950a5219d79e44061789fc7 +0 -0
  104. data/test/dummy/tmp/cache/assets/C66/980/sprockets%2F08834498e0872d20578ff783e2f406b7 +0 -0
  105. data/test/dummy/tmp/cache/assets/C6F/FE0/sprockets%2F5cce6081788d09120c598c7279f82888 +0 -0
  106. data/test/dummy/tmp/cache/assets/C70/2B0/sprockets%2F5463710e10c56c02c6b5755029280bfc +0 -0
  107. data/test/dummy/tmp/cache/assets/C73/E40/sprockets%2F5b82d31405900db244371901fc76e0f6 +0 -0
  108. data/test/dummy/tmp/cache/assets/C75/980/sprockets%2F2404708d3ebd336e5416726433b29c3a +0 -0
  109. data/test/dummy/tmp/cache/assets/C7A/A60/sprockets%2F8ed6a1437c208c22d819801375df2270 +0 -0
  110. data/test/dummy/tmp/cache/assets/C7F/250/sprockets%2F0d48d83101ec82689352144842cde29a +0 -0
  111. data/test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a +0 -0
  112. data/test/dummy/tmp/cache/assets/CA4/D30/sprockets%2F755264e416b5a070875ee90af0242cc0 +0 -0
  113. data/test/dummy/tmp/cache/assets/CA5/8D0/sprockets%2F2555a348ba314a08c0f6d85b066129a9 +0 -0
  114. data/test/dummy/tmp/cache/assets/CA8/330/sprockets%2F46c9ed7b190224e086e20ca6382465a1 +0 -0
  115. data/test/dummy/tmp/cache/assets/CAA/430/sprockets%2F54687e09b19575b8930eb3887e698ee8 +0 -0
  116. data/test/dummy/tmp/cache/assets/CAF/640/sprockets%2F2803327062d607ade5813f79bb61df74 +0 -0
  117. data/test/dummy/tmp/cache/assets/CB4/8E0/sprockets%2F00d59d696cc7efe4234258e306b83333 +0 -0
  118. data/test/dummy/tmp/cache/assets/CBF/370/sprockets%2F49ceca075582477f96382fa1c26b4846 +0 -0
  119. data/test/dummy/tmp/cache/assets/CC5/160/sprockets%2F74b7c3a59a0e88f9502866d0f9b49059 +0 -0
  120. data/test/dummy/tmp/cache/assets/CCF/730/sprockets%2F884d37d65980884f89898cbb009ba60d +0 -0
  121. data/test/dummy/tmp/cache/assets/CD2/320/sprockets%2F06f36e5565a415bc3f15b9a0438b204e +0 -0
  122. data/test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423 +0 -0
  123. data/test/dummy/tmp/cache/assets/CD5/740/sprockets%2Fbb5277f1364450372ea69e473b0cb0e3 +0 -0
  124. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  125. data/test/dummy/tmp/cache/assets/CD8/810/sprockets%2Ffd61035950d2b33670fb8d3f4271fc15 +0 -0
  126. data/test/dummy/tmp/cache/assets/CD8/D90/sprockets%2Fc1f515271621dfef6c3941c1e210e587 +0 -0
  127. data/test/dummy/tmp/cache/assets/CDA/BD0/sprockets%2F549431bf0eb194b790b4060759fb1b8a +0 -0
  128. data/test/dummy/tmp/cache/assets/CDB/1D0/sprockets%2Fe0be664785a1118d4bf4b7110f6f0846 +0 -0
  129. data/test/dummy/tmp/cache/assets/CDB/970/sprockets%2F08f5b4a540db21d6b735be28047e3569 +0 -0
  130. data/test/dummy/tmp/cache/assets/CE1/310/sprockets%2F5a5d222a2e5345211e7969d3e860cd9e +0 -0
  131. data/test/dummy/tmp/cache/assets/CE1/3C0/sprockets%2Fcdd01087f3928656a4dd8c33d82641c3 +0 -0
  132. data/test/dummy/tmp/cache/assets/CE1/B90/sprockets%2F72230396f68b08a199d9a24ba9d2c9a0 +0 -0
  133. data/test/dummy/tmp/cache/assets/CE3/820/sprockets%2Fb760f2c7efb9312b9571a9a576854a30 +0 -0
  134. data/test/dummy/tmp/cache/assets/CE3/CC0/sprockets%2Ff9608666245b5b6f3de33b212d4e509d +0 -0
  135. data/test/dummy/tmp/cache/assets/CE7/310/sprockets%2F8b0357db2336e0598cb9e5810e199a7b +0 -0
  136. data/test/dummy/tmp/cache/assets/CE7/FD0/sprockets%2Fbb3a33894c855494dfe294248325a0ef +0 -0
  137. data/test/dummy/tmp/cache/assets/CE8/5F0/sprockets%2Fe313d803410c99bf15d6344fb77f578d +0 -0
  138. data/test/dummy/tmp/cache/assets/CEF/DA0/sprockets%2F5a60769c6b6e9d2926c7c558d98001bd +0 -0
  139. data/test/dummy/tmp/cache/assets/CF2/0A0/sprockets%2F2f5152f528c4f0586e490cbe978e26c8 +0 -0
  140. data/test/dummy/tmp/cache/assets/CF2/CB0/sprockets%2F47142f1e39d3ed8004649bc2968eee79 +0 -0
  141. data/test/dummy/tmp/cache/assets/CF3/640/sprockets%2F48de748d4590940ac2981d18ff216cf9 +0 -0
  142. data/test/dummy/tmp/cache/assets/CF4/1C0/sprockets%2Ff708449e989289d9d02b35ada290e18d +0 -0
  143. data/test/dummy/tmp/cache/assets/CF6/100/sprockets%2F53efd93222c0011cae70c56d34251df1 +0 -0
  144. data/test/dummy/tmp/cache/assets/CF6/BA0/sprockets%2F2999139a7870f72c257f820bc9f62cee +0 -0
  145. data/test/dummy/tmp/cache/assets/CF7/670/sprockets%2F86bb8f349783ee1007567e607c89dbc6 +0 -0
  146. data/test/dummy/tmp/cache/assets/CFB/C30/sprockets%2F0d44a6a2a55f865ac64b1ce4620b5036 +0 -0
  147. data/test/dummy/tmp/cache/assets/CFC/FD0/sprockets%2F5ea4bbab196a7829893dd7769374894c +0 -0
  148. data/test/dummy/tmp/cache/assets/CFD/010/sprockets%2Fd12aa1062f6c713a9efe86ab12263291 +0 -0
  149. data/test/dummy/tmp/cache/assets/D05/5F0/sprockets%2Fb44400c4299cbe671ffc09b1f1570d24 +0 -0
  150. data/test/dummy/tmp/cache/assets/D0B/760/sprockets%2F9e9498b160e9fb55d0ee0202a06d74a1 +0 -0
  151. data/test/dummy/tmp/cache/assets/D0C/DB0/sprockets%2Fcf235e0d96662a1376d2dda257d6f422 +0 -0
  152. data/test/dummy/tmp/cache/assets/D0E/F80/sprockets%2F8c2b061e379a23e7c4d207adcf992462 +0 -0
  153. data/test/dummy/tmp/cache/assets/D0F/220/sprockets%2F763a8623c9f9ca1da82ce1d3065195b4 +0 -0
  154. data/test/dummy/tmp/cache/assets/D10/220/sprockets%2F726f6657c33b6aa3c0d94af63411cc98 +0 -0
  155. data/test/dummy/tmp/cache/assets/D10/5A0/sprockets%2Fd2231fd71dfa3e6303aefa6662449597 +0 -0
  156. data/test/dummy/tmp/cache/assets/D10/BD0/sprockets%2F651f97e9f10e46d0b60870a29da1dd45 +0 -0
  157. data/test/dummy/tmp/cache/assets/D11/790/sprockets%2Fe9dd4830f03e40a2d643677026c7f8bd +0 -0
  158. data/test/dummy/tmp/cache/assets/D12/920/sprockets%2Ffcb404030b30e1a73c604ef0a41a721a +0 -0
  159. data/test/dummy/tmp/cache/assets/D17/4C0/sprockets%2F700827acd727b6fc8361f454c68a5cd7 +0 -0
  160. data/test/dummy/tmp/cache/assets/D17/AA0/sprockets%2Fb207b91eda797ba69e6e407427c9810d +0 -0
  161. data/test/dummy/tmp/cache/assets/D1A/C80/sprockets%2Fd05d17ace6d56d848f78eab067509821 +0 -0
  162. data/test/dummy/tmp/cache/assets/D1C/9D0/sprockets%2F73ff5a1b61c01067bb59f6fd89b54894 +0 -0
  163. data/test/dummy/tmp/cache/assets/D1D/A80/sprockets%2F587d710a85a815aa3d67a7496f59dcb6 +0 -0
  164. data/test/dummy/tmp/cache/assets/D1D/B00/sprockets%2Fc658105ac7b6fe7b9cc4656176259a9b +0 -0
  165. data/test/dummy/tmp/cache/assets/D23/CA0/sprockets%2F10af5eba24474e2fa3c15510681a60eb +0 -0
  166. data/test/dummy/tmp/cache/assets/D28/7A0/sprockets%2Fc0016b98f89c7f17cdd78b81fc194893 +0 -0
  167. data/test/dummy/tmp/cache/assets/D29/700/sprockets%2Fe6f667affe510637b6289bf664d73c94 +0 -0
  168. data/test/dummy/tmp/cache/assets/D29/7F0/sprockets%2F1814abebb27ea13dd682b39514d4221c +0 -0
  169. data/test/dummy/tmp/cache/assets/D2A/4D0/sprockets%2F93b2a67747d68990b77f7e2f4bb186ed +0 -0
  170. data/test/dummy/tmp/cache/assets/D2A/5F0/sprockets%2F444f8aab7211e90259e2a1e21afd050f +0 -0
  171. data/test/dummy/tmp/cache/assets/D2A/6D0/sprockets%2F56b0fec7ef32b116b33f6279131ac0c0 +0 -0
  172. data/test/dummy/tmp/cache/assets/D2B/0A0/sprockets%2Fcf0f777766ec93937f4950fb7eb450c7 +0 -0
  173. data/test/dummy/tmp/cache/assets/D2D/D50/sprockets%2Fd585a06e2ee6203ccb04c8b84150d14d +0 -0
  174. data/test/dummy/tmp/cache/assets/D30/050/sprockets%2F010cfbc0fe93ced742452b382b2f6137 +0 -0
  175. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  176. data/test/dummy/tmp/cache/assets/D34/AF0/sprockets%2Ff9c3010efc1c070a7b965d5cf2e28440 +0 -0
  177. data/test/dummy/tmp/cache/assets/D37/910/sprockets%2F6d03353931352e58ead27bafa2b7e18d +0 -0
  178. data/test/dummy/tmp/cache/assets/D38/1F0/sprockets%2F3e51a308496425c44eddbd4831bd4a6e +0 -0
  179. data/test/dummy/tmp/cache/assets/D39/AC0/sprockets%2F374af92b8212b4bcb11df742483af93f +0 -0
  180. data/test/dummy/tmp/cache/assets/D3A/8F0/sprockets%2F286081105fc0bce1bb5e58d9437df6d1 +0 -0
  181. data/test/dummy/tmp/cache/assets/D3B/BA0/sprockets%2Fe6806877af3cba66407e110c72b4ddf2 +0 -0
  182. data/test/dummy/tmp/cache/assets/D3C/9A0/sprockets%2F0bfd8955817f68630d3c10eb1ca26d7b +0 -0
  183. data/test/dummy/tmp/cache/assets/D3D/210/sprockets%2F89af64f22b01d10b7759a29d4303ffcf +0 -0
  184. data/test/dummy/tmp/cache/assets/D3E/3F0/sprockets%2Fca760aeeff18c1f769100174c5f337d5 +0 -0
  185. data/test/dummy/tmp/cache/assets/D40/C40/sprockets%2Fe1e3f7030b8f90aa626ec8e640717d6e +0 -0
  186. data/test/dummy/tmp/cache/assets/D41/2F0/sprockets%2F95dccfb2296b7ba175585f06ea212e29 +0 -0
  187. data/test/dummy/tmp/cache/assets/D43/200/sprockets%2Faffca5ff9de508520551e380a948d136 +0 -0
  188. data/test/dummy/tmp/cache/assets/D46/1E0/sprockets%2F578ca1351d466b2a7f7681b90cfa9ee4 +0 -0
  189. data/test/dummy/tmp/cache/assets/D47/840/sprockets%2F619da8dda7f51281494c293bdd19e44d +0 -0
  190. data/test/dummy/tmp/cache/assets/D4B/110/sprockets%2Fbff37793c148d27d084ccc25c7e6d095 +0 -0
  191. data/test/dummy/tmp/cache/assets/D4B/120/sprockets%2F9851478267eda328424a664becdeaec8 +0 -0
  192. data/test/dummy/tmp/cache/assets/D4B/A40/sprockets%2Fea319dc44a8e75d8b4090ea37e35d977 +0 -0
  193. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  194. data/test/dummy/tmp/cache/assets/D50/870/sprockets%2Fd2bb3bfae89cf939627795942a30ef44 +0 -0
  195. data/test/dummy/tmp/cache/assets/D50/A50/sprockets%2F584ed79d21d49036c19ef6aa39ef39e1 +0 -0
  196. data/test/dummy/tmp/cache/assets/D50/DF0/sprockets%2F99e091c7908d7fca33de747cb53c535e +0 -0
  197. data/test/dummy/tmp/cache/assets/D53/080/sprockets%2F610ad73170cc39dc8d69a9e7f814fe89 +0 -0
  198. data/test/dummy/tmp/cache/assets/D55/A60/sprockets%2F7d2d3f238b17eb6b6a0149c230a2d0da +0 -0
  199. data/test/dummy/tmp/cache/assets/D58/630/sprockets%2F6e31211feb3b021ab13d59d6afa5e393 +0 -0
  200. data/test/dummy/tmp/cache/assets/D59/BD0/sprockets%2F8a2b501d930665d6c10ce2d52c5bccc3 +0 -0
  201. data/test/dummy/tmp/cache/assets/D5A/5A0/sprockets%2Ffb68b1e33aca410ae15c1e4a69b60087 +0 -0
  202. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  203. data/test/dummy/tmp/cache/assets/D5D/B60/sprockets%2F1d2b9d33eeac89cbaf405770a309203a +0 -0
  204. data/test/dummy/tmp/cache/assets/D62/FD0/sprockets%2F4e33cbf3c3ee86c3103de60d1534ce63 +0 -0
  205. data/test/dummy/tmp/cache/assets/D64/5C0/sprockets%2F7fdd0381b23dbf9ad6fed5532b044161 +0 -0
  206. data/test/dummy/tmp/cache/assets/D66/A50/sprockets%2Fa19d3c63b5c8d302b27d40bff9ac0694 +0 -0
  207. data/test/dummy/tmp/cache/assets/D67/4C0/sprockets%2F2acdba0f2819e272fd2775c1e2e135f6 +0 -0
  208. data/test/dummy/tmp/cache/assets/D69/8B0/sprockets%2F6165e3199da62d88d3cda04e9f0bab03 +0 -0
  209. data/test/dummy/tmp/cache/assets/D69/BC0/sprockets%2Fb4b3aa35e039b27b8e060c45f9775cbd +0 -0
  210. data/test/dummy/tmp/cache/assets/D6E/430/sprockets%2F4f91b073b921ebf764afe6b65e9c400b +0 -0
  211. data/test/dummy/tmp/cache/assets/D70/B20/sprockets%2Fe1b78bcabcbb629a3b7491f646e47444 +0 -0
  212. data/test/dummy/tmp/cache/assets/D71/610/sprockets%2F7f5938c3933df260b3c1d3ca966aba7d +0 -0
  213. data/test/dummy/tmp/cache/assets/D72/890/sprockets%2F1964d5b7e91e4bd75eaaa90372179abe +0 -0
  214. data/test/dummy/tmp/cache/assets/D72/F70/sprockets%2Ffc8249455de6cf6c7ee332c3da50b651 +0 -0
  215. data/test/dummy/tmp/cache/assets/D75/2E0/sprockets%2F8b14921da19c834965bfceae1f7653eb +0 -0
  216. data/test/dummy/tmp/cache/assets/D75/7C0/sprockets%2Fa6bd7e7accd75862c41df7761f20484c +0 -0
  217. data/test/dummy/tmp/cache/assets/D78/420/sprockets%2F1d8aadb52328eb71c38f6f6789541aef +0 -0
  218. data/test/dummy/tmp/cache/assets/D78/E40/sprockets%2Faedc95237ba36c670c945f38c90eff06 +0 -0
  219. data/test/dummy/tmp/cache/assets/D7B/0D0/sprockets%2F551a784b818d6b4b49c0c8f8b4fdf7a4 +0 -0
  220. data/test/dummy/tmp/cache/assets/D7B/BC0/sprockets%2F60689caf6e6b35ddfef5020e38cd6682 +0 -0
  221. data/test/dummy/tmp/cache/assets/D8B/080/sprockets%2F9acde0d230391c71d10e44b0bbfab788 +0 -0
  222. data/test/dummy/tmp/cache/assets/D91/1F0/sprockets%2F9d59f6d0a4e6c39d5df4967d495dae77 +0 -0
  223. data/test/dummy/tmp/cache/assets/D93/710/sprockets%2F4b23ca13b12ffd5b869d852dbd4517ab +0 -0
  224. data/test/dummy/tmp/cache/assets/D98/820/sprockets%2F9e134dbd90cdb62020573b5efa598cbc +0 -0
  225. data/test/dummy/tmp/cache/assets/D99/2B0/sprockets%2F6f461bec4036b94e05def91bcef2f212 +0 -0
  226. data/test/dummy/tmp/cache/assets/D9B/6D0/sprockets%2F233d91946fb5eec30dfb91d13645acbf +0 -0
  227. data/test/dummy/tmp/cache/assets/D9B/BC0/sprockets%2F972cc0f426f8a9a1502aac8008df9dbf +0 -0
  228. data/test/dummy/tmp/cache/assets/D9F/240/sprockets%2Fcbcc9415e68ada75302721596fff2beb +0 -0
  229. data/test/dummy/tmp/cache/assets/DA0/300/sprockets%2Fb0662d0bd4d1de35ee5275c9eb777f4a +0 -0
  230. data/test/dummy/tmp/cache/assets/DA0/A00/sprockets%2F470e7e6e53ac8e2d8b8cc67cc0ed4150 +0 -0
  231. data/test/dummy/tmp/cache/assets/DA2/9F0/sprockets%2F32e07f1e2ace5083e8d82fe128c9ce7b +0 -0
  232. data/test/dummy/tmp/cache/assets/DA3/130/sprockets%2F564d6aad8eed946ff1c02e46374ce61a +0 -0
  233. data/test/dummy/tmp/cache/assets/DA4/560/sprockets%2F2088bf8c4ce3fc99f1ca81b5daa30588 +0 -0
  234. data/test/dummy/tmp/cache/assets/DA6/C80/sprockets%2Ffb3fbf878626cb0b193398e604efdda1 +0 -0
  235. data/test/dummy/tmp/cache/assets/DAE/2F0/sprockets%2Fd1af60de6575897dbc5f714ecc8bc781 +0 -0
  236. data/test/dummy/tmp/cache/assets/DB0/8E0/sprockets%2Fa7e3c53c5e6be4829feaf8593d0cc739 +0 -0
  237. data/test/dummy/tmp/cache/assets/DB2/8C0/sprockets%2Fee6f626db3884fac4f4f534c594d58cb +0 -0
  238. data/test/dummy/tmp/cache/assets/DB3/FE0/sprockets%2Ff44f9fa62c88d3d8e1df6a9c770d5a73 +0 -0
  239. data/test/dummy/tmp/cache/assets/DB7/6A0/sprockets%2Fe62279cb658efbd4ee59afa72a4967f5 +0 -0
  240. data/test/dummy/tmp/cache/assets/DBD/170/sprockets%2Fd17e4102f6f24fcacccd2e3be411f670 +0 -0
  241. data/test/dummy/tmp/cache/assets/DC1/350/sprockets%2F462d90cc0af07b51cf4d9280bc96bdaa +0 -0
  242. data/test/dummy/tmp/cache/assets/DC2/1E0/sprockets%2Ffaebe1250f51bbc6ed1cd059807ea653 +0 -0
  243. data/test/dummy/tmp/cache/assets/DC5/510/sprockets%2F4a670eb7532fb1e85bb9f00de445bfba +0 -0
  244. data/test/dummy/tmp/cache/assets/DCA/3F0/sprockets%2F0413c8f1d459a08ebcfc047fa3d59dbe +0 -0
  245. data/test/dummy/tmp/cache/assets/DD4/BF0/sprockets%2F74d6a551a492207cbe7ef9a8b4d6fdea +0 -0
  246. data/test/dummy/tmp/cache/assets/DDB/A80/sprockets%2F1b4568e9df68ba3beab8a093e6c487ed +0 -0
  247. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  248. data/test/dummy/tmp/cache/assets/DEA/6E0/sprockets%2Fea1fee1a4d51c17c3ca11ba896d8d20d +0 -0
  249. data/test/dummy/tmp/cache/assets/DEB/5C0/sprockets%2Fb5511bfe77b3e107e3fdcb20e6ba3f3a +0 -0
  250. data/test/dummy/tmp/cache/assets/DEE/2F0/sprockets%2F84a9fb3ac3f8c95f1bdc9e58ff79b648 +0 -0
  251. data/test/dummy/tmp/cache/assets/DF2/1C0/sprockets%2F3d3c6b606ac3f25bd883a15cc50dcfde +0 -0
  252. data/test/dummy/tmp/cache/assets/DF6/C30/sprockets%2F094cbbee3c8ae3a10a6351b3f879edbe +0 -0
  253. data/test/dummy/tmp/cache/assets/DF9/680/sprockets%2Feb943eab7c94dbb2ff5d4baf180a2825 +0 -0
  254. data/test/dummy/tmp/cache/assets/DF9/BF0/sprockets%2Facce48e27f31adf4ce5d7261eb0d634e +0 -0
  255. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  256. data/test/dummy/tmp/cache/assets/E30/F30/sprockets%2F2de6682f4a2f69a08c6bbafef6beb13f +0 -0
  257. data/test/dummy/tmp/cache/assets/E34/4E0/sprockets%2Fdfeb62c5bdee854323f83d507eca9ddc +0 -0
  258. data/test/dummy/tmp/cache/assets/E36/600/sprockets%2Fd3efa814e1719cd5ccd9e3f295deba9a +0 -0
  259. data/test/dummy/tmp/cache/assets/E37/AD0/sprockets%2Fffa65557afebb980751c8fed3cccc91a +0 -0
  260. data/test/dummy/tmp/cache/assets/E3A/330/sprockets%2F738a1f7a1b37d9a4edcdb685a9cdfe9c +0 -0
  261. data/test/dummy/tmp/cache/assets/E58/410/sprockets%2F1ffe555dcee543ffc25dc45c0fca2fc0 +0 -0
  262. data/test/dummy/tmp/cache/assets/E5D/A40/sprockets%2F6cfde019cc3feaf0a90cefaa6b39e494 +0 -0
  263. data/test/dummy/tmp/cache/assets/E79/EE0/sprockets%2Fba0bcc8fbaea1603d9e2e98cdab20af4 +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sass/28736f96a991e275b6732cb50220e8c11ba4494b/application.css.scssc +0 -0
  265. data/test/dummy/tmp/cache/assets/development/sass/28736f96a991e275b6732cb50220e8c11ba4494b/components.css.scssc +0 -0
  266. data/test/dummy/tmp/cache/assets/development/sass/28736f96a991e275b6732cb50220e8c11ba4494b/paginations.css.scssc +0 -0
  267. data/test/dummy/tmp/cache/assets/development/sass/95877ca3fb97306427e6a8c3200a77fa726c2979/bootstrap-responsive.scssc +0 -0
  268. data/test/dummy/tmp/cache/assets/development/sass/95877ca3fb97306427e6a8c3200a77fa726c2979/bootstrap.scssc +0 -0
  269. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_accordion.scssc +0 -0
  270. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_alerts.scssc +0 -0
  271. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_breadcrumbs.scssc +0 -0
  272. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_button-groups.scssc +0 -0
  273. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_buttons.scssc +0 -0
  274. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_carousel.scssc +0 -0
  275. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_close.scssc +0 -0
  276. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_code.scssc +0 -0
  277. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_component-animations.scssc +0 -0
  278. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_dropdowns.scssc +0 -0
  279. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_forms.scssc +0 -0
  280. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_grid.scssc +0 -0
  281. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_hero-unit.scssc +0 -0
  282. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_labels-badges.scssc +0 -0
  283. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_layouts.scssc +0 -0
  284. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_media.scssc +0 -0
  285. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_mixins.scssc +0 -0
  286. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_modals.scssc +0 -0
  287. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_navbar.scssc +0 -0
  288. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_navs.scssc +0 -0
  289. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_pager.scssc +0 -0
  290. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_pagination.scssc +0 -0
  291. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_popovers.scssc +0 -0
  292. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_progress-bars.scssc +0 -0
  293. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_reset.scssc +0 -0
  294. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-1200px-min.scssc +0 -0
  295. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-767px-max.scssc +0 -0
  296. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-768px-979px.scssc +0 -0
  297. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-navbar.scssc +0 -0
  298. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_responsive-utilities.scssc +0 -0
  299. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_scaffolding.scssc +0 -0
  300. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_sprites.scssc +0 -0
  301. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_tables.scssc +0 -0
  302. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_thumbnails.scssc +0 -0
  303. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_tooltip.scssc +0 -0
  304. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_type.scssc +0 -0
  305. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_utilities.scssc +0 -0
  306. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_variables.scssc +0 -0
  307. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/_wells.scssc +0 -0
  308. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/bootstrap.scssc +0 -0
  309. data/test/dummy/tmp/cache/assets/development/sass/c75ed21fe4fe5a931216dc17f876dea4e6c936a7/responsive.scssc +0 -0
  310. data/test/dummy/tmp/cache/assets/development/sprockets/00171108bd75279e653c1ffb5b4650b8 +0 -0
  311. data/test/dummy/tmp/cache/assets/development/sprockets/02a5e97b270aecc19e04af22f1f1cd30 +0 -0
  312. data/test/dummy/tmp/cache/assets/development/sprockets/04184a8816ea3777ee27b854203f6019 +0 -0
  313. data/test/dummy/tmp/cache/assets/development/sprockets/048bae76f95c4ffc9b7af4e6c2785962 +0 -0
  314. data/test/dummy/tmp/cache/assets/development/sprockets/05029f2e1c68338ac88af8005acab3ca +0 -0
  315. data/test/dummy/tmp/cache/assets/development/sprockets/08318fdb5f5b783c22442a6aeb73730e +0 -0
  316. data/test/dummy/tmp/cache/assets/development/sprockets/08f00d4a1bac197d382c2269a184f9e4 +0 -0
  317. data/test/dummy/tmp/cache/assets/development/sprockets/0b6c06f6bcf535567c19f70f7aa5144d +0 -0
  318. data/test/dummy/tmp/cache/assets/development/sprockets/0b9076b70e22dd7976e589018cdf65ca +0 -0
  319. data/test/dummy/tmp/cache/assets/development/sprockets/0e8461b429e0249b8dc74d457fcc17d3 +0 -0
  320. data/test/dummy/tmp/cache/assets/development/sprockets/0f074c0ea10680a3ba979bbd1d2ff756 +0 -0
  321. data/test/dummy/tmp/cache/assets/development/sprockets/0f246c1ee41a544d79fbfe7e4c55395a +0 -0
  322. data/test/dummy/tmp/cache/assets/development/sprockets/0f5877c1fb159c1a5f1602569a0cdde2 +0 -0
  323. data/test/dummy/tmp/cache/assets/development/sprockets/114347d906f6bbc62846207e29d557ea +0 -0
  324. data/test/dummy/tmp/cache/assets/development/sprockets/15963a31c483fd420068248735916590 +0 -0
  325. data/test/dummy/tmp/cache/assets/development/sprockets/16039dc737e753516f4399dcd38d6de7 +0 -0
  326. data/test/dummy/tmp/cache/assets/development/sprockets/17343be9bd7b90029b2d0ba85cc272a6 +0 -0
  327. data/test/dummy/tmp/cache/assets/development/sprockets/22110de5943f742c8678358b15f96778 +0 -0
  328. data/test/dummy/tmp/cache/assets/development/sprockets/2475b7ccd67f97ce69957334b916f93e +0 -0
  329. data/test/dummy/tmp/cache/assets/development/sprockets/264e074302048cb000f909f2919a0c9a +0 -0
  330. data/test/dummy/tmp/cache/assets/development/sprockets/272f5096d49f011351e9f4780c313741 +0 -0
  331. data/test/dummy/tmp/cache/assets/development/sprockets/27a29069244dbf376d0988a1d36240ee +0 -0
  332. data/test/dummy/tmp/cache/assets/development/sprockets/29c2f0fd8e3c5f4dcd1332efa4a0371d +0 -0
  333. data/test/dummy/tmp/cache/assets/development/sprockets/2a2a275912bc287c9d7a3a311488e28c +0 -0
  334. data/test/dummy/tmp/cache/assets/development/sprockets/2a61f06ae5cf5f6f1d43645b9b219453 +0 -0
  335. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  336. data/test/dummy/tmp/cache/assets/development/sprockets/32ef1c9e94a83350bad5e887c416c5b6 +0 -0
  337. data/test/dummy/tmp/cache/assets/development/sprockets/367865b241c60ef0e9a85c9f9910f7d4 +0 -0
  338. data/test/dummy/tmp/cache/assets/development/sprockets/37984c7de5e7d22002a378234035e51c +0 -0
  339. data/test/dummy/tmp/cache/assets/development/sprockets/40f725c6fe77af21a3d7c750a30b4d72 +0 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/4201264f7710f91dc1c389a2497eda7d +0 -0
  341. data/test/dummy/tmp/cache/assets/development/sprockets/4632953f64dffdb8589b67c260f76a80 +0 -0
  342. data/test/dummy/tmp/cache/assets/development/sprockets/46a877b33fea5e34d8af620fa68516f6 +0 -0
  343. data/test/dummy/tmp/cache/assets/development/sprockets/4783fc0456df015fe93e64130dd123c9 +0 -0
  344. data/test/dummy/tmp/cache/assets/development/sprockets/4790af1cc9b3545ffd8c1ad8615c8461 +0 -0
  345. data/test/dummy/tmp/cache/assets/development/sprockets/4e81b6b6eb1e1462b1eea2caee6bfcc6 +0 -0
  346. data/test/dummy/tmp/cache/assets/development/sprockets/518c73ecd762cbf6d85a3ae693e08d01 +0 -0
  347. data/test/dummy/tmp/cache/assets/development/sprockets/536039d2b9042f61449290e282854f4d +0 -0
  348. data/test/dummy/tmp/cache/assets/development/sprockets/54cc1257b927751b13f0369969e17440 +0 -0
  349. data/test/dummy/tmp/cache/assets/development/sprockets/563bd386568f5c565af0f5e77d1465b6 +0 -0
  350. data/test/dummy/tmp/cache/assets/development/sprockets/56401bbafd08927b55572c8ef7e88883 +0 -0
  351. data/test/dummy/tmp/cache/assets/development/sprockets/58548b7df7a227fd1bf04f0c6dfccf36 +0 -0
  352. data/test/dummy/tmp/cache/assets/development/sprockets/5865993e4fa54b7f6f0186ebaffff12b +0 -0
  353. data/test/dummy/tmp/cache/assets/development/sprockets/5f206472cf6bcde2e61740cb5386efe6 +0 -0
  354. data/test/dummy/tmp/cache/assets/development/sprockets/5f4079f15430a7602518336faeccf957 +0 -0
  355. data/test/dummy/tmp/cache/assets/development/sprockets/5f62321f43b55988b6cb95367556d822 +0 -0
  356. data/test/dummy/tmp/cache/assets/development/sprockets/653178c2e0c5d134069e58196f7bf28e +0 -0
  357. data/test/dummy/tmp/cache/assets/development/sprockets/661c74f15a009d482fdad85f811e6f8e +0 -0
  358. data/test/dummy/tmp/cache/assets/development/sprockets/6645261a77362094829edc9269130cf4 +0 -0
  359. data/test/dummy/tmp/cache/assets/development/sprockets/6668d3ee30c1513097c95bcc0a27696a +0 -0
  360. data/test/dummy/tmp/cache/assets/development/sprockets/698c4f478493aa93e94a2c32cdd5f1cc +0 -0
  361. data/test/dummy/tmp/cache/assets/development/sprockets/69c3968e244ecbe63dba17e07301aa68 +0 -0
  362. data/test/dummy/tmp/cache/assets/development/sprockets/6a859ca0860b6b2173eaea6c1abd630a +0 -0
  363. data/test/dummy/tmp/cache/assets/development/sprockets/6a98434027a1ee08391a7294b1aa7a67 +0 -0
  364. data/test/dummy/tmp/cache/assets/development/sprockets/6ba848548341f31a12f3af01e5bcb01e +0 -0
  365. data/test/dummy/tmp/cache/assets/development/sprockets/700827acd727b6fc8361f454c68a5cd7 +0 -0
  366. data/test/dummy/tmp/cache/assets/development/sprockets/715840f8887bc1e70ef3cc18b429cbc8 +0 -0
  367. data/test/dummy/tmp/cache/assets/development/sprockets/754b02ea2ed1c85b7756de6452f4aeb7 +0 -0
  368. data/test/dummy/tmp/cache/assets/development/sprockets/779fd39741d5f4364f4453e6d9db3a8c +0 -0
  369. data/test/dummy/tmp/cache/assets/development/sprockets/789ee96fc4d6c86c29c7859b5a5fb64e +0 -0
  370. data/test/dummy/tmp/cache/assets/development/sprockets/78fdc1d9add39ed3fdcbf7cae3df4190 +0 -0
  371. data/test/dummy/tmp/cache/assets/development/sprockets/7b2d3e5e25b0901f78fbf8c9cb9570c4 +0 -0
  372. data/test/dummy/tmp/cache/assets/development/sprockets/7d3e001df1afe33a8b5380b294997051 +0 -0
  373. data/test/dummy/tmp/cache/assets/development/sprockets/7ee9049cecde358160bb72854ce9981e +0 -0
  374. data/test/dummy/tmp/cache/assets/development/sprockets/805a755d6887dd3f251ee8d671113a55 +0 -0
  375. data/test/dummy/tmp/cache/assets/development/sprockets/833fa0f8ca6eda2934d5875796ac0ddb +0 -0
  376. data/test/dummy/tmp/cache/assets/development/sprockets/84eb79ed8e43cf9414e6ecfd38c5a19f +0 -0
  377. data/test/dummy/tmp/cache/assets/development/sprockets/87a55c890eedab0cc5d1e3f2c2b2da4b +0 -0
  378. data/test/dummy/tmp/cache/assets/development/sprockets/87efe66475e2e502b42c392ff8273442 +0 -0
  379. data/test/dummy/tmp/cache/assets/development/sprockets/8ab512c9b33ac90e699b73469d71f061 +0 -0
  380. data/test/dummy/tmp/cache/assets/development/sprockets/8bd5ee2e9abbe312a72a1cec2ea714a7 +0 -0
  381. data/test/dummy/tmp/cache/assets/development/sprockets/8cc360b254f1bff91753f954e7591a9b +0 -0
  382. data/test/dummy/tmp/cache/assets/development/sprockets/8cef39f720d3603419826280adad9372 +0 -0
  383. data/test/dummy/tmp/cache/assets/development/sprockets/8d55d8baa9ba44e3a712be2608138977 +0 -0
  384. data/test/dummy/tmp/cache/assets/development/sprockets/8ec990d84f5dedd35001397078415137 +0 -0
  385. data/test/dummy/tmp/cache/assets/development/sprockets/94e46c0e76c8f392586af76b0f6c6e93 +0 -0
  386. data/test/dummy/tmp/cache/assets/development/sprockets/959e668443f5574a25645a9cb54649f5 +0 -0
  387. data/test/dummy/tmp/cache/assets/development/sprockets/968566581a35be861fa4f8fed757dcae +0 -0
  388. data/test/dummy/tmp/cache/assets/development/sprockets/98f1b84ebd547f6cd07a548569b3e1ae +0 -0
  389. data/test/dummy/tmp/cache/assets/development/sprockets/9b51a99e821d1802733dceac6764d18f +0 -0
  390. data/test/dummy/tmp/cache/assets/development/sprockets/9e6dd98de3da516019c66e5cea7aaa7f +0 -0
  391. data/test/dummy/tmp/cache/assets/development/sprockets/a0a671e624f03533a82b1ec899bf3b21 +0 -0
  392. data/test/dummy/tmp/cache/assets/development/sprockets/a0f669003bef02490064a16cfdb916fe +0 -0
  393. data/test/dummy/tmp/cache/assets/development/sprockets/a5b779be5a68643653ca723bce23c62c +0 -0
  394. data/test/dummy/tmp/cache/assets/development/sprockets/a71be32ef78d975a6d1d5e32143d05ee +0 -0
  395. data/test/dummy/tmp/cache/assets/development/sprockets/a899e19256a0845205636938010c6fe5 +0 -0
  396. data/test/dummy/tmp/cache/assets/development/sprockets/a927b1e06ff9451df692de08dca0e08f +0 -0
  397. data/test/dummy/tmp/cache/assets/development/sprockets/a97cd428904e5968d05f7d3a5fd50f85 +0 -0
  398. data/test/dummy/tmp/cache/assets/development/sprockets/aa87366fe7cd02f1be035665580cf066 +0 -0
  399. data/test/dummy/tmp/cache/assets/development/sprockets/ad1e6aa474266554a6dd880d462f633e +0 -0
  400. data/test/dummy/tmp/cache/assets/development/sprockets/af5ab48d2f371513fb609f8bdec3ac42 +0 -0
  401. data/test/dummy/tmp/cache/assets/development/sprockets/b0f49e3da03027c5e6d62ed7a5f49a43 +0 -0
  402. data/test/dummy/tmp/cache/assets/development/sprockets/b51a3679ccee92d6e374deac3359cc69 +0 -0
  403. data/test/dummy/tmp/cache/assets/development/sprockets/b58136bb390cf7c8bb94be5d819a0480 +0 -0
  404. data/test/dummy/tmp/cache/assets/development/sprockets/b7f56c6511e2ad0e7534e6f578b9070d +0 -0
  405. data/test/dummy/tmp/cache/assets/development/sprockets/ba8d058dd931d04837d9f0cf2a0ad5aa +0 -0
  406. data/test/dummy/tmp/cache/assets/development/sprockets/baed877d386dc374496dcd62af36bc5b +0 -0
  407. data/test/dummy/tmp/cache/assets/development/sprockets/bcca522c6302f184f12fe0e8a7d7e71a +0 -0
  408. data/test/dummy/tmp/cache/assets/development/sprockets/c09bd2cb81885f4b03d7c53a3d85fdb1 +0 -0
  409. data/test/dummy/tmp/cache/assets/development/sprockets/c13fc73ceafa45876a901b3e775b83ae +0 -0
  410. data/test/dummy/tmp/cache/assets/development/sprockets/c3ca63a68d9a17cf1beb8e708ffbd3ca +0 -0
  411. data/test/dummy/tmp/cache/assets/development/sprockets/c61c40e35c6ac853de21fd169c1c82b9 +0 -0
  412. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  413. data/test/dummy/tmp/cache/assets/development/sprockets/d4c36568a5145e04bfbbefd37fecdde7 +0 -0
  414. data/test/dummy/tmp/cache/assets/development/sprockets/d75dd624db3682fd4fed243c5f6f2e69 +0 -0
  415. data/test/dummy/tmp/cache/assets/development/sprockets/d9fa58e1385bfb03f2ede65c90f36d70 +0 -0
  416. data/test/dummy/tmp/cache/assets/development/sprockets/db6179f67e9b6827b5870d2c1b6ccd3d +0 -0
  417. data/test/dummy/tmp/cache/assets/development/sprockets/de77caafdd411db4363036050ebbcbc9 +0 -0
  418. data/test/dummy/tmp/cache/assets/development/sprockets/e00413c4a11f1d7ee89901fd0cde57ec +0 -0
  419. data/test/dummy/tmp/cache/assets/development/sprockets/e0b0b28cfa788f3dd5e1608b17d49d40 +0 -0
  420. data/test/dummy/tmp/cache/assets/development/sprockets/e1eaf02d2c8b06a52fc43dd67875cf47 +0 -0
  421. data/test/dummy/tmp/cache/assets/development/sprockets/e256294192259b5603b8dc971d9d6a11 +0 -0
  422. data/test/dummy/tmp/cache/assets/development/sprockets/e6df0f40358bfc2568038d9cf71859a5 +0 -0
  423. data/test/dummy/tmp/cache/assets/development/sprockets/e7e85a25f51035ffdd3f6a0aa5ae9365 +0 -0
  424. data/test/dummy/tmp/cache/assets/development/sprockets/e9526b43370458899ac7c192f651ec8b +0 -0
  425. data/test/dummy/tmp/cache/assets/development/sprockets/edefa48dfc6b66b08d68e6438d1344b4 +0 -0
  426. data/test/dummy/tmp/cache/assets/development/sprockets/f54e09def1ebda9d30f2c9e507c4cfed +0 -0
  427. data/test/dummy/tmp/cache/assets/development/sprockets/f55c8dc7137551c5fff69d2c179ea900 +0 -0
  428. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  429. data/test/dummy/tmp/cache/assets/development/sprockets/fde3d3c8658f07dd5aef16cc104c05c9 +0 -0
  430. data/test/dummy/tmp/cache/assets/development/sprockets/feb5e7071e30ce243a861932e21945b1 +0 -0
  431. data/test/dummy/tmp/cache/sass/027d3fbe01791eb6107c6a3ad3a9a18ef7806de0/fcbklistselection.scssc +0 -0
  432. data/test/dummy/tmp/cache/sass/476f0290d8684ee445559257946d9bfbba0a7490/bootstrap-base.scssc +0 -0
  433. data/test/dummy/tmp/cache/sass/476f0290d8684ee445559257946d9bfbba0a7490/bootstrap-comp.scssc +0 -0
  434. data/test/dummy/tmp/cache/sass/476f0290d8684ee445559257946d9bfbba0a7490/bootstrap-form.scssc +0 -0
  435. data/test/dummy/tmp/cache/sass/476f0290d8684ee445559257946d9bfbba0a7490/bootstrap-media.scssc +0 -0
  436. data/test/dummy/tmp/cache/sass/476f0290d8684ee445559257946d9bfbba0a7490/bootstrap-mixin.scssc +0 -0
  437. data/test/dummy/tmp/cache/sass/476f0290d8684ee445559257946d9bfbba0a7490/bootstrap-table.scssc +0 -0
  438. data/test/dummy/tmp/cache/sass/7962b5625c147f225692330aa36a6e4a877e2e52/fcbklistselection.scssc +0 -0
  439. data/test/dummy/tmp/cache/sass/e4850d758e9663c32ffb065821c1e8a49db1e755/bootstrap-base.scssc +0 -0
  440. data/test/dummy/tmp/cache/sass/e4850d758e9663c32ffb065821c1e8a49db1e755/bootstrap-comp.scssc +0 -0
  441. data/test/dummy/tmp/cache/sass/e4850d758e9663c32ffb065821c1e8a49db1e755/bootstrap-form.scssc +0 -0
  442. data/test/dummy/tmp/cache/sass/e4850d758e9663c32ffb065821c1e8a49db1e755/bootstrap-media.scssc +0 -0
  443. data/test/dummy/tmp/cache/sass/e4850d758e9663c32ffb065821c1e8a49db1e755/bootstrap-mixin.scssc +0 -0
  444. data/test/dummy/tmp/cache/sass/e4850d758e9663c32ffb065821c1e8a49db1e755/bootstrap-table.scssc +0 -0
  445. data/test/test_helper.rb +15 -0
  446. data/test/unit/helpers/bootstrap_base_helper_test.rb +47 -0
  447. data/test/unit/helpers/bootstrap_button_helper_test.rb +56 -0
  448. data/test/unit/helpers/bootstrap_component_helper_test.rb +130 -0
  449. data/test/unit/helpers/bootstrap_notify_helper_test.rb +10 -0
  450. data/test/unit/helpers/bootstrap_tab_helper_test.rb +27 -0
  451. metadata +1021 -0
@@ -0,0 +1,358 @@
1
+ #coding: utf-8
2
+ module BootstrapComponentHelper
3
+ extend ActiveSupport::Concern
4
+
5
+ include BootstrapHelper
6
+ # Dropdown menus 未实现
7
+
8
+ # Button groups
9
+ # 就是一个div, 里面的btn还是自己写
10
+ # opts:
11
+ # type: vertical 默认为空,竖着排。。。诡异
12
+ def btn_group(opts={}, &block)
13
+ class_str = 'btn-group'
14
+ class_str << ' btn-group-vertical' if opts.delete(:type) == 'vertical'
15
+
16
+ div(merge_predef_class(class_str, opts), &block)
17
+ end
18
+
19
+ alias_method :bg, :btn_group
20
+
21
+ # 可以组合多个btn group
22
+ def btn_toolbar(opts={}, &block)
23
+ div(merge_predef_class('btn-toolbar', opts), &block)
24
+ end
25
+
26
+ alias_method :bt, :btn_toolbar
27
+
28
+ # Button dropdown menus 未实现
29
+ # Split button dropdowns 未实现
30
+ # Dropup menus 未实现
31
+
32
+ # Nav : tabs, pills, and lists
33
+ # bootstrap navs
34
+ def nav(*args, &block)
35
+ default_options = {class: 'nav'}
36
+ options = args.extract_options!
37
+ current_class = options.delete(:class) || ''
38
+ options.reverse_merge!(default_options)[:class] << " #{current_class}"
39
+
40
+ list(*(args << options), &block)
41
+ end
42
+
43
+ # Navbar
44
+ #
45
+ # options -
46
+ # fix: top, bottom
47
+ # static: top, bottom
48
+ # fluid: true, false default: true
49
+ # inverse: true, false default: false
50
+ # &block ,navbar的内容
51
+ def navbar(options={}, &block)
52
+ default_options = {fluid: true, inverse: false}
53
+ options.reverse_merge!(default_options)
54
+ fluid = options.delete(:fluid)
55
+
56
+ result = ''
57
+ navbar_class = 'navbar'
58
+ case options.delete(:fix)
59
+ when 'top'
60
+ navbar_class << ' navbar-fixed-top'
61
+ result << javascript_tag do
62
+ raw <<-JS
63
+ $(function(){
64
+ if ($('.navbar-fixed-top').css('position') != 'static')
65
+ $('body').css('padding-top','40px');
66
+ });
67
+ JS
68
+ end
69
+ when 'bottom'
70
+ navbar_class << ' navbar-fixed-bottom'
71
+ result << javascript_tag do
72
+ raw <<-JS
73
+ $(function(){
74
+ if ($('.navbar-fixed-top').css('position') != 'static')
75
+ $('body').css('padding-bottom','40px');
76
+ });
77
+ JS
78
+ end
79
+ end
80
+
81
+ case options.delete(:static)
82
+ when 'top'
83
+ navbar_class << ' navbar-static-top'
84
+ when 'bottom'
85
+ navbar_class << ' navbar-static-bottom'
86
+ end
87
+
88
+ navbar_class << ' navbar-inverse' if options.delete(:inverse)
89
+
90
+ options[:class] ||= ''
91
+ options[:class] << " #{navbar_class}"
92
+
93
+ result << div(options) do
94
+ div(class: 'navbar-inner') do
95
+ if fluid
96
+ capture(&block) if block_given?
97
+ else
98
+ div(class: 'container') do
99
+ capture(&block) if block_given?
100
+ end
101
+ end
102
+ end
103
+ end
104
+
105
+ result.html_safe
106
+ end
107
+
108
+ # Breadcrumbs 未实现
109
+ # Pagination supported in table
110
+
111
+
112
+ # Labels and badges
113
+ # type: success, warning, important, info, inverse
114
+ def label(text, type='default')
115
+ content_tag('span', text, class: "label label-#{type.to_s}")
116
+ end
117
+
118
+ alias_method :l, :label
119
+
120
+ def badge(text, type='default')
121
+ content_tag('span', text, class: "badge badge-#{type.to_s}")
122
+ end
123
+
124
+ alias_method :b, :badge
125
+
126
+ # Typographic components
127
+ #
128
+ # title - hero unit's title, presented as h1
129
+ # description - description of hero unit, presented as p
130
+ # options - any html options that can be accepted by div
131
+ def hero_unit(*args, &block)
132
+ options = args.extract_options!
133
+ title = args.try(:first)
134
+ description = args.try(:second)
135
+
136
+ div(merge_predef_class('hero-unit', options)) do
137
+ content = []
138
+ content << content_tag('h1', title) unless title.blank?
139
+ content << content_tag('p', description) unless description.blank?
140
+ content << capture(&block) if block_given?
141
+ content.compact.join.html_safe
142
+ end
143
+ end
144
+
145
+ alias_method :hu, :hero_unit
146
+
147
+ # Page header components
148
+ #
149
+ # title - hero unit's title, presented as h1
150
+ # description - description of hero unit, presented as p
151
+ # options - any html options that can be accepted by div
152
+ def page_header(*args, &block)
153
+ options = args.extract_options!
154
+ title = args.try(:first)
155
+ description = args.try(:second)
156
+
157
+ div(merge_predef_class('page-header', options)) do
158
+ if block_given?
159
+ capture(&block)
160
+ else
161
+ content_tag('h1') do
162
+ [title,
163
+ (content_tag('small', description) unless description.blank?)
164
+ ].compact.join(' ').html_safe
165
+ end unless title.blank?
166
+ end
167
+ end
168
+ end
169
+
170
+ alias_method :ph, :page_header
171
+
172
+ # Thumbnails Grids of images, videos, text, and more
173
+ # options - any options that can be accepted by ul
174
+ def thumbnails(options={}, &block)
175
+ options[:class] ||= ''
176
+ options[:class] << ' thumbnails'
177
+ content_tag('ul', nil, options) do
178
+ capture(&block)
179
+ end
180
+ end
181
+
182
+ # Thumbnail element
183
+ # span - width of thumbnail, 1-12
184
+ # title - title of thumbnail, h5
185
+ # description - description of thumbnail, p
186
+ # li_options - any options that can be accepted by li
187
+ # tn_options - thumbnail options
188
+ # tag: :div default.
189
+ # any options that can be accepted by the tag
190
+ def thumbnail(span=12, *options, &block)
191
+ tn_options = options.extract_options!
192
+ li_options = options.first || {}
193
+
194
+ li_options, tn_options = tn_options, {} if li_options.empty?
195
+
196
+ li_options[:class] ||= ''
197
+ li_options[:class] << " span#{span}"
198
+
199
+ tn_options[:class] ||= ''
200
+ tn_options[:class] << ' thumbnail'
201
+ tn_options.reverse_merge!({tag: :div})
202
+
203
+ content_tag('li', nil, li_options) do
204
+ content_tag(tn_options.delete(:tag), nil, tn_options) do
205
+ capture(&block)
206
+ end
207
+ end
208
+ end
209
+
210
+ alias_method :tns, :thumbnails
211
+ alias_method :tn, :thumbnail
212
+
213
+ # Alerts, comfirms and prompts for success, warning, and error messages
214
+ # see bootbox-rails gem
215
+
216
+ # Alerts, Styles for success, warning, and error messages
217
+ #
218
+ # message - the message of alert
219
+ # options -
220
+ # type - type of alerts: error, warning, success, info. default: warning
221
+ # block: true, false, add padding to alert component. default: false
222
+ # closable: true, false, add a close button to alert. default: true
223
+ # the other options that can be accepted by div
224
+ def flash(message=nil, options={}, &block)
225
+ message, options = nil, message if message.is_a?(Hash)
226
+
227
+ default_options = {closable: true, block: false}
228
+ options.reverse_merge!(default_options)
229
+
230
+ flash_class = %w(alert)
231
+ flash_class << "alert-#{options.delete(:type).to_s}" if options[:type]
232
+ flash_class << 'alert-block' if options.delete(:block)
233
+ flash_class << "#{options.delete(:class)}"
234
+
235
+ closable = options.delete(:closable)
236
+ content_tag(:div, nil, options.merge!(class: flash_class)) do
237
+ content = []
238
+ content << '<a href="#" class="close" data-dismiss="alert">&times;</a>' if closable
239
+ content << message if message
240
+ content << capture(&block) if block_given?
241
+ content.join.html_safe
242
+ end
243
+ end
244
+
245
+ alias_method :f, :flash
246
+
247
+ # Progress bars
248
+ #
249
+ # the first parameter is a hash:
250
+ # active - true, false. it's the active style of the bar.
251
+ # striped - true, false. it's the striped style of the bar.
252
+ # in_table - true, false. If progress is in a table, set the margin-bottom to zero.
253
+ # the other options that can be acctpted by div
254
+ #
255
+ # bar_options - hash or array. the bar options. If it is a stacked bar, options will be a hash, or will be an array
256
+ # type - bar's type: success, warning, danger, info
257
+ # percentage - the bar's percentage
258
+ # content - bar content
259
+ # the other options that can be acctpted by div
260
+ def progress(*args)
261
+ options = args.shift
262
+ bar_options = args.flatten
263
+
264
+ bar_options, options = [options], {} if bar_options.empty?
265
+
266
+ progress_class = "progress #{options.delete(:striped) ? 'progress-striped' : ''} #{options.delete(:active) ? 'active' : ''}"
267
+ progress_class << " #{options.delete(:class)}" if options[:class]
268
+
269
+ progress_style = options.delete(:in_table) ? 'margin-bottom: 0;' : ''
270
+ progress_style << " #{options.delete(:style)}" if options[:style]
271
+
272
+ div(options.merge!({class: progress_class, style: progress_style})) do
273
+ content = []
274
+ bar_options.each do |opts|
275
+ content << progress_bar(opts)
276
+ end
277
+ content.join.html_safe
278
+ end
279
+ end
280
+
281
+ alias_method :pg, :progress
282
+
283
+ def progress_bar(options={})
284
+ bar_class = "bar #{options[:type] ? 'bar-' + options[:type].to_s : ''}"
285
+ bar_class << " #{options.delete(:class)}" if options[:class]
286
+
287
+ bar_style = "width: #{options[:percentage].to_i}%;"
288
+ bar_style << " #{options.delete(:style)}" if options[:style]
289
+ content_tag('div', options[:content], options.merge!({class: bar_class, style: bar_style}))
290
+ end
291
+
292
+
293
+ # Media object
294
+ # Miscellaneous Lightweight utility components
295
+
296
+ # bootstrap modal
297
+ # see bootstrap-modal-rails gem
298
+ #
299
+ # options -
300
+ # header - header of modal, replace default header.
301
+ # footer_text - text of footer, default: Close
302
+ # footer - footer of modal, replace default footer.
303
+ # width - numbers
304
+ # static - true, false. default: true
305
+ # fullwidth - true, false, default: false
306
+ # long - true, false, default: false
307
+ def modal(id, header_text, options={}, &block)
308
+ default_options = {
309
+ header: "<button type='button' data-dismiss='modal' class='close'>&times;</button><h3>#{header_text}</h3>",
310
+ footer: "<button class=\"btn\" data-dismiss=\"modal\" type=\"button\">#{options.delete(:footer_text)||'Close'}</button>",
311
+ fullwidth: false, long: false, static: true
312
+ }
313
+
314
+ options = default_options.merge(options)
315
+
316
+ footer = options.delete(:footer)
317
+ header = options.delete(:header)
318
+
319
+ options.merge!({'data-backdrop' => 'static', 'data-keyboard' => 'false'}) if options.delete(:static)
320
+ options.merge!({'data-replace' => 'true'}) if options.delete(:long)
321
+ options.merge!({'data-width' => options.delete(:width)}) if options[:width]
322
+
323
+ div(merge_predef_class("modal hide fade #{options.delete(:fullwidth) ? 'container' : ''}", options).merge!(id: id)) do
324
+ content = ''
325
+ content << div(class: 'modal-header') do
326
+ header.html_safe
327
+ end
328
+ content << div(class: 'modal-body') do
329
+ capture(&block) if block_given?
330
+ end
331
+ content << div(class: 'modal-footer') do
332
+ footer.html_safe
333
+ end
334
+ content.html_safe
335
+ end
336
+ end
337
+
338
+ # options:
339
+ # type - a or b, a is link, b is button. default: a
340
+ # icon - glyph icon of trigger
341
+ def modal_trigger(id, value, options={})
342
+ default_options = {name: "trigger-#{id}", id: "trigger-#{id}", 'data-toggle' => 'modal', type: 'a'}
343
+ options = default_options.merge(options)
344
+ merge_predef_class('btn', options) if options.delete(:type) == 'b'
345
+
346
+ link_to("##{id}", options) do
347
+ content = ''
348
+ content << glyph_icon(options.delete(:icon)) if options[:icon]
349
+ content << value
350
+ content.html_safe
351
+ end
352
+ end
353
+
354
+ def modal_with_trigger(id, header_text, trigger_value, options={}, trigger_options={}, &block)
355
+ modal(id, header_text, options, &block) + modal_trigger(id, trigger_value, trigger_options)
356
+ end
357
+
358
+ end
@@ -0,0 +1,24 @@
1
+ #coding: utf-8
2
+ module BootstrapHelper
3
+ extend ActiveSupport::Concern
4
+
5
+ #可以传参数的javascript_include_tag
6
+ def javascript_include_tag_with_p(path)
7
+ javascript_tag nil, :src => path
8
+ end
9
+
10
+ def div(opts={}, &block)
11
+ content_tag('div', nil, opts) do
12
+ capture(&block) if block_given?
13
+ end
14
+ end
15
+
16
+ ##############################################################################
17
+
18
+ # 合并预定义class
19
+ def merge_predef_class(class_str, options={})
20
+ predef_class = [class_str]
21
+ predef_class << (options.delete(:class) || options.delete(:ext_class) || '')
22
+ options.merge!({class: predef_class.compact.join(' ')})
23
+ end
24
+ end
@@ -0,0 +1,49 @@
1
+ module BootstrapNotifyHelper
2
+ extend ActiveSupport::Concern
3
+
4
+ include BootstrapHelper
5
+
6
+ # A fragment of javascript that shows the pnotify
7
+ #
8
+ # title - title of notify
9
+ # message - message of notify
10
+ # options - all options that can be accepted by pnotify
11
+ def notify_js(title, message, options={})
12
+ default_options = {
13
+ type: 'warning'
14
+ }
15
+
16
+ options.reverse_merge!(default_options)
17
+
18
+ js = <<-JS
19
+ $.pnotify({
20
+ title: '#{title}',
21
+ text: '#{message}',
22
+ #{options.map {|k, v| k.to_s + ': \'' + v + '\'' }.join(',')},
23
+ styling: 'bootstrap'
24
+ });
25
+ JS
26
+
27
+ js.html_safe
28
+ end
29
+
30
+ # Generate the script tag that shows the pnotify immediately
31
+ #
32
+ # title - title of notify
33
+ # message - message of notify
34
+ # options - all options that can be accepted by pnotify
35
+ def notify(title, message, options={})
36
+ default_options = {
37
+ type: 'warning'
38
+ }
39
+
40
+ options.reverse_merge!(default_options)
41
+
42
+ javascript_tag do
43
+ js = '$(function(){'
44
+ js << notify_js(title, message, options)
45
+ js << '});'
46
+ js.html_safe
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,62 @@
1
+ module BootstrapPostPaginateHelper
2
+ extend ActiveSupport::Concern
3
+
4
+ include BootstrapHelper
5
+
6
+ def post_will_paginate(collection=nil, options={})
7
+ options, collection = collection, nil if collection.is_a? Hash
8
+ # Taken from original will_paginate code to handle if the helper is not passed a collection object.
9
+ collection ||= infer_collection_from_controller
10
+ options[:renderer] ||= PostBootstrapLinkRenderer
11
+ will_paginate(collection, options).try :html_safe
12
+ end
13
+
14
+ class PostBootstrapLinkRenderer < ::WillPaginate::ActionView::BootstrapLinkRenderer
15
+ protected
16
+
17
+ def url(page)
18
+ @base_url_params ||= begin
19
+ merge_optional_params(default_url_params)
20
+ end
21
+ js = ''
22
+ @base_url_params.each do |k, v|
23
+ js << %Q(
24
+ var #{k.to_s} = document.createElement('input');
25
+ $(page).attr('type', 'hidden');
26
+ $(page).attr('id', '#{k.to_s}');
27
+ $(page).attr('name', '#{k.to_s}');
28
+ $(page).val('#{v.to_s}');
29
+ )
30
+ end
31
+
32
+ js << %Q(
33
+ var page = document.createElement('input');
34
+ $(page).attr('type', 'hidden');
35
+ $(page).attr('id', '#{@options[:param_name]||'page'}');
36
+ $(page).attr('name', '#{@options[:param_name]||'page'}');
37
+ $(page).val('#{page}');
38
+ $('##{@options[:form]}').append($(page));
39
+ $('##{@options[:form]}').get(0).submit();
40
+ $(page).remove();
41
+ )
42
+
43
+ @base_url_params.each do |k, v|
44
+ js << %Q(
45
+ $('##{k.to_s}').remove();
46
+ )
47
+ end
48
+
49
+ js
50
+ end
51
+
52
+ def link(text, target, attributes = {})
53
+ if target.is_a? Fixnum
54
+ attributes[:rel] = rel_value(target)
55
+ target = url(target)
56
+ end
57
+ attributes[:href] = '#'
58
+ attributes[:onclick] = target
59
+ tag(:a, text, attributes)
60
+ end
61
+ end
62
+ end