railsstrap 3.2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/README.md +61 -0
  4. data/Rakefile +24 -0
  5. data/app/helpers/railsstrap/badge_label_helper.rb +18 -0
  6. data/app/helpers/railsstrap/bootstrap_flash_helper.rb +27 -0
  7. data/app/helpers/railsstrap/breadcrumbs.rb +56 -0
  8. data/app/helpers/railsstrap/breadcrumbs_helper.rb +15 -0
  9. data/app/helpers/railsstrap/flash_block_helper.rb +19 -0
  10. data/app/helpers/railsstrap/form_errors_helper.rb +25 -0
  11. data/app/helpers/railsstrap/glyph_helper.rb +22 -0
  12. data/app/helpers/railsstrap/icon_helper.rb +22 -0
  13. data/app/helpers/railsstrap/modal_helper.rb +65 -0
  14. data/app/helpers/railsstrap/navbar_helper.rb +210 -0
  15. data/app/views/railsstrap/_breadcrumbs.html.erb +14 -0
  16. data/lib/generators/railsstrap/install/install_generator.rb +83 -0
  17. data/lib/generators/railsstrap/install/templates/application.css +7 -0
  18. data/lib/generators/railsstrap/install/templates/application.js +18 -0
  19. data/lib/generators/railsstrap/install/templates/bootstrap.coffee +3 -0
  20. data/lib/generators/railsstrap/install/templates/bootstrap.js +4 -0
  21. data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.css +8 -0
  22. data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.less +19 -0
  23. data/lib/generators/railsstrap/install/templates/en.bootstrap.yml +23 -0
  24. data/lib/generators/railsstrap/layout/layout_generator.rb +20 -0
  25. data/lib/generators/railsstrap/layout/templates/layout.html.erb +85 -0
  26. data/lib/generators/railsstrap/layout/templates/layout.html.haml +50 -0
  27. data/lib/generators/railsstrap/layout/templates/layout.html.slim +50 -0
  28. data/lib/generators/railsstrap/partial/partial_generator.rb +20 -0
  29. data/lib/generators/railsstrap/partial/templates/_login.html.erb +28 -0
  30. data/lib/generators/railsstrap/themed/templates/_form.html.erb +36 -0
  31. data/lib/generators/railsstrap/themed/templates/_form.html.haml +12 -0
  32. data/lib/generators/railsstrap/themed/templates/_form.html.slim +13 -0
  33. data/lib/generators/railsstrap/themed/templates/edit.html.erb +5 -0
  34. data/lib/generators/railsstrap/themed/templates/edit.html.haml +4 -0
  35. data/lib/generators/railsstrap/themed/templates/edit.html.slim +4 -0
  36. data/lib/generators/railsstrap/themed/templates/index.html.erb +40 -0
  37. data/lib/generators/railsstrap/themed/templates/index.html.haml +25 -0
  38. data/lib/generators/railsstrap/themed/templates/index.html.slim +27 -0
  39. data/lib/generators/railsstrap/themed/templates/new.html.erb +5 -0
  40. data/lib/generators/railsstrap/themed/templates/new.html.haml +4 -0
  41. data/lib/generators/railsstrap/themed/templates/new.html.slim +4 -0
  42. data/lib/generators/railsstrap/themed/templates/show.html.erb +21 -0
  43. data/lib/generators/railsstrap/themed/templates/show.html.haml +15 -0
  44. data/lib/generators/railsstrap/themed/templates/show.html.slim +16 -0
  45. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.erb +14 -0
  46. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.haml +11 -0
  47. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.slim +12 -0
  48. data/lib/generators/railsstrap/themed/themed_generator.rb +148 -0
  49. data/lib/railsstrap/bootstrap.rb +2 -0
  50. data/lib/railsstrap/constants.rb +6 -0
  51. data/lib/railsstrap/engine.rb +40 -0
  52. data/lib/railsstrap.rb +5 -0
  53. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +480 -0
  54. data/vendor/assets/bower_components/bootstrap/LICENSE +21 -0
  55. data/vendor/assets/bower_components/bootstrap/README.md +127 -0
  56. data/vendor/assets/bower_components/bootstrap/bower.json +38 -0
  57. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +442 -0
  58. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  59. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
  60. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +6203 -0
  61. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -0
  62. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +5 -0
  63. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  64. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  65. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  66. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  67. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +2114 -0
  68. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +6 -0
  69. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  70. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +229 -0
  71. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  72. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  73. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +41 -0
  74. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +236 -0
  75. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +46 -0
  76. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +82 -0
  77. data/vendor/assets/bower_components/bootstrap/js/affix.js +142 -0
  78. data/vendor/assets/bower_components/bootstrap/js/alert.js +92 -0
  79. data/vendor/assets/bower_components/bootstrap/js/button.js +110 -0
  80. data/vendor/assets/bower_components/bootstrap/js/carousel.js +223 -0
  81. data/vendor/assets/bower_components/bootstrap/js/collapse.js +170 -0
  82. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +151 -0
  83. data/vendor/assets/bower_components/bootstrap/js/modal.js +280 -0
  84. data/vendor/assets/bower_components/bootstrap/js/popover.js +113 -0
  85. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +170 -0
  86. data/vendor/assets/bower_components/bootstrap/js/tab.js +128 -0
  87. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +457 -0
  88. data/vendor/assets/bower_components/bootstrap/js/transition.js +59 -0
  89. data/vendor/assets/bower_components/bootstrap/less/alerts.less +68 -0
  90. data/vendor/assets/bower_components/bootstrap/less/badges.less +55 -0
  91. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +50 -0
  92. data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +26 -0
  93. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +240 -0
  94. data/vendor/assets/bower_components/bootstrap/less/buttons.less +157 -0
  95. data/vendor/assets/bower_components/bootstrap/less/carousel.less +243 -0
  96. data/vendor/assets/bower_components/bootstrap/less/close.less +33 -0
  97. data/vendor/assets/bower_components/bootstrap/less/code.less +68 -0
  98. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +31 -0
  99. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +215 -0
  100. data/vendor/assets/bower_components/bootstrap/less/forms.less +540 -0
  101. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +233 -0
  102. data/vendor/assets/bower_components/bootstrap/less/grid.less +84 -0
  103. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +166 -0
  104. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +48 -0
  105. data/vendor/assets/bower_components/bootstrap/less/labels.less +64 -0
  106. data/vendor/assets/bower_components/bootstrap/less/list-group.less +131 -0
  107. data/vendor/assets/bower_components/bootstrap/less/media.less +56 -0
  108. data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +14 -0
  109. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +8 -0
  110. data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +18 -0
  111. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +50 -0
  112. data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +7 -0
  113. data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +22 -0
  114. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +81 -0
  115. data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +59 -0
  116. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +91 -0
  117. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +122 -0
  118. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +21 -0
  119. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +34 -0
  120. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +12 -0
  121. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +29 -0
  122. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +10 -0
  123. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  124. data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +8 -0
  125. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +23 -0
  126. data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +24 -0
  127. data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +10 -0
  128. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +8 -0
  129. data/vendor/assets/bower_components/bootstrap/less/mixins/resize.less +6 -0
  130. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +15 -0
  131. data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +10 -0
  132. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +9 -0
  133. data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +28 -0
  134. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +8 -0
  135. data/vendor/assets/bower_components/bootstrap/less/mixins/text-overflow.less +8 -0
  136. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +224 -0
  137. data/vendor/assets/bower_components/bootstrap/less/mixins.less +39 -0
  138. data/vendor/assets/bower_components/bootstrap/less/modals.less +150 -0
  139. data/vendor/assets/bower_components/bootstrap/less/navbar.less +655 -0
  140. data/vendor/assets/bower_components/bootstrap/less/navs.less +242 -0
  141. data/vendor/assets/bower_components/bootstrap/less/normalize.less +425 -0
  142. data/vendor/assets/bower_components/bootstrap/less/pager.less +55 -0
  143. data/vendor/assets/bower_components/bootstrap/less/pagination.less +88 -0
  144. data/vendor/assets/bower_components/bootstrap/less/panels.less +243 -0
  145. data/vendor/assets/bower_components/bootstrap/less/popovers.less +133 -0
  146. data/vendor/assets/bower_components/bootstrap/less/print.less +101 -0
  147. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +105 -0
  148. data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +34 -0
  149. data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +194 -0
  150. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +150 -0
  151. data/vendor/assets/bower_components/bootstrap/less/tables.less +233 -0
  152. data/vendor/assets/bower_components/bootstrap/less/theme.less +258 -0
  153. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +36 -0
  154. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +95 -0
  155. data/vendor/assets/bower_components/bootstrap/less/type.less +313 -0
  156. data/vendor/assets/bower_components/bootstrap/less/utilities.less +57 -0
  157. data/vendor/assets/bower_components/bootstrap/less/variables.less +846 -0
  158. data/vendor/assets/bower_components/bootstrap/less/wells.less +29 -0
  159. data/vendor/assets/bower_components/bootstrap/package.json +81 -0
  160. data/vendor/assets/bower_components/fontawesome/bower.json +23 -0
  161. data/vendor/assets/bower_components/fontawesome/css/font-awesome.css +1672 -0
  162. data/vendor/assets/bower_components/fontawesome/css/font-awesome.min.css +4 -0
  163. data/vendor/assets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  164. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  165. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +520 -0
  166. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  167. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  168. data/vendor/assets/bower_components/fontawesome/less/bordered-pulled.less +16 -0
  169. data/vendor/assets/bower_components/fontawesome/less/core.less +11 -0
  170. data/vendor/assets/bower_components/fontawesome/less/extras.less +2 -0
  171. data/vendor/assets/bower_components/fontawesome/less/fixed-width.less +6 -0
  172. data/vendor/assets/bower_components/fontawesome/less/font-awesome.less +17 -0
  173. data/vendor/assets/bower_components/fontawesome/less/icons.less +552 -0
  174. data/vendor/assets/bower_components/fontawesome/less/larger.less +13 -0
  175. data/vendor/assets/bower_components/fontawesome/less/list.less +19 -0
  176. data/vendor/assets/bower_components/fontawesome/less/mixins.less +25 -0
  177. data/vendor/assets/bower_components/fontawesome/less/path.less +14 -0
  178. data/vendor/assets/bower_components/fontawesome/less/rotated-flipped.less +20 -0
  179. data/vendor/assets/bower_components/fontawesome/less/spinning.less +29 -0
  180. data/vendor/assets/bower_components/fontawesome/less/stacked.less +20 -0
  181. data/vendor/assets/bower_components/fontawesome/less/variables.less +561 -0
  182. data/vendor/assets/bower_components/fontawesome/scss/_bordered-pulled.scss +16 -0
  183. data/vendor/assets/bower_components/fontawesome/scss/_core.scss +11 -0
  184. data/vendor/assets/bower_components/fontawesome/scss/_extras.scss +44 -0
  185. data/vendor/assets/bower_components/fontawesome/scss/_fixed-width.scss +6 -0
  186. data/vendor/assets/bower_components/fontawesome/scss/_icons.scss +552 -0
  187. data/vendor/assets/bower_components/fontawesome/scss/_larger.scss +13 -0
  188. data/vendor/assets/bower_components/fontawesome/scss/_list.scss +19 -0
  189. data/vendor/assets/bower_components/fontawesome/scss/_mixins.scss +25 -0
  190. data/vendor/assets/bower_components/fontawesome/scss/_path.scss +14 -0
  191. data/vendor/assets/bower_components/fontawesome/scss/_rotated-flipped.scss +20 -0
  192. data/vendor/assets/bower_components/fontawesome/scss/_spinning.scss +29 -0
  193. data/vendor/assets/bower_components/fontawesome/scss/_stacked.scss +20 -0
  194. data/vendor/assets/bower_components/fontawesome/scss/_variables.scss +561 -0
  195. data/vendor/assets/bower_components/fontawesome/scss/font-awesome.scss +17 -0
  196. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +21 -0
  197. data/vendor/assets/bower_components/jquery/bower.json +27 -0
  198. data/vendor/assets/bower_components/jquery/dist/jquery.js +9190 -0
  199. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +5 -0
  200. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -0
  201. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +89 -0
  202. data/vendor/assets/bower_components/jquery/src/ajax/load.js +75 -0
  203. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  204. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +28 -0
  205. data/vendor/assets/bower_components/jquery/src/ajax/script.js +64 -0
  206. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  207. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  208. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +135 -0
  209. data/vendor/assets/bower_components/jquery/src/ajax.js +806 -0
  210. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +143 -0
  211. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +158 -0
  212. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +96 -0
  213. data/vendor/assets/bower_components/jquery/src/attributes/support.js +35 -0
  214. data/vendor/assets/bower_components/jquery/src/attributes/val.js +163 -0
  215. data/vendor/assets/bower_components/jquery/src/attributes.js +11 -0
  216. data/vendor/assets/bower_components/jquery/src/callbacks.js +205 -0
  217. data/vendor/assets/bower_components/jquery/src/core/access.js +60 -0
  218. data/vendor/assets/bower_components/jquery/src/core/init.js +123 -0
  219. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +39 -0
  220. data/vendor/assets/bower_components/jquery/src/core/ready.js +97 -0
  221. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  222. data/vendor/assets/bower_components/jquery/src/core.js +498 -0
  223. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +24 -0
  224. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +57 -0
  225. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  226. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  227. data/vendor/assets/bower_components/jquery/src/css/support.js +91 -0
  228. data/vendor/assets/bower_components/jquery/src/css/swap.js +28 -0
  229. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  230. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +5 -0
  231. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +13 -0
  232. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  233. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  234. data/vendor/assets/bower_components/jquery/src/css.js +451 -0
  235. data/vendor/assets/bower_components/jquery/src/data/Data.js +181 -0
  236. data/vendor/assets/bower_components/jquery/src/data/accepts.js +20 -0
  237. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +5 -0
  238. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +5 -0
  239. data/vendor/assets/bower_components/jquery/src/data.js +179 -0
  240. data/vendor/assets/bower_components/jquery/src/deferred.js +149 -0
  241. data/vendor/assets/bower_components/jquery/src/deprecated.js +13 -0
  242. data/vendor/assets/bower_components/jquery/src/dimensions.js +50 -0
  243. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +114 -0
  244. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  245. data/vendor/assets/bower_components/jquery/src/effects.js +649 -0
  246. data/vendor/assets/bower_components/jquery/src/event/alias.js +39 -0
  247. data/vendor/assets/bower_components/jquery/src/event/support.js +9 -0
  248. data/vendor/assets/bower_components/jquery/src/event.js +868 -0
  249. data/vendor/assets/bower_components/jquery/src/exports/amd.js +24 -0
  250. data/vendor/assets/bower_components/jquery/src/exports/global.js +32 -0
  251. data/vendor/assets/bower_components/jquery/src/intro.js +44 -0
  252. data/vendor/assets/bower_components/jquery/src/jquery.js +36 -0
  253. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  254. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +31 -0
  255. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  256. data/vendor/assets/bower_components/jquery/src/manipulation.js +582 -0
  257. data/vendor/assets/bower_components/jquery/src/offset.js +204 -0
  258. data/vendor/assets/bower_components/jquery/src/outro.js +1 -0
  259. data/vendor/assets/bower_components/jquery/src/queue/delay.js +22 -0
  260. data/vendor/assets/bower_components/jquery/src/queue.js +142 -0
  261. data/vendor/assets/bower_components/jquery/src/selector-native.js +172 -0
  262. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +14 -0
  263. data/vendor/assets/bower_components/jquery/src/selector.js +1 -0
  264. data/vendor/assets/bower_components/jquery/src/serialize.js +111 -0
  265. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +2044 -0
  266. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  267. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  268. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  269. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  270. data/vendor/assets/bower_components/jquery/src/traversing.js +200 -0
  271. data/vendor/assets/bower_components/jquery/src/var/arr.js +3 -0
  272. data/vendor/assets/bower_components/jquery/src/var/class2type.js +4 -0
  273. data/vendor/assets/bower_components/jquery/src/var/concat.js +5 -0
  274. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +5 -0
  275. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -0
  276. data/vendor/assets/bower_components/jquery/src/var/pnum.js +3 -0
  277. data/vendor/assets/bower_components/jquery/src/var/push.js +5 -0
  278. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  279. data/vendor/assets/bower_components/jquery/src/var/slice.js +5 -0
  280. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +3 -0
  281. data/vendor/assets/bower_components/jquery/src/var/support.js +4 -0
  282. data/vendor/assets/bower_components/jquery/src/var/toString.js +5 -0
  283. data/vendor/assets/bower_components/jquery/src/wrap.js +78 -0
  284. metadata +356 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 66e1860b5753f88597b7a2c7244d4cddce8b49ea
