TokiCLI 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +7 -0
  4. data/README.md +56 -10
  5. data/TokiCLI.gemspec +5 -2
  6. data/lib/API/dbapi.rb +104 -67
  7. data/lib/API/helpers.rb +47 -3
  8. data/lib/TokiCLI/app.rb +88 -12
  9. data/lib/TokiCLI/version.rb +1 -1
  10. data/lib/TokiCLI/view.rb +5 -1
  11. data/lib/TokiServer/Gemfile +6 -0
  12. data/lib/TokiServer/README.md +37 -0
  13. data/lib/TokiServer/bower.json +8 -0
  14. data/lib/TokiServer/bower_components/fastclick/.bower.json +23 -0
  15. data/lib/TokiServer/bower_components/fastclick/LICENSE +22 -0
  16. data/lib/TokiServer/bower_components/fastclick/README.md +133 -0
  17. data/lib/TokiServer/bower_components/fastclick/bower.json +13 -0
  18. data/lib/TokiServer/bower_components/fastclick/lib/fastclick.js +790 -0
  19. data/lib/TokiServer/bower_components/foundation/.bower.json +30 -0
  20. data/lib/TokiServer/bower_components/foundation/bower.json +20 -0
  21. data/lib/TokiServer/bower_components/foundation/css/foundation.css +4860 -0
  22. data/lib/TokiServer/bower_components/foundation/css/normalize.css +320 -0
  23. data/lib/TokiServer/bower_components/foundation/js/foundation.js +5543 -0
  24. data/lib/TokiServer/bower_components/foundation/js/foundation.min.js +3 -0
  25. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.abide.js +299 -0
  26. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.accordion.js +59 -0
  27. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.alert.js +43 -0
  28. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.clearing.js +534 -0
  29. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.dropdown.js +311 -0
  30. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.equalizer.js +74 -0
  31. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.interchange.js +331 -0
  32. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.joyride.js +843 -0
  33. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.js +611 -0
  34. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.magellan.js +178 -0
  35. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.offcanvas.js +108 -0
  36. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.orbit.js +610 -0
  37. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.reveal.js +437 -0
  38. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.slider.js +199 -0
  39. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.tab.js +167 -0
  40. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.tooltip.js +298 -0
  41. data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.topbar.js +425 -0
  42. data/lib/TokiServer/bower_components/foundation/js/vendor/fastclick.js +9 -0
  43. data/lib/TokiServer/bower_components/foundation/js/vendor/jquery.cookie.js +8 -0
  44. data/lib/TokiServer/bower_components/foundation/js/vendor/jquery.js +26 -0
  45. data/lib/TokiServer/bower_components/foundation/js/vendor/modernizr.js +8 -0
  46. data/lib/TokiServer/bower_components/foundation/js/vendor/placeholder.js +2 -0
  47. data/lib/TokiServer/bower_components/foundation/scss/foundation.scss +45 -0
  48. data/lib/TokiServer/bower_components/foundation/scss/foundation/_functions.scss +101 -0
  49. data/lib/TokiServer/bower_components/foundation/scss/foundation/_settings.scss +1289 -0
  50. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_accordion.scss +53 -0
  51. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +126 -0
  52. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_block-grid.scss +132 -0
  53. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +127 -0
  54. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_button-groups.scss +108 -0
  55. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_buttons.scss +222 -0
  56. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_clearing.scss +247 -0
  57. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +129 -0
  58. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_dropdown.scss +248 -0
  59. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_flex-video.scss +51 -0
  60. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_forms.scss +498 -0
  61. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_global.scss +429 -0
  62. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_grid.scss +260 -0
  63. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_inline-lists.scss +57 -0
  64. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_joyride.scss +220 -0
  65. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_keystrokes.scss +61 -0
  66. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_labels.scss +104 -0
  67. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_magellan.scss +34 -0
  68. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_offcanvas.scss +355 -0
  69. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_orbit.scss +423 -0
  70. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_pagination.scss +150 -0
  71. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_panels.scss +90 -0
  72. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +150 -0
  73. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_progress-bars.scss +79 -0
  74. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_range-slider.scss +148 -0
  75. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_reveal-new.scss +0 -0
  76. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_reveal.scss +216 -0
  77. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_side-nav.scss +115 -0
  78. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_split-buttons.scss +191 -0
  79. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_sub-nav.scss +125 -0
  80. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_switch.scss +294 -0
  81. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tables.scss +129 -0
  82. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tabs.scss +109 -0
  83. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_thumbs.scss +68 -0
  84. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tooltips.scss +140 -0
  85. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_top-bar.scss +644 -0
  86. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_type.scss +511 -0
  87. data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_visibility.scss +408 -0
  88. data/lib/TokiServer/bower_components/foundation/scss/normalize.scss +425 -0
  89. data/lib/TokiServer/bower_components/jquery-placeholder/.bower.json +17 -0
  90. data/lib/TokiServer/bower_components/jquery-placeholder/.gitattributes +1 -0
  91. data/lib/TokiServer/bower_components/jquery-placeholder/.gitignore +1 -0
  92. data/lib/TokiServer/bower_components/jquery-placeholder/LICENSE-MIT.txt +20 -0
  93. data/lib/TokiServer/bower_components/jquery-placeholder/README.md +76 -0
  94. data/lib/TokiServer/bower_components/jquery-placeholder/bower.json +5 -0
  95. data/lib/TokiServer/bower_components/jquery-placeholder/demo.html +55 -0
  96. data/lib/TokiServer/bower_components/jquery-placeholder/jquery.placeholder.js +185 -0
  97. data/lib/TokiServer/bower_components/jquery-placeholder/tests/index.html +32 -0
  98. data/lib/TokiServer/bower_components/jquery-placeholder/tests/tests.js +134 -0
  99. data/lib/TokiServer/bower_components/jquery.cookie/.bower.json +28 -0
  100. data/lib/TokiServer/bower_components/jquery.cookie/jquery.cookie.js +117 -0
  101. data/lib/TokiServer/bower_components/jquery/.bower.json +37 -0
  102. data/lib/TokiServer/bower_components/jquery/MIT-LICENSE.txt +21 -0
  103. data/lib/TokiServer/bower_components/jquery/bower.json +27 -0
  104. data/lib/TokiServer/bower_components/jquery/dist/jquery.js +9190 -0
  105. data/lib/TokiServer/bower_components/jquery/dist/jquery.min.js +5 -0
  106. data/lib/TokiServer/bower_components/jquery/dist/jquery.min.map +1 -0
  107. data/lib/TokiServer/bower_components/jquery/src/ajax.js +806 -0
  108. data/lib/TokiServer/bower_components/jquery/src/ajax/jsonp.js +89 -0
  109. data/lib/TokiServer/bower_components/jquery/src/ajax/load.js +75 -0
  110. data/lib/TokiServer/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  111. data/lib/TokiServer/bower_components/jquery/src/ajax/parseXML.js +28 -0
  112. data/lib/TokiServer/bower_components/jquery/src/ajax/script.js +64 -0
  113. data/lib/TokiServer/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  114. data/lib/TokiServer/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  115. data/lib/TokiServer/bower_components/jquery/src/ajax/xhr.js +135 -0
  116. data/lib/TokiServer/bower_components/jquery/src/attributes.js +11 -0
  117. data/lib/TokiServer/bower_components/jquery/src/attributes/attr.js +143 -0
  118. data/lib/TokiServer/bower_components/jquery/src/attributes/classes.js +158 -0
  119. data/lib/TokiServer/bower_components/jquery/src/attributes/prop.js +96 -0
  120. data/lib/TokiServer/bower_components/jquery/src/attributes/support.js +35 -0
  121. data/lib/TokiServer/bower_components/jquery/src/attributes/val.js +163 -0
  122. data/lib/TokiServer/bower_components/jquery/src/callbacks.js +205 -0
  123. data/lib/TokiServer/bower_components/jquery/src/core.js +498 -0
  124. data/lib/TokiServer/bower_components/jquery/src/core/access.js +60 -0
  125. data/lib/TokiServer/bower_components/jquery/src/core/init.js +123 -0
  126. data/lib/TokiServer/bower_components/jquery/src/core/parseHTML.js +39 -0
  127. data/lib/TokiServer/bower_components/jquery/src/core/ready.js +97 -0
  128. data/lib/TokiServer/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  129. data/lib/TokiServer/bower_components/jquery/src/css.js +451 -0
  130. data/lib/TokiServer/bower_components/jquery/src/css/addGetHookIf.js +24 -0
  131. data/lib/TokiServer/bower_components/jquery/src/css/curCSS.js +57 -0
  132. data/lib/TokiServer/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  133. data/lib/TokiServer/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  134. data/lib/TokiServer/bower_components/jquery/src/css/support.js +91 -0
  135. data/lib/TokiServer/bower_components/jquery/src/css/swap.js +28 -0
  136. data/lib/TokiServer/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  137. data/lib/TokiServer/bower_components/jquery/src/css/var/getStyles.js +5 -0
  138. data/lib/TokiServer/bower_components/jquery/src/css/var/isHidden.js +13 -0
  139. data/lib/TokiServer/bower_components/jquery/src/css/var/rmargin.js +3 -0
  140. data/lib/TokiServer/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  141. data/lib/TokiServer/bower_components/jquery/src/data.js +179 -0
  142. data/lib/TokiServer/bower_components/jquery/src/data/Data.js +181 -0
  143. data/lib/TokiServer/bower_components/jquery/src/data/accepts.js +20 -0
  144. data/lib/TokiServer/bower_components/jquery/src/data/var/data_priv.js +5 -0
  145. data/lib/TokiServer/bower_components/jquery/src/data/var/data_user.js +5 -0
  146. data/lib/TokiServer/bower_components/jquery/src/deferred.js +149 -0
  147. data/lib/TokiServer/bower_components/jquery/src/deprecated.js +13 -0
  148. data/lib/TokiServer/bower_components/jquery/src/dimensions.js +50 -0
  149. data/lib/TokiServer/bower_components/jquery/src/effects.js +649 -0
  150. data/lib/TokiServer/bower_components/jquery/src/effects/Tween.js +114 -0
  151. data/lib/TokiServer/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  152. data/lib/TokiServer/bower_components/jquery/src/event.js +868 -0
  153. data/lib/TokiServer/bower_components/jquery/src/event/alias.js +39 -0
  154. data/lib/TokiServer/bower_components/jquery/src/event/support.js +9 -0
  155. data/lib/TokiServer/bower_components/jquery/src/exports/amd.js +24 -0
  156. data/lib/TokiServer/bower_components/jquery/src/exports/global.js +32 -0
  157. data/lib/TokiServer/bower_components/jquery/src/intro.js +44 -0
  158. data/lib/TokiServer/bower_components/jquery/src/jquery.js +36 -0
  159. data/lib/TokiServer/bower_components/jquery/src/manipulation.js +582 -0
  160. data/lib/TokiServer/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  161. data/lib/TokiServer/bower_components/jquery/src/manipulation/support.js +31 -0
  162. data/lib/TokiServer/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  163. data/lib/TokiServer/bower_components/jquery/src/offset.js +204 -0
  164. data/lib/TokiServer/bower_components/jquery/src/outro.js +1 -0
  165. data/lib/TokiServer/bower_components/jquery/src/queue.js +142 -0
  166. data/lib/TokiServer/bower_components/jquery/src/queue/delay.js +22 -0
  167. data/lib/TokiServer/bower_components/jquery/src/selector-native.js +172 -0
  168. data/lib/TokiServer/bower_components/jquery/src/selector-sizzle.js +14 -0
  169. data/lib/TokiServer/bower_components/jquery/src/selector.js +1 -0
  170. data/lib/TokiServer/bower_components/jquery/src/serialize.js +111 -0
  171. data/lib/TokiServer/bower_components/jquery/src/sizzle/dist/sizzle.js +2044 -0
  172. data/lib/TokiServer/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  173. data/lib/TokiServer/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  174. data/lib/TokiServer/bower_components/jquery/src/traversing.js +200 -0
  175. data/lib/TokiServer/bower_components/jquery/src/traversing/findFilter.js +100 -0
  176. data/lib/TokiServer/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  177. data/lib/TokiServer/bower_components/jquery/src/var/arr.js +3 -0
  178. data/lib/TokiServer/bower_components/jquery/src/var/class2type.js +4 -0
  179. data/lib/TokiServer/bower_components/jquery/src/var/concat.js +5 -0
  180. data/lib/TokiServer/bower_components/jquery/src/var/hasOwn.js +5 -0
  181. data/lib/TokiServer/bower_components/jquery/src/var/indexOf.js +5 -0
  182. data/lib/TokiServer/bower_components/jquery/src/var/pnum.js +3 -0
  183. data/lib/TokiServer/bower_components/jquery/src/var/push.js +5 -0
  184. data/lib/TokiServer/bower_components/jquery/src/var/rnotwhite.js +3 -0
  185. data/lib/TokiServer/bower_components/jquery/src/var/slice.js +5 -0
  186. data/lib/TokiServer/bower_components/jquery/src/var/strundefined.js +3 -0
  187. data/lib/TokiServer/bower_components/jquery/src/var/support.js +4 -0
  188. data/lib/TokiServer/bower_components/jquery/src/var/toString.js +5 -0
  189. data/lib/TokiServer/bower_components/jquery/src/wrap.js +78 -0
  190. data/lib/TokiServer/bower_components/modernizr/.bower.json +14 -0
  191. data/lib/TokiServer/bower_components/modernizr/.editorconfig +10 -0
  192. data/lib/TokiServer/bower_components/modernizr/.gitignore +2 -0
  193. data/lib/TokiServer/bower_components/modernizr/.travis.yml +6 -0
  194. data/lib/TokiServer/bower_components/modernizr/feature-detects/a-download.js +8 -0
  195. data/lib/TokiServer/bower_components/modernizr/feature-detects/audio-audiodata-api.js +4 -0
  196. data/lib/TokiServer/bower_components/modernizr/feature-detects/audio-webaudio-api.js +4 -0
  197. data/lib/TokiServer/bower_components/modernizr/feature-detects/battery-api.js +8 -0
  198. data/lib/TokiServer/bower_components/modernizr/feature-detects/battery-level.js +11 -0
  199. data/lib/TokiServer/bower_components/modernizr/feature-detects/blob-constructor.js +10 -0
  200. data/lib/TokiServer/bower_components/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
  201. data/lib/TokiServer/bower_components/modernizr/feature-detects/contenteditable.js +9 -0
  202. data/lib/TokiServer/bower_components/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
  203. data/lib/TokiServer/bower_components/modernizr/feature-detects/contextmenu.js +11 -0
  204. data/lib/TokiServer/bower_components/modernizr/feature-detects/cookies.js +15 -0
  205. data/lib/TokiServer/bower_components/modernizr/feature-detects/cors.js +3 -0
  206. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
  207. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
  208. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
  209. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
  210. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-boxsizing.js +9 -0
  211. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-calc.js +12 -0
  212. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
  213. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-displayrunin.js +18 -0
  214. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-displaytable.js +27 -0
  215. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-filters.js +7 -0
  216. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-hyphens.js +205 -0
  217. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-lastchild.js +11 -0
  218. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-mask.js +12 -0
  219. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-mediaqueries.js +3 -0
  220. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-objectfit.js +6 -0
  221. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
  222. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-pointerevents.js +25 -0
  223. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-positionsticky.js +13 -0
  224. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-regions.js +55 -0
  225. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-remunit.js +19 -0
  226. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-resize.js +8 -0
  227. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-scrollbars.js +19 -0
  228. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-shapes.js +4 -0
  229. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-subpixelfont.js +23 -0
  230. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-supports.js +6 -0
  231. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-userselect.js +10 -0
  232. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vhunit.js +14 -0
  233. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vmaxunit.js +14 -0
  234. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vminunit.js +14 -0
  235. data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vwunit.js +14 -0
  236. data/lib/TokiServer/bower_components/modernizr/feature-detects/custom-protocol-handler.js +10 -0
  237. data/lib/TokiServer/bower_components/modernizr/feature-detects/dart.js +6 -0
  238. data/lib/TokiServer/bower_components/modernizr/feature-detects/dataview-api.js +4 -0
  239. data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-classlist.js +4 -0
  240. data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
  241. data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-dataset.js +9 -0
  242. data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-microdata.js +4 -0
  243. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-datalist.js +12 -0
  244. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-details.js +25 -0
  245. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-output.js +4 -0
  246. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-progress-meter.js +11 -0
  247. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-ruby.js +53 -0
  248. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-time.js +4 -0
  249. data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-track.js +11 -0
  250. data/lib/TokiServer/bower_components/modernizr/feature-detects/emoji.js +11 -0
  251. data/lib/TokiServer/bower_components/modernizr/feature-detects/es5-strictmode.js +7 -0
  252. data/lib/TokiServer/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
  253. data/lib/TokiServer/bower_components/modernizr/feature-detects/exif-orientation.js +32 -0
  254. data/lib/TokiServer/bower_components/modernizr/feature-detects/file-api.js +12 -0
  255. data/lib/TokiServer/bower_components/modernizr/feature-detects/file-filesystem.js +9 -0
  256. data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-fileinput.js +13 -0
  257. data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-formattribute.js +29 -0
  258. data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
  259. data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-placeholder.js +10 -0
  260. data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-speechinput.js +19 -0
  261. data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-validation.js +62 -0
  262. data/lib/TokiServer/bower_components/modernizr/feature-detects/fullscreen-api.js +10 -0
  263. data/lib/TokiServer/bower_components/modernizr/feature-detects/gamepad.js +12 -0
  264. data/lib/TokiServer/bower_components/modernizr/feature-detects/getusermedia.js +5 -0
  265. data/lib/TokiServer/bower_components/modernizr/feature-detects/ie8compat.js +12 -0
  266. data/lib/TokiServer/bower_components/modernizr/feature-detects/iframe-sandbox.js +5 -0
  267. data/lib/TokiServer/bower_components/modernizr/feature-detects/iframe-seamless.js +5 -0
  268. data/lib/TokiServer/bower_components/modernizr/feature-detects/iframe-srcdoc.js +5 -0
  269. data/lib/TokiServer/bower_components/modernizr/feature-detects/img-apng.js +26 -0
  270. data/lib/TokiServer/bower_components/modernizr/feature-detects/img-webp.js +20 -0
  271. data/lib/TokiServer/bower_components/modernizr/feature-detects/json.js +7 -0
  272. data/lib/TokiServer/bower_components/modernizr/feature-detects/lists-reversed.js +6 -0
  273. data/lib/TokiServer/bower_components/modernizr/feature-detects/mathml.js +23 -0
  274. data/lib/TokiServer/bower_components/modernizr/feature-detects/network-connection.js +22 -0
  275. data/lib/TokiServer/bower_components/modernizr/feature-detects/network-eventsource.js +5 -0
  276. data/lib/TokiServer/bower_components/modernizr/feature-detects/network-xhr2.js +13 -0
  277. data/lib/TokiServer/bower_components/modernizr/feature-detects/notification.js +10 -0
  278. data/lib/TokiServer/bower_components/modernizr/feature-detects/performance.js +5 -0
  279. data/lib/TokiServer/bower_components/modernizr/feature-detects/pointerlock-api.js +4 -0
  280. data/lib/TokiServer/bower_components/modernizr/feature-detects/quota-management-api.js +11 -0
  281. data/lib/TokiServer/bower_components/modernizr/feature-detects/requestanimationframe.js +7 -0
  282. data/lib/TokiServer/bower_components/modernizr/feature-detects/script-async.js +3 -0
  283. data/lib/TokiServer/bower_components/modernizr/feature-detects/script-defer.js +3 -0
  284. data/lib/TokiServer/bower_components/modernizr/feature-detects/style-scoped.js +6 -0
  285. data/lib/TokiServer/bower_components/modernizr/feature-detects/svg-filters.js +13 -0
  286. data/lib/TokiServer/bower_components/modernizr/feature-detects/unicode.js +32 -0
  287. data/lib/TokiServer/bower_components/modernizr/feature-detects/url-data-uri.js +26 -0
  288. data/lib/TokiServer/bower_components/modernizr/feature-detects/userdata.js +7 -0
  289. data/lib/TokiServer/bower_components/modernizr/feature-detects/vibration.js +4 -0
  290. data/lib/TokiServer/bower_components/modernizr/feature-detects/web-intents.js +6 -0
  291. data/lib/TokiServer/bower_components/modernizr/feature-detects/webgl-extensions.js +42 -0
  292. data/lib/TokiServer/bower_components/modernizr/feature-detects/websockets-binary.js +20 -0
  293. data/lib/TokiServer/bower_components/modernizr/feature-detects/window-framed.js +8 -0
  294. data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-blobworkers.js +66 -0
  295. data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-dataworkers.js +34 -0
  296. data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-sharedworkers.js +3 -0
  297. data/lib/TokiServer/bower_components/modernizr/grunt.js +69 -0
  298. data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.ai +292 -1
  299. data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.eps +0 -0
  300. data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.pdf +292 -1
  301. data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.png +0 -0
  302. data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.svg +35 -0
  303. data/lib/TokiServer/bower_components/modernizr/modernizr.js +1406 -0
  304. data/lib/TokiServer/bower_components/modernizr/readme.md +28 -0
  305. data/lib/TokiServer/bower_components/modernizr/test/basic.html +65 -0
  306. data/lib/TokiServer/bower_components/modernizr/test/caniuse.html +1451 -0
  307. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.eot +0 -0
  308. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.otf +0 -0
  309. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.svg +147 -0
  310. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.ttf +0 -0
  311. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.woff +0 -0
  312. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/alpha.png +0 -0
  313. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/apng_test.png +0 -0
  314. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/before-after.png +0 -0
  315. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/form_validation.html +15 -0
  316. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/ga.js +43 -0
  317. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/green5x5.png +0 -0
  318. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/hashchange.html +16 -0
  319. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/jquery.min.js +18 -0
  320. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/mathml.html +120 -0
  321. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/mathml_ref.png +0 -0
  322. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/modernizr-1.7.min.js +2 -0
  323. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/png_alpha_result.png +0 -0
  324. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/pushstate.html +40 -0
  325. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/red30x30.png +0 -0
  326. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/ruby.png +0 -0
  327. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/stroked-text.png +0 -0
  328. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/style.css +168 -0
  329. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg-html-blur.png +0 -0
  330. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg-img.svg +5 -0
  331. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg-img.svg.1 +5 -0
  332. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg_blur.png +0 -0
  333. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/table.png +0 -0
  334. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/text-shadow1.png +0 -0
  335. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/text-shadow2.png +0 -0
  336. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/windsong_font.png +0 -0
  337. data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/xhtml.html +14 -0
  338. data/lib/TokiServer/bower_components/modernizr/test/index.html +104 -0
  339. data/lib/TokiServer/bower_components/modernizr/test/js/basic.html +65 -0
  340. data/lib/TokiServer/bower_components/modernizr/test/js/dumpdata.js +75 -0
  341. data/lib/TokiServer/bower_components/modernizr/test/js/lib/detect-global.js +153 -0
  342. data/lib/TokiServer/bower_components/modernizr/test/js/lib/jquery-1.7b2.js +9279 -0
  343. data/lib/TokiServer/bower_components/modernizr/test/js/lib/jsonselect.js +279 -0
  344. data/lib/TokiServer/bower_components/modernizr/test/js/lib/polyfills.js +96 -0
  345. data/lib/TokiServer/bower_components/modernizr/test/js/lib/uaparser.js +215 -0
  346. data/lib/TokiServer/bower_components/modernizr/test/js/setup.js +44 -0
  347. data/lib/TokiServer/bower_components/modernizr/test/js/unit-caniuse.js +191 -0
  348. data/lib/TokiServer/bower_components/modernizr/test/js/unit.js +669 -0
  349. data/lib/TokiServer/bower_components/modernizr/test/qunit/qunit.css +231 -0
  350. data/lib/TokiServer/bower_components/modernizr/test/qunit/qunit.js +1932 -0
  351. data/lib/TokiServer/bower_components/modernizr/test/qunit/run-qunit.js +72 -0
  352. data/lib/TokiServer/config.rb +25 -0
  353. data/lib/TokiServer/humans.txt +8 -0
  354. data/lib/TokiServer/itunesicon.rb +60 -0
  355. data/lib/TokiServer/js/app.js +3 -0
  356. data/lib/TokiServer/public/stylesheets/app.css +8094 -0
  357. data/lib/TokiServer/robots.txt +4 -0
  358. data/lib/TokiServer/scss/_settings.scss +1240 -0
  359. data/lib/TokiServer/scss/app.scss +102 -0
  360. data/lib/TokiServer/tokiserver.rb +377 -0
  361. data/lib/TokiServer/views/apps_total.erb +28 -0
  362. data/lib/TokiServer/views/error.erb +25 -0
  363. data/lib/TokiServer/views/index.erb +191 -0
  364. data/lib/TokiServer/views/layout.erb +20 -0
  365. data/lib/TokiServer/views/name_log.erb +50 -0
  366. data/lib/TokiServer/views/name_split.erb +37 -0
  367. data/lib/TokiServer/views/name_total.erb +34 -0
  368. metadata +416 -4
@@ -0,0 +1,611 @@
1
+ /*
2
+ * Foundation Responsive Library
3
+ * http://foundation.zurb.com
4
+ * Copyright 2014, ZURB
5
+ * Free to use under the MIT license.
6
+ * http://www.opensource.org/licenses/mit-license.php
7
+ */
8
+
9
+ (function ($, window, document, undefined) {
10
+ 'use strict';
11
+
12
+ var header_helpers = function (class_array) {
13
+ var i = class_array.length;
14
+ var head = $('head');
15
+
16
+ while (i--) {
17
+ if(head.has('.' + class_array[i]).length === 0) {
18
+ head.append('<meta class="' + class_array[i] + '" />');
19
+ }
20
+ }
21
+ };
22
+
23
+ header_helpers([
24
+ 'foundation-mq-small',
25
+ 'foundation-mq-medium',
26
+ 'foundation-mq-large',
27
+ 'foundation-mq-xlarge',
28
+ 'foundation-mq-xxlarge',
29
+ 'foundation-data-attribute-namespace']);
30
+
31
+ // Enable FastClick if present
32
+
33
+ $(function() {
34
+ if (typeof FastClick !== 'undefined') {
35
+ // Don't attach to body if undefined
36
+ if (typeof document.body !== 'undefined') {
37
+ FastClick.attach(document.body);
38
+ }
39
+ }
40
+ });
41
+
42
+ // private Fast Selector wrapper,
43
+ // returns jQuery object. Only use where
44
+ // getElementById is not available.
45
+ var S = function (selector, context) {
46
+ if (typeof selector === 'string') {
47
+ if (context) {
48
+ var cont;
49
+ if (context.jquery) {
50
+ cont = context[0];
51
+ if (!cont) return context;
52
+ } else {
53
+ cont = context;
54
+ }
55
+ return $(cont.querySelectorAll(selector));
56
+ }
57
+
58
+ return $(document.querySelectorAll(selector));
59
+ }
60
+
61
+ return $(selector, context);
62
+ };
63
+
64
+ // Namespace functions.
65
+
66
+ var attr_name = function (init) {
67
+ var arr = [];
68
+ if (!init) arr.push('data');
69
+ if (this.namespace.length > 0) arr.push(this.namespace);
70
+ arr.push(this.name);
71
+
72
+ return arr.join('-');
73
+ };
74
+
75
+ var add_namespace = function (str) {
76
+ var parts = str.split('-'),
77
+ i = parts.length,
78
+ arr = [];
79
+
80
+ while (i--) {
81
+ if (i !== 0) {
82
+ arr.push(parts[i]);
83
+ } else {
84
+ if (this.namespace.length > 0) {
85
+ arr.push(this.namespace, parts[i]);
86
+ } else {
87
+ arr.push(parts[i]);
88
+ }
89
+ }
90
+ }
91
+
92
+ return arr.reverse().join('-');
93
+ };
94
+
95
+ // Event binding and data-options updating.
96
+
97
+ var bindings = function (method, options) {
98
+ var self = this,
99
+ should_bind_events = !S(this).data(this.attr_name(true));
100
+
101
+ if (typeof method === 'string') {
102
+ return this[method].call(this, options);
103
+ }
104
+
105
+ if (S(this.scope).is('[' + this.attr_name() +']')) {
106
+ S(this.scope).data(this.attr_name(true) + '-init', $.extend({}, this.settings, (options || method), this.data_options(S(this.scope))));
107
+
108
+ if (should_bind_events) {
109
+ this.events(this.scope);
110
+ }
111
+
112
+ } else {
113
+ S('[' + this.attr_name() +']', this.scope).each(function () {
114
+ var should_bind_events = !S(this).data(self.attr_name(true) + '-init');
115
+ S(this).data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options(S(this))));
116
+
117
+ if (should_bind_events) {
118
+ self.events(this);
119
+ }
120
+ });
121
+ }
122
+ };
123
+
124
+ var single_image_loaded = function (image, callback) {
125
+ function loaded () {
126
+ callback(image[0]);
127
+ }
128
+
129
+ function bindLoad () {
130
+ this.one('load', loaded);
131
+
132
+ if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
133
+ var src = this.attr( 'src' ),
134
+ param = src.match( /\?/ ) ? '&' : '?';
135
+
136
+ param += 'random=' + (new Date()).getTime();
137
+ this.attr('src', src + param);
138
+ }
139
+ }
140
+
141
+ if (!image.attr('src')) {
142
+ loaded();
143
+ return;
144
+ }
145
+
146
+ if (image[0].complete || image[0].readyState === 4) {
147
+ loaded();
148
+ } else {
149
+ bindLoad.call(image);
150
+ }
151
+ };
152
+
153
+ /*
154
+ https://github.com/paulirish/matchMedia.js
155
+ */
156
+
157
+ window.matchMedia = window.matchMedia || (function( doc ) {
158
+
159
+ "use strict";
160
+
161
+ var bool,
162
+ docElem = doc.documentElement,
163
+ refNode = docElem.firstElementChild || docElem.firstChild,
164
+ // fakeBody required for <FF4 when executed in <head>
165
+ fakeBody = doc.createElement( "body" ),
166
+ div = doc.createElement( "div" );
167
+
168
+ div.id = "mq-test-1";
169
+ div.style.cssText = "position:absolute;top:-100em";
170
+ fakeBody.style.background = "none";
171
+ fakeBody.appendChild(div);
172
+
173
+ return function (q) {
174
+
175
+ div.innerHTML = "&shy;<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
176
+
177
+ docElem.insertBefore( fakeBody, refNode );
178
+ bool = div.offsetWidth === 42;
179
+ docElem.removeChild( fakeBody );
180
+
181
+ return {
182
+ matches: bool,
183
+ media: q
184
+ };
185
+
186
+ };
187
+
188
+ }( document ));
189
+
190
+ /*
191
+ * jquery.requestAnimationFrame
192
+ * https://github.com/gnarf37/jquery-requestAnimationFrame
193
+ * Requires jQuery 1.8+
194
+ *
195
+ * Copyright (c) 2012 Corey Frang
196
+ * Licensed under the MIT license.
197
+ */
198
+
199
+ (function($) {
200
+
201
+ // requestAnimationFrame polyfill adapted from Erik Möller
202
+ // fixes from Paul Irish and Tino Zijdel
203
+ // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
204
+ // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
205
+
206
+ var animating,
207
+ lastTime = 0,
208
+ vendors = ['webkit', 'moz'],
209
+ requestAnimationFrame = window.requestAnimationFrame,
210
+ cancelAnimationFrame = window.cancelAnimationFrame,
211
+ jqueryFxAvailable = 'undefined' !== typeof jQuery.fx;
212
+
213
+ for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
214
+ requestAnimationFrame = window[ vendors[lastTime] + "RequestAnimationFrame" ];
215
+ cancelAnimationFrame = cancelAnimationFrame ||
216
+ window[ vendors[lastTime] + "CancelAnimationFrame" ] ||
217
+ window[ vendors[lastTime] + "CancelRequestAnimationFrame" ];
218
+ }
219
+
220
+ function raf() {
221
+ if (animating) {
222
+ requestAnimationFrame(raf);
223
+
224
+ if (jqueryFxAvailable) {
225
+ jQuery.fx.tick();
226
+ }
227
+ }
228
+ }
229
+
230
+ if (requestAnimationFrame) {
231
+ // use rAF
232
+ window.requestAnimationFrame = requestAnimationFrame;
233
+ window.cancelAnimationFrame = cancelAnimationFrame;
234
+
235
+ if (jqueryFxAvailable) {
236
+ jQuery.fx.timer = function (timer) {
237
+ if (timer() && jQuery.timers.push(timer) && !animating) {
238
+ animating = true;
239
+ raf();
240
+ }
241
+ };
242
+
243
+ jQuery.fx.stop = function () {
244
+ animating = false;
245
+ };
246
+ }
247
+ } else {
248
+ // polyfill
249
+ window.requestAnimationFrame = function (callback) {
250
+ var currTime = new Date().getTime(),
251
+ timeToCall = Math.max(0, 16 - (currTime - lastTime)),
252
+ id = window.setTimeout(function () {
253
+ callback(currTime + timeToCall);
254
+ }, timeToCall);
255
+ lastTime = currTime + timeToCall;
256
+ return id;
257
+ };
258
+
259
+ window.cancelAnimationFrame = function (id) {
260
+ clearTimeout(id);
261
+ };
262
+
263
+ }
264
+
265
+ }( jQuery ));
266
+
267
+
268
+ function removeQuotes (string) {
269
+ if (typeof string === 'string' || string instanceof String) {
270
+ string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, '');
271
+ }
272
+
273
+ return string;
274
+ }
275
+
276
+ window.Foundation = {
277
+ name : 'Foundation',
278
+
279
+ version : '5.2.3',
280
+
281
+ media_queries : {
282
+ small : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
283
+ medium : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
284
+ large : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
285
+ xlarge: S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
286
+ xxlarge: S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
287
+ },
288
+
289
+ stylesheet : $('<style></style>').appendTo('head')[0].sheet,
290
+
291
+ global: {
292
+ namespace: undefined
293
+ },
294
+
295
+ init : function (scope, libraries, method, options, response) {
296
+ var args = [scope, method, options, response],
297
+ responses = [];
298
+
299
+ // check RTL
300
+ this.rtl = /rtl/i.test(S('html').attr('dir'));
301
+
302
+ // set foundation global scope
303
+ this.scope = scope || this.scope;
304
+
305
+ this.set_namespace();
306
+
307
+ if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
308
+ if (this.libs.hasOwnProperty(libraries)) {
309
+ responses.push(this.init_lib(libraries, args));
310
+ }
311
+ } else {
312
+ for (var lib in this.libs) {
313
+ responses.push(this.init_lib(lib, libraries));
314
+ }
315
+ }
316
+
317
+ return scope;
318
+ },
319
+
320
+ init_lib : function (lib, args) {
321
+ if (this.libs.hasOwnProperty(lib)) {
322
+ this.patch(this.libs[lib]);
323
+
324
+ if (args && args.hasOwnProperty(lib)) {
325
+ if (typeof this.libs[lib].settings !== 'undefined') {
326
+ $.extend(true, this.libs[lib].settings, args[lib]);
327
+ }
328
+ else if (typeof this.libs[lib].defaults !== 'undefined') {
329
+ $.extend(true, this.libs[lib].defaults, args[lib]);
330
+ }
331
+ return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
332
+ }
333
+
334
+ args = args instanceof Array ? args : new Array(args); // PATCH: added this line
335
+ return this.libs[lib].init.apply(this.libs[lib], args);
336
+ }
337
+
338
+ return function () {};
339
+ },
340
+
341
+ patch : function (lib) {
342
+ lib.scope = this.scope;
343
+ lib.namespace = this.global.namespace;
344
+ lib.rtl = this.rtl;
345
+ lib['data_options'] = this.utils.data_options;
346
+ lib['attr_name'] = attr_name;
347
+ lib['add_namespace'] = add_namespace;
348
+ lib['bindings'] = bindings;
349
+ lib['S'] = this.utils.S;
350
+ },
351
+
352
+ inherit : function (scope, methods) {
353
+ var methods_arr = methods.split(' '),
354
+ i = methods_arr.length;
355
+
356
+ while (i--) {
357
+ if (this.utils.hasOwnProperty(methods_arr[i])) {
358
+ scope[methods_arr[i]] = this.utils[methods_arr[i]];
359
+ }
360
+ }
361
+ },
362
+
363
+ set_namespace: function () {
364
+
365
+ // Description:
366
+ // Don't bother reading the namespace out of the meta tag
367
+ // if the namespace has been set globally in javascript
368
+ //
369
+ // Example:
370
+ // Foundation.global.namespace = 'my-namespace';
371
+ // or make it an empty string:
372
+ // Foundation.global.namespace = '';
373
+ //
374
+ //
375
+
376
+ // If the namespace has not been set (is undefined), try to read it out of the meta element.
377
+ // Otherwise use the globally defined namespace, even if it's empty ('')
378
+ var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace;
379
+
380
+ // Finally, if the namsepace is either undefined or false, set it to an empty string.
381
+ // Otherwise use the namespace value.
382
+ this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace;
383
+ },
384
+
385
+ libs : {},
386
+
387
+ // methods that can be inherited in libraries
388
+ utils : {
389
+
390
+ // Description:
391
+ // Fast Selector wrapper returns jQuery object. Only use where getElementById
392
+ // is not available.
393
+ //
394
+ // Arguments:
395
+ // Selector (String): CSS selector describing the element(s) to be
396
+ // returned as a jQuery object.
397
+ //
398
+ // Scope (String): CSS selector describing the area to be searched. Default
399
+ // is document.
400
+ //
401
+ // Returns:
402
+ // Element (jQuery Object): jQuery object containing elements matching the
403
+ // selector within the scope.
404
+ S : S,
405
+
406
+ // Description:
407
+ // Executes a function a max of once every n milliseconds
408
+ //
409
+ // Arguments:
410
+ // Func (Function): Function to be throttled.
411
+ //
412
+ // Delay (Integer): Function execution threshold in milliseconds.
413
+ //
414
+ // Returns:
415
+ // Lazy_function (Function): Function with throttling applied.
416
+ throttle : function (func, delay) {
417
+ var timer = null;
418
+
419
+ return function () {
420
+ var context = this, args = arguments;
421
+
422
+ if (timer == null) {
423
+ timer = setTimeout(function () {
424
+ func.apply(context, args);
425
+ timer = null;
426
+ }, delay);
427
+ }
428
+ };
429
+ },
430
+
431
+ // Description:
432
+ // Executes a function when it stops being invoked for n seconds
433
+ // Modified version of _.debounce() http://underscorejs.org
434
+ //
435
+ // Arguments:
436
+ // Func (Function): Function to be debounced.
437
+ //
438
+ // Delay (Integer): Function execution threshold in milliseconds.
439
+ //
440
+ // Immediate (Bool): Whether the function should be called at the beginning
441
+ // of the delay instead of the end. Default is false.
442
+ //
443
+ // Returns:
444
+ // Lazy_function (Function): Function with debouncing applied.
445
+ debounce : function (func, delay, immediate) {
446
+ var timeout, result;
447
+ return function () {
448
+ var context = this, args = arguments;
449
+ var later = function () {
450
+ timeout = null;
451
+ if (!immediate) result = func.apply(context, args);
452
+ };
453
+ var callNow = immediate && !timeout;
454
+ clearTimeout(timeout);
455
+ timeout = setTimeout(later, delay);
456
+ if (callNow) result = func.apply(context, args);
457
+ return result;
458
+ };
459
+ },
460
+
461
+ // Description:
462
+ // Parses data-options attribute
463
+ //
464
+ // Arguments:
465
+ // El (jQuery Object): Element to be parsed.
466
+ //
467
+ // Returns:
468
+ // Options (Javascript Object): Contents of the element's data-options
469
+ // attribute.
470
+ data_options : function (el, data_attr_name) {
471
+ data_attr_name = data_attr_name || 'options';
472
+ var opts = {}, ii, p, opts_arr,
473
+ data_options = function (el) {
474
+ var namespace = Foundation.global.namespace;
475
+
476
+ if (namespace.length > 0) {
477
+ return el.data(namespace + '-' + data_attr_name);
478
+ }
479
+
480
+ return el.data(data_attr_name);
481
+ };
482
+
483
+ var cached_options = data_options(el);
484
+
485
+ if (typeof cached_options === 'object') {
486
+ return cached_options;
487
+ }
488
+
489
+ opts_arr = (cached_options || ':').split(';');
490
+ ii = opts_arr.length;
491
+
492
+ function isNumber (o) {
493
+ return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
494
+ }
495
+
496
+ function trim (str) {
497
+ if (typeof str === 'string') return $.trim(str);
498
+ return str;
499
+ }
500
+
501
+ while (ii--) {
502
+ p = opts_arr[ii].split(':');
503
+ p = [p[0], p.slice(1).join(':')];
504
+
505
+ if (/true/i.test(p[1])) p[1] = true;
506
+ if (/false/i.test(p[1])) p[1] = false;
507
+ if (isNumber(p[1])) {
508
+ if (p[1].indexOf('.') === -1) {
509
+ p[1] = parseInt(p[1], 10);
510
+ } else {
511
+ p[1] = parseFloat(p[1]);
512
+ }
513
+ }
514
+
515
+ if (p.length === 2 && p[0].length > 0) {
516
+ opts[trim(p[0])] = trim(p[1]);
517
+ }
518
+ }
519
+
520
+ return opts;
521
+ },
522
+
523
+ // Description:
524
+ // Adds JS-recognizable media queries
525
+ //
526
+ // Arguments:
527
+ // Media (String): Key string for the media query to be stored as in
528
+ // Foundation.media_queries
529
+ //
530
+ // Class (String): Class name for the generated <meta> tag
531
+ register_media : function (media, media_class) {
532
+ if(Foundation.media_queries[media] === undefined) {
533
+ $('head').append('<meta class="' + media_class + '">');
534
+ Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));
535
+ }
536
+ },
537
+
538
+ // Description:
539
+ // Add custom CSS within a JS-defined media query
540
+ //
541
+ // Arguments:
542
+ // Rule (String): CSS rule to be appended to the document.
543
+ //
544
+ // Media (String): Optional media query string for the CSS rule to be
545
+ // nested under.
546
+ add_custom_rule : function (rule, media) {
547
+ if (media === undefined && Foundation.stylesheet) {
548
+ Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);
549
+ } else {
550
+ var query = Foundation.media_queries[media];
551
+
552
+ if (query !== undefined) {
553
+ Foundation.stylesheet.insertRule('@media ' +
554
+ Foundation.media_queries[media] + '{ ' + rule + ' }');
555
+ }
556
+ }
557
+ },
558
+
559
+ // Description:
560
+ // Performs a callback function when an image is fully loaded
561
+ //
562
+ // Arguments:
563
+ // Image (jQuery Object): Image(s) to check if loaded.
564
+ //
565
+ // Callback (Function): Function to execute when image is fully loaded.
566
+ image_loaded : function (images, callback) {
567
+ var self = this,
568
+ unloaded = images.length;
569
+
570
+ if (unloaded === 0) {
571
+ callback(images);
572
+ }
573
+
574
+ images.each(function () {
575
+ single_image_loaded(self.S(this), function () {
576
+ unloaded -= 1;
577
+ if (unloaded === 0) {
578
+ callback(images);
579
+ }
580
+ });
581
+ });
582
+ },
583
+
584
+ // Description:
585
+ // Returns a random, alphanumeric string
586
+ //
587
+ // Arguments:
588
+ // Length (Integer): Length of string to be generated. Defaults to random
589
+ // integer.
590
+ //
591
+ // Returns:
592
+ // Rand (String): Pseudo-random, alphanumeric string.
593
+ random_str : function () {
594
+ if (!this.fidx) this.fidx = 0;
595
+ this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-');
596
+
597
+ return this.prefix + (this.fidx++).toString(36);
598
+ }
599
+ }
600
+ };
601
+
602
+ $.fn.foundation = function () {
603
+ var args = Array.prototype.slice.call(arguments, 0);
604
+
605
+ return this.each(function () {
606
+ Foundation.init.apply(Foundation, [this].concat(args));
607
+ return this;
608
+ });
609
+ };
610
+
611
+ }(jQuery, window, window.document));