4
+ data.tar.gz: e0a870ede5b57134f52229837958598be42ad98b
5
+ SHA512:
6
+ metadata.gz: 98273c8e62345eab8e76727b317d8e9397ca4097e7a093b0dd0171be279fd52538ff402e3262650a12b954a945d50a422cd237f419d92099fbf2dc5af1d58213
7
+ data.tar.gz: 97dcde8a6a87f560705309f0d368493839d9ca1b8bdf96b473d46a34f7978a2c8c18a9f490b856b0ec92271029666a4743a055a83fc2331a49ff6aa55a8b2306
data/.bowerrc ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "directory": "vendor/assets/bower_components"
3
+ }
data/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # Bootstrap 3.2.1 for Rails 4 Asset Pipeline
2
+ Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.
3
+
4
+ railsstrap integrates Bootstrap CSS toolkit for Rails Asset Pipeline (Rails 4, 3.1, 3.2 are supported). It was born and extended from twitter-bootstrap-rails, but several non-bootstrap helpers and UI improvements from the Bootstrap community.
5
+
6
+ ## Example Application
7
+ An example application is available at [toadkicker/teststrap](https://github.com/toadkicker/teststrap). You can view it running on heroku [here.](http://teststrap.herokuapp.com/) Contributions welcome.
8
+
9
+ ## Quick install
10
+ Open your Gemfile, and add the gem to your list of dependencies.
11
+
12
+ ```gem railsstrap```
13
+
14
+ Then run the installer
15
+
16
+ ```
17
+ bundle install
18
+ bundle exec rails g railsstrap:install
19
+ ```
20
+
21
+ This will insert the appropriate entries into your application.js and application.css files. It will also provide you with the ability to customize Bootstrap to your liking.
22
+
23
+ Most of the info you'll need is in the wiki, and if it isn't please contribute!
24
+
25
+ ## Many thanks to the twitter-bootstrap-rails contributors, who made this fork possible:
26
+ <ul>
27
+ <li>Seyhun Akyürek</li>
28
+ <li>Ben Lovell</li>
29
+ <li>Daniel Morris</li>
30
+ <li>Bradly Feeley</li>
31
+ <li>Guilherme Moreira</li>
32
+ <li>Alex Behar</li>
33
+ <li>Brandon Keene</li>
34
+ <li>Anthony Corcutt</li>
35
+ <li>Colin Warren</li>
36
+ <li>Giovanni Cappellotto</li>
37
+ <li>Masakuni Kato</li>
38
+ <li>Gudleik Rasch</li>
39
+ <li>Thomas Volkmar Worm</li>
40
+ <li>Thiago Almeida</li>
41
+ <li>Sébastien Grosjean</li>
42
+ <li>Nick DeSteffen</li>
43
+ <li>Christian Joudrey</li>
44
+ <li>Leonid Shevtsov</li>
45
+ </ul>
46
+
47
+ ## About Me
48
+ [toadkicker.com](http://toadkicker.com)
49
+
50
+
51
+ ## Thanks
52
+ Bootstrap, FontAwesome, and all railsstrap contributors
53
+ http://twbs.github.io/bootstrap
54
+
55
+
56
+ ## License
57
+ Copyright (c) 2014 Todd Baur
58
+
59
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
60
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
61
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env rake
2
+ require 'bundler'
3
+ require 'rspec/core/rake_task'
4
+
5
+ Bundler::GemHelper.install_tasks
6
+
7
+ desc 'Bundle the gem'
8
+ task :bundle => [:bundle_install] do
9
+ sh 'gem build *.gemspec'
10
+ sh 'gem install *.gem'
11
+ sh 'rm *.gem'
12
+ end
13
+
14
+ desc 'Runs bundle install'
15
+ task :bundle_install do
16
+ sh('bundle install')
17
+ end
18
+
19
+ task(:default).clear
20
+ task :default => :bundle
21
+
22
+ RSpec::Core::RakeTask.new do |task|
23
+ task.rspec_opts = %w(--color --format doc)
24
+ end
@@ -0,0 +1,18 @@
1
+ module Railsstrap
2
+ module BadgeLabelHelper
3
+ def badge(*args)
4
+ badge_label(:badge, *args)
5
+ end
6
+
7
+ def tag_label(*args)
8
+ badge_label(:label, *args)
9
+ end
10
+
11
+ private
12
+ def badge_label(what, value, type = nil)
13
+ klass = [what]
14
+ klass << "#{what}-#{type}" if type.present?
15
+ content_tag :span, value, :class => "#{klass.join(' ')}"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ module Railsstrap
2
+ module BootstrapFlashHelper
3
+ ALERT_TYPES = [:success, :info, :warning, :danger] unless const_defined?(:ALERT_TYPES)
4
+
5
+ def bootstrap_flash(options = {})
6
+ flash_messages = []
7
+ flash.each do |type, message|
8
+ # Skip empty messages, e.g. for devise messages set to nothing in a locale file.
9
+ next if message.blank?
10
+
11
+ type = type.to_sym
12
+ type = :success if type == :notice
13
+ type = :danger if type == :alert
14
+ type = :danger if type == :error
15
+ next unless ALERT_TYPES.include?(type)
16
+
17
+ Array(message).each do |msg|
18
+ text = content_tag(:div,
19
+ content_tag(:button, raw("&times;"), :class => "close", "data-dismiss" => "alert") +
20
+ msg, :class => "alert fade in alert-#{type} #{options[:class]}")
21
+ flash_messages << text if msg
22
+ end
23
+ end
24
+ flash_messages.join("\n").html_safe
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,56 @@
1
+ module Railsstrap
2
+ module Breadcrumbs
3
+ def self.included(base)
4
+ base.extend(ClassMethods)
5
+ end
6
+
7
+ module ClassMethods
8
+ def add_breadcrumb(name, url = '', options = {})
9
+ options.merge! :klass => self.name
10
+ before_filter options do |controller|
11
+ controller.send :add_breadcrumb, name, url, options
12
+ end
13
+ end
14
+ end
15
+
16
+ protected
17
+
18
+ def add_breadcrumb(name, url = '', options = {})
19
+ @breadcrumbs ||= []
20
+
21
+ class_name = options.delete(:klass) || self.class.name
22
+
23
+ if name.is_a? Symbol
24
+ if url.blank?
25
+ url_helper = :"#{name}_path"
26
+ url = url_helper if respond_to?(url_helper)
27
+ end
28
+
29
+ name = translate_breadcrumb name, class_name
30
+ end
31
+
32
+ unless name.is_a? String
33
+ url = polymorphic_path name if url.blank?
34
+ name = name.to_s
35
+ end
36
+
37
+ url = eval(url.to_s) if url.is_a?(Symbol) && url =~ /_path|_url|@/
38
+
39
+ @breadcrumbs << {:name => name, :url => url, :options => options}
40
+ end
41
+
42
+ def translate_breadcrumb(name, class_name)
43
+ scope = [:breadcrumbs]
44
+ namespace = class_name.underscore.split('/')
45
+ namespace.last.sub!('_controller', '')
46
+ scope += namespace
47
+
48
+ I18n.t name, :scope => scope
49
+ end
50
+
51
+ def render_breadcrumbs(divider = '/')
52
+ s = render :partial => 'railsstrap/breadcrumbs', :locals => {:divider => divider}
53
+ s.first
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,15 @@
1
+ module Railsstrap
2
+ module BreadcrumbsHelper
3
+ #TODO: make divider optional
4
+ def render_breadcrumbs(divider = '/', options={}, &block)
5
+ default_options = { :class => '', :item_class => '', :divider_class => '', :active_class => 'active' }.merge(options)
6
+ #TODO: is default_options merged in and then unused?
7
+ content = render :partial => 'railsstrap/breadcrumbs', :layout => false, :locals => { :divider => divider, options: options }
8
+ if block_given?
9
+ capture(content, &block)
10
+ else
11
+ content
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ module Railsstrap
2
+ module FlashBlockHelper
3
+ def flash_block
4
+ output = ''
5
+ flash.each do |type, message|
6
+ output += flash_container(type, message)
7
+ end
8
+
9
+ raw(output)
10
+ end
11
+
12
+ def flash_container(type, message)
13
+ raw(content_tag(:div, :class => "alert alert-#{type}") do
14
+ content_tag(:a, raw("&times;"),:class => 'close', :data => {:dismiss => 'alert'}) +
15
+ message
16
+ end)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ module Railsstrap
2
+ module FormErrorsHelper
3
+ require 'active_support/core_ext'
4
+ include ActionView::Helpers::FormTagHelper
5
+
6
+ def error_span(attribute, options = {})
7
+ options[:span_class] ||= 'help-block'
8
+ options[:error_class] ||= 'has-error'
9
+
10
+ if errors_on?(attribute)
11
+ @template.content_tag( :div, :class => options[:error_class] ) do
12
+ content_tag( :span, errors_for(attribute), :class => options[:span_class] )
13
+ end
14
+ end
15
+ end
16
+
17
+ def errors_on?(attribute)
18
+ object.errors[attribute].present? if object.respond_to?(:errors)
19
+ end
20
+
21
+ def errors_for(attribute)
22
+ object.errors[attribute].try(:join, ', ') || object.errors[attribute].try(:to_s)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,22 @@
1
+ module Railsstrap
2
+ module GlyphHelper
3
+ # ==== Examples
4
+ # glyph(:share_alt)
5
+ # # => <span class="icon-share-alt"></span>
6
+ # glyph(:lock, :white)
7
+ # # => <span class="icon-lock icon-white"></span>
8
+ # glyph(:thumbs_up, :pull_left)
9
+ # # => <i class="icon-thumbs-up pull-left"></i>
10
+ # glyph(:lock, {tag: :span})
11
+ # # => <span class="icon-lock"></span>
12
+ def glyph(*names)
13
+ options = (names.last.kind_of?(Hash)) ? names.pop : {}
14
+ names.map! { |name| name.to_s.gsub('_','-') }
15
+ names.map! do |name|
16
+ name =~ /pull-(?:left|right)/ ? name : "glyphicon glyphicon-#{name}"
17
+ end
18
+ options[:tag] = options[:tag] ||= :i
19
+ content_tag options[:tag], nil, :class => names
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Railsstrap
2
+ module IconHelper
3
+ # ==== Examples
4
+ # icon(:share_alt)
5
+ # # => <span class="icon-share-alt"></span>
6
+ # icon(:lock, :white)
7
+ # # => <span class="icon-lock icon-white"></span>
8
+ # icon(:thumbs_up, :pull_left)
9
+ # # => <i class="icon-thumbs-up pull-left"></i>
10
+ # icon(:lock, {tag: :span})
11
+ # # => <span class="icon-lock"></span>
12
+ def icon(*names)
13
+ options = (names.last.kind_of?(Hash)) ? names.pop : {}
14
+ names.map! { |name| name.to_s.gsub('_','-') }
15
+ names.map! do |name|
16
+ name =~ /pull-(?:left|right)/ ? name : "fa fa-#{name}"
17
+ end
18
+ options[:tag] = options[:tag] ||= :i
19
+ content_tag options[:tag], nil, :class => names
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,65 @@
1
+ module Railsstrap
2
+ module ModalHelper
3
+
4
+ def default_options
5
+ return {:id => 'modal', :size => '', :show_close => true, :dismiss => true}
6
+ end
7
+
8
+ #modals have a header, a body, a footer for options.
9
+ def modal_dialog(options = {}, &block)
10
+ opts = default_options.merge(options)
11
+ content_tag :div, :id => options[:id], :class => "railsstrap-modal modal fade" do
12
+ content_tag :div, :class => "modal-dialog #{opts['size']}" do
13
+ content_tag :div, :class => "modal-content" do
14
+ modal_header(options[:header], &block) +
15
+ modal_body(options[:body], &block) +
16
+ modal_footer(options[:footer], &block)
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ def modal_header(options, &block)
23
+ content_tag :div, :class => 'modal-header' do
24
+ if options[:show_close]
25
+ close_button(options[:dismiss]) +
26
+ content_tag(:h4, options[:title], :class => 'modal-title', &block)
27
+ else
28
+ content_tag(:h4, options[:title], :class => 'modal-title', &block)
29
+ end
30
+ end
31
+ end
32
+
33
+ def modal_body(options, &block)
34
+ content_tag :div, options[:content], :class => 'modal-body', :style => options[:style], &block
35
+ end
36
+
37
+ def modal_footer(options, &block)
38
+ content_tag :div, options[:content], :class => 'modal-footer', &block
39
+ end
40
+
41
+ def close_button(dismiss)
42
+ #It doesn't seem to like content_tag, so we do this instead.
43
+ raw("<button class=\"close\" data-dismiss=\"#{dismiss}\" aria-hidden=\"true\">&times;</button>")
44
+ end
45
+
46
+ def modal_toggle(content_or_options = nil, options, &block)
47
+ if block_given?
48
+ options = content_or_options if content_or_options.is_a?(Hash)
49
+ default_options = { :class => 'btn btn-default', "data-toggle" => "modal", "href" => options[:dialog] }.merge(options)
50
+
51
+ content_tag :a, nil, default_options, true, &block
52
+ else
53
+ default_options = { :class => 'btn btn-default', "data-toggle" => "modal", "href" => options[:dialog] }.merge(options)
54
+ content_tag :a, content_or_options, default_options, true
55
+ end
56
+ end
57
+
58
+ def modal_cancel_button(content, options)
59
+ default_opts = { :class => "btn railsstrap-modal-cancel-button" }
60
+
61
+ content_tag_string "a", content, default_opts.merge(options)
62
+ end
63
+
64
+ end
65
+ end
@@ -0,0 +1,210 @@
1
+ #Credit for this goes to https://github.com/julescopeland/Rails-Bootstrap-Navbar
2
+ module Railsstrap
3
+ module NavbarHelper
4
+ require 'active_support/core_ext'
5
+
6
+ def nav_bar(options={}, &block)
7
+ nav_bar_nav(options) do
8
+ container_div(options[:brand], options[:brand_link], options[:responsive], options[:fluid], options[:no_turbolink]) do
9
+ yield if block_given?
10
+ end
11
+ end
12
+ end
13
+
14
+ def menu_group(options={}, &block)
15
+ pull_class = "navbar-#{options[:pull].to_s}" if options[:pull].present?
16
+ content_tag(:ul, :class => "nav navbar-nav #{pull_class}", &block)
17
+ end
18
+
19
+ def menu_item(name=nil, path="#", *args, &block)
20
+ path = name || path if block_given?
21
+ options = args.extract_options!
22
+ content_tag :li, :class => is_active?(path, options) do
23
+ name, path = path, options if block_given?
24
+ link_to name, path, options, &block
25
+ end
26
+ end
27
+
28
+ def drop_down(name)
29
+ content_tag :li, :class => "dropdown" do
30
+ drop_down_link(name) + drop_down_list { yield }
31
+ end
32
+ end
33
+
34
+ def drop_down_with_submenu(name, &block)
35
+ content_tag :li, :class => "dropdown" do
36
+ drop_down_link(name) + drop_down_sublist(&block)
37
+ end
38
+ end
39
+
40
+ def drop_down_sublist(&block)
41
+ content_tag :ul, :class => "dropdown-menu", &block
42
+ end
43
+
44
+ def drop_down_submenu(name, &block)
45
+ content_tag :li, :class => "dropdown-submenu" do
46
+ link_to(name, "") + drop_down_list(&block)
47
+ end
48
+ end
49
+
50
+ def drop_down_divider
51
+ content_tag :li, "", :class => "divider"
52
+ end
53
+
54
+ def drop_down_header(text)
55
+ content_tag :li, text, :class => "nav-header"
56
+ end
57
+
58
+ def menu_divider
59
+ content_tag :li, "", :class => "divider-vertical"
60
+ end
61
+
62
+ def menu_text(text=nil, options={}, &block)
63
+ pull = options.delete(:pull)
64
+ pull_class = pull.present? ? "pull-#{pull.to_s}" : nil
65
+ options.append_merge!(:class, pull_class)
66
+ options.append_merge!(:class, "navbar-text")
67
+ content_tag :p, options do
68
+ text || yield
69
+ end
70
+ end
71
+
72
+ # Returns current url or path state (useful for buttons).
73
+ # Example:
74
+ # # Assume we'r currently at blog/categories/test
75
+ # uri_state('/blog/categories/test', {}) # :active
76
+ # uri_state('/blog/categories', {}) # :chosen
77
+ # uri_state('/blog/categories/test', {method: delete}) # :inactive
78
+ # uri_state('/blog/categories/test/3', {}) # :inactive
79
+ def uri_state(uri, options={})
80
+ return options[:status] if options.key?(:status)
81
+
82
+ root_url = request.host_with_port + '/'
83
+ root = uri == '/' || uri == root_url
84
+
85
+ request_uri = if uri.start_with?(root_url)
86
+ request.url
87
+ else
88
+ request.path
89
+ end
90
+
91
+ if !options[:method].nil? || !options["data-method"].nil?
92
+ :inactive
93
+ elsif uri == request_uri || (options[:root] && (request_uri == '/') || (request_uri == root_url))
94
+ :active
95
+ else
96
+ if request_uri.start_with?(uri) and not(root)
97
+ :chosen
98
+ else
99
+ :inactive
100
+ end
101
+ end
102
+ end
103
+
104
+ private
105
+
106
+ def nav_bar_nav(options, &block)
107
+
108
+ position = "static-#{options[:static].to_s}" if options[:static]
109
+ position = "fixed-#{options[:fixed].to_s}" if options[:fixed]
110
+ inverse = (options[:inverse].present? && options[:inverse] == true) ? true : false
111
+
112
+ content_tag :nav, :class => nav_bar_css_class(position, inverse), :role => "navigation" do
113
+ yield
114
+ end
115
+ end
116
+
117
+ def container_div(brand, brand_link, responsive, fluid, no_turbolink, &block)
118
+ div_container_class = fluid ? "container-fluid" : "container"
119
+ no_turbolink ||= false
120
+
121
+ content_tag :div, :class => div_container_class do
122
+ container_div_with_block(brand, brand_link, responsive, no_turbolink, &block)
123
+ end
124
+ end
125
+
126
+ def container_div_with_block(brand, brand_link, responsive, no_turbolink, &block)
127
+ output = []
128
+ if responsive == true
129
+ output << responsive_nav_header(brand, brand_link, no_turbolink)
130
+ output << responsive_div { capture(&block) }
131
+ else
132
+ output << brand_link(brand, brand_link, no_turbolink)
133
+ output << capture(&block)
134
+ end
135
+ output.join("\n").html_safe
136
+ end
137
+
138
+ def responsive_nav_header(brand, brand_link, no_turbolink)
139
+ content_tag(:div, :class => "navbar-header") do
140
+ output = []
141
+ output << responsive_button
142
+ output << brand_link(brand, brand_link, no_turbolink)
143
+ output.join("\n").html_safe
144
+ end
145
+ end
146
+
147
+ def nav_bar_css_class(position, inverse = false)
148
+ css_class = ["navbar", "navbar-default"]
149
+ css_class << "navbar-#{position}" if position.present?
150
+ css_class << "navbar-inverse" if inverse
151
+ css_class.join(" ")
152
+ end
153
+
154
+ def brand_link(name, url, no_turbolink)
155
+ return "" if name.blank?
156
+ url ||= root_url
157
+
158
+ if no_turbolink
159
+ link_to(name, url, :class => "navbar-brand", :data => { :no_turbolink => true})
160
+ else
161
+ link_to(name, url, :class => "navbar-brand")
162
+ end
163
+ end
164
+
165
+ def responsive_button
166
+ '<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
167
+ <span class="sr-only">Toggle navigation</span>
168
+ <span class="icon-bar"></span>
169
+ <span class="icon-bar"></span>
170
+ <span class="icon-bar"></span>
171
+ </button>'
172
+ end
173
+
174
+ def responsive_div(&block)
175
+ content_tag(:div, :class => "navbar-collapse collapse", &block)
176
+ end
177
+
178
+ def is_active?(path, options={})
179
+ state = uri_state(path, options)
180
+ 'active' if state.in?([:active, :chosen]) || state === true
181
+ end
182
+
183
+ def name_and_caret(name)
184
+ "#{name} #{content_tag(:b, :class => "caret") {}}".html_safe
185
+ end
186
+
187
+ def drop_down_link(name)
188
+ link_to(name_and_caret(name), "#", :class => "dropdown-toggle", "data-toggle" => "dropdown")
189
+ end
190
+
191
+ def drop_down_list(&block)
192
+ content_tag :ul, :class => "dropdown-menu", &block
193
+ end
194
+ end
195
+ end
196
+
197
+ class Hash
198
+ # appends a string to a hash key's value after a space character (Good for merging CSS classes in options hashes)
199
+ def append_merge!(key, value)
200
+ # just return self if value is blank
201
+ return self if value.blank?
202
+
203
+ current_value = self[key]
204
+ # just merge if it doesn't already have that key
205
+ self[key] = value and return if current_value.blank?
206
+ # raise error if we're trying to merge into something that isn't a string
207
+ raise ArgumentError, "Can only merge strings" unless current_value.is_a?(String)
208
+ self[key] = [current_value, value].compact.join(" ")
209
+ end
210
+ end
@@ -0,0 +1,14 @@
1
+ <% if @breadcrumbs.present? %>
2
+ <ul class="breadcrumb <%= options[:class] %>">
3
+ <% separator = divider.html_safe %>
4
+ <% @breadcrumbs[0..-2].each do |crumb| %>
5
+ <li class="<%= options[:item_class] %>">
6
+ <%= link_to crumb[:name], crumb[:url], crumb[:options] %>
7
+ <span class="divider <%= options[:divider_class] %>"><%= separator %></span>
8
+ </li>
9
+ <% end %>
10
+ <li class="<%= options[:active_class] %>">
11
+ <%= @breadcrumbs.last[:name] %>
12
+ </li>
13
+ </ul>
14
+ <% end %>