table_beet2 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +28 -0
  5. data/.travis.yml +20 -0
  6. data/Gemfile +6 -0
  7. data/Guardfile +7 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +111 -0
  10. data/Rakefile +8 -0
  11. data/bin/table_beet +6 -0
  12. data/gemfiles/rspec-3.5.x.gemfile +8 -0
  13. data/gemfiles/rspec-3.6.x.gemfile +8 -0
  14. data/gemfiles/rspec-3.7.x.gemfile +8 -0
  15. data/lib/table_beet.rb +17 -0
  16. data/lib/table_beet/cli.rb +48 -0
  17. data/lib/table_beet/formatters.rb +6 -0
  18. data/lib/table_beet/formatters/base_formatter.rb +14 -0
  19. data/lib/table_beet/formatters/html_formatter.rb +52 -0
  20. data/lib/table_beet/formatters/html_template/data/css/font-awesome-ie7.min.css +22 -0
  21. data/lib/table_beet/formatters/html_template/data/css/groundwork-ie.css +52 -0
  22. data/lib/table_beet/formatters/html_template/data/css/groundwork.css +5802 -0
  23. data/lib/table_beet/formatters/html_template/data/css/no-svg.css +1 -0
  24. data/lib/table_beet/formatters/html_template/data/css/placeholder_polyfill.css +32 -0
  25. data/lib/table_beet/formatters/html_template/data/favicon.ico +0 -0
  26. data/lib/table_beet/formatters/html_template/data/font/FontAwesome.otf +0 -0
  27. data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.eot +0 -0
  28. data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.svg +284 -0
  29. data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.ttf +0 -0
  30. data/lib/table_beet/formatters/html_template/data/font/fontawesome-webfont.woff +0 -0
  31. data/lib/table_beet/formatters/html_template/data/images/black_linen_v2.png +0 -0
  32. data/lib/table_beet/formatters/html_template/data/images/groundwork-logo.png +0 -0
  33. data/lib/table_beet/formatters/html_template/data/images/groundwork-logo.svg +1 -0
  34. data/lib/table_beet/formatters/html_template/data/images/kitchen-sink.gif +0 -0
  35. data/lib/table_beet/formatters/html_template/data/images/layout-1.gif +0 -0
  36. data/lib/table_beet/formatters/html_template/data/images/layout-2.gif +0 -0
  37. data/lib/table_beet/formatters/html_template/data/images/layout-3.gif +0 -0
  38. data/lib/table_beet/formatters/html_template/data/images/layout-4.gif +0 -0
  39. data/lib/table_beet/formatters/html_template/data/images/layout-5.gif +0 -0
  40. data/lib/table_beet/formatters/html_template/data/images/orbit/bullets.jpg +0 -0
  41. data/lib/table_beet/formatters/html_template/data/images/orbit/left-arrow.png +0 -0
  42. data/lib/table_beet/formatters/html_template/data/images/orbit/loading.gif +0 -0
  43. data/lib/table_beet/formatters/html_template/data/images/orbit/mask-black.png +0 -0
  44. data/lib/table_beet/formatters/html_template/data/images/orbit/pause-black.png +0 -0
  45. data/lib/table_beet/formatters/html_template/data/images/orbit/right-arrow.png +0 -0
  46. data/lib/table_beet/formatters/html_template/data/images/orbit/rotator-black.png +0 -0
  47. data/lib/table_beet/formatters/html_template/data/images/orbit/timer-black.png +0 -0
  48. data/lib/table_beet/formatters/html_template/data/images/social-icons/500px-m.png +0 -0
  49. data/lib/table_beet/formatters/html_template/data/images/social-icons/500px-s.png +0 -0
  50. data/lib/table_beet/formatters/html_template/data/images/social-icons/500px.png +0 -0
  51. data/lib/table_beet/formatters/html_template/data/images/social-icons/500px.svg +62 -0
  52. data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme-m.png +0 -0
  53. data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme-s.png +0 -0
  54. data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme.png +0 -0
  55. data/lib/table_beet/formatters/html_template/data/images/social-icons/aboutme.svg +42 -0
  56. data/lib/table_beet/formatters/html_template/data/images/social-icons/adn-m.png +0 -0
  57. data/lib/table_beet/formatters/html_template/data/images/social-icons/adn-s.png +0 -0
  58. data/lib/table_beet/formatters/html_template/data/images/social-icons/adn.png +0 -0
  59. data/lib/table_beet/formatters/html_template/data/images/social-icons/adn.svg +14 -0
  60. data/lib/table_beet/formatters/html_template/data/images/social-icons/android-m.png +0 -0
  61. data/lib/table_beet/formatters/html_template/data/images/social-icons/android-s.png +0 -0
  62. data/lib/table_beet/formatters/html_template/data/images/social-icons/android.png +0 -0
  63. data/lib/table_beet/formatters/html_template/data/images/social-icons/android.svg +30 -0
  64. data/lib/table_beet/formatters/html_template/data/images/social-icons/apple-m.png +0 -0
  65. data/lib/table_beet/formatters/html_template/data/images/social-icons/apple-s.png +0 -0
  66. data/lib/table_beet/formatters/html_template/data/images/social-icons/apple.png +0 -0
  67. data/lib/table_beet/formatters/html_template/data/images/social-icons/apple.svg +19 -0
  68. data/lib/table_beet/formatters/html_template/data/images/social-icons/behance-m.png +0 -0
  69. data/lib/table_beet/formatters/html_template/data/images/social-icons/behance-s.png +0 -0
  70. data/lib/table_beet/formatters/html_template/data/images/social-icons/behance.png +0 -0
  71. data/lib/table_beet/formatters/html_template/data/images/social-icons/behance.svg +48 -0
  72. data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket-m.png +0 -0
  73. data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket-s.png +0 -0
  74. data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket.png +0 -0
  75. data/lib/table_beet/formatters/html_template/data/images/social-icons/bitbucket.svg +36 -0
  76. data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger-m.png +0 -0
  77. data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger-s.png +0 -0
  78. data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger.png +0 -0
  79. data/lib/table_beet/formatters/html_template/data/images/social-icons/blogger.svg +22 -0
  80. data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall-m.png +0 -0
  81. data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall-s.png +0 -0
  82. data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall.png +0 -0
  83. data/lib/table_beet/formatters/html_template/data/images/social-icons/coderwall.svg +21 -0
  84. data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud-m.png +0 -0
  85. data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud-s.png +0 -0
  86. data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud.png +0 -0
  87. data/lib/table_beet/formatters/html_template/data/images/social-icons/creativecloud.svg +48 -0
  88. data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble-m.png +0 -0
  89. data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble-s.png +0 -0
  90. data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble.png +0 -0
  91. data/lib/table_beet/formatters/html_template/data/images/social-icons/dribbble.svg +28 -0
  92. data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox-m.png +0 -0
  93. data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox-s.png +0 -0
  94. data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox.png +0 -0
  95. data/lib/table_beet/formatters/html_template/data/images/social-icons/dropbox.svg +73 -0
  96. data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote-m.png +0 -0
  97. data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote-s.png +0 -0
  98. data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote.png +0 -0
  99. data/lib/table_beet/formatters/html_template/data/images/social-icons/evernote.svg +62 -0
  100. data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook-m.png +0 -0
  101. data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook-s.png +0 -0
  102. data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook.png +0 -0
  103. data/lib/table_beet/formatters/html_template/data/images/social-icons/facebook.svg +15 -0
  104. data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative-m.png +0 -0
  105. data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative-s.png +0 -0
  106. data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative.png +0 -0
  107. data/lib/table_beet/formatters/html_template/data/images/social-icons/fairheadcreative.svg +24 -0
  108. data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr-m.png +0 -0
  109. data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr-s.png +0 -0
  110. data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr.png +0 -0
  111. data/lib/table_beet/formatters/html_template/data/images/social-icons/flickr.svg +14 -0
  112. data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare-m.png +0 -0
  113. data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare-s.png +0 -0
  114. data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare.png +0 -0
  115. data/lib/table_beet/formatters/html_template/data/images/social-icons/foursquare.svg +43 -0
  116. data/lib/table_beet/formatters/html_template/data/images/social-icons/git-m.png +0 -0
  117. data/lib/table_beet/formatters/html_template/data/images/social-icons/git-s.png +0 -0
  118. data/lib/table_beet/formatters/html_template/data/images/social-icons/git.png +0 -0
  119. data/lib/table_beet/formatters/html_template/data/images/social-icons/git.svg +22 -0
  120. data/lib/table_beet/formatters/html_template/data/images/social-icons/github-m.png +0 -0
  121. data/lib/table_beet/formatters/html_template/data/images/social-icons/github-s.png +0 -0
  122. data/lib/table_beet/formatters/html_template/data/images/social-icons/github.png +0 -0
  123. data/lib/table_beet/formatters/html_template/data/images/social-icons/github.svg +38 -0
  124. data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads-m.png +0 -0
  125. data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads-s.png +0 -0
  126. data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads.png +0 -0
  127. data/lib/table_beet/formatters/html_template/data/images/social-icons/goodreads.svg +38 -0
  128. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay-m.png +0 -0
  129. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay-s.png +0 -0
  130. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay.png +0 -0
  131. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplay.svg +24 -0
  132. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus-m.png +0 -0
  133. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus-s.png +0 -0
  134. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus.png +0 -0
  135. data/lib/table_beet/formatters/html_template/data/images/social-icons/googleplus.svg +52 -0
  136. data/lib/table_beet/formatters/html_template/data/images/social-icons/html5-m.png +0 -0
  137. data/lib/table_beet/formatters/html_template/data/images/social-icons/html5-s.png +0 -0
  138. data/lib/table_beet/formatters/html_template/data/images/social-icons/html5.png +0 -0
  139. data/lib/table_beet/formatters/html_template/data/images/social-icons/html5.svg +29 -0
  140. data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud-m.png +0 -0
  141. data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud-s.png +0 -0
  142. data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud.png +0 -0
  143. data/lib/table_beet/formatters/html_template/data/images/social-icons/icloud.svg +26 -0
  144. data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram-m.png +0 -0
  145. data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram-s.png +0 -0
  146. data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram.png +0 -0
  147. data/lib/table_beet/formatters/html_template/data/images/social-icons/instagram.svg +166 -0
  148. data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm-m.png +0 -0
  149. data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm-s.png +0 -0
  150. data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm.png +0 -0
  151. data/lib/table_beet/formatters/html_template/data/images/social-icons/lastfm.svg +44 -0
  152. data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin-m.png +0 -0
  153. data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin-s.png +0 -0
  154. data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin.png +0 -0
  155. data/lib/table_beet/formatters/html_template/data/images/social-icons/linkedin.svg +28 -0
  156. data/lib/table_beet/formatters/html_template/data/images/social-icons/mail-m.png +0 -0
  157. data/lib/table_beet/formatters/html_template/data/images/social-icons/mail-s.png +0 -0
  158. data/lib/table_beet/formatters/html_template/data/images/social-icons/mail.png +0 -0
  159. data/lib/table_beet/formatters/html_template/data/images/social-icons/mail.svg +27 -0
  160. data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial-m.png +0 -0
  161. data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial-s.png +0 -0
  162. data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial.png +0 -0
  163. data/lib/table_beet/formatters/html_template/data/images/social-icons/mercurial.svg +22 -0
  164. data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi-m.png +0 -0
  165. data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi-s.png +0 -0
  166. data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi.png +0 -0
  167. data/lib/table_beet/formatters/html_template/data/images/social-icons/mixi.svg +32 -0
  168. data/lib/table_beet/formatters/html_template/data/images/social-icons/msn-m.png +0 -0
  169. data/lib/table_beet/formatters/html_template/data/images/social-icons/msn-s.png +0 -0
  170. data/lib/table_beet/formatters/html_template/data/images/social-icons/msn.png +0 -0
  171. data/lib/table_beet/formatters/html_template/data/images/social-icons/msn.svg +44 -0
  172. data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut-m.png +0 -0
  173. data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut-s.png +0 -0
  174. data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut.png +0 -0
  175. data/lib/table_beet/formatters/html_template/data/images/social-icons/orkut.svg +23 -0
  176. data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa-m.png +0 -0
  177. data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa-s.png +0 -0
  178. data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa.png +0 -0
  179. data/lib/table_beet/formatters/html_template/data/images/social-icons/picasa.svg +48 -0
  180. data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest-m.png +0 -0
  181. data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest-s.png +0 -0
  182. data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest.png +0 -0
  183. data/lib/table_beet/formatters/html_template/data/images/social-icons/pinterest.svg +42 -0
  184. data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp-m.png +0 -0
  185. data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp-s.png +0 -0
  186. data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp.png +0 -0
  187. data/lib/table_beet/formatters/html_template/data/images/social-icons/pocketapp.svg +38 -0
  188. data/lib/table_beet/formatters/html_template/data/images/social-icons/quora-m.png +0 -0
  189. data/lib/table_beet/formatters/html_template/data/images/social-icons/quora-s.png +0 -0
  190. data/lib/table_beet/formatters/html_template/data/images/social-icons/quora.png +0 -0
  191. data/lib/table_beet/formatters/html_template/data/images/social-icons/quora.svg +20 -0
  192. data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio-m.png +0 -0
  193. data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio-s.png +0 -0
  194. data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio.png +0 -0
  195. data/lib/table_beet/formatters/html_template/data/images/social-icons/rdio.svg +18 -0
  196. data/lib/table_beet/formatters/html_template/data/images/social-icons/renren-m.png +0 -0
  197. data/lib/table_beet/formatters/html_template/data/images/social-icons/renren-s.png +0 -0
  198. data/lib/table_beet/formatters/html_template/data/images/social-icons/renren.png +0 -0
  199. data/lib/table_beet/formatters/html_template/data/images/social-icons/renren.svg +79 -0
  200. data/lib/table_beet/formatters/html_template/data/images/social-icons/rss-m.png +0 -0
  201. data/lib/table_beet/formatters/html_template/data/images/social-icons/rss-s.png +0 -0
  202. data/lib/table_beet/formatters/html_template/data/images/social-icons/rss.png +0 -0
  203. data/lib/table_beet/formatters/html_template/data/images/social-icons/rss.svg +18 -0
  204. data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch-m.png +0 -0
  205. data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch-s.png +0 -0
  206. data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch.png +0 -0
  207. data/lib/table_beet/formatters/html_template/data/images/social-icons/skitch.svg +24 -0
  208. data/lib/table_beet/formatters/html_template/data/images/social-icons/skype-m.png +0 -0
  209. data/lib/table_beet/formatters/html_template/data/images/social-icons/skype-s.png +0 -0
  210. data/lib/table_beet/formatters/html_template/data/images/social-icons/skype.png +0 -0
  211. data/lib/table_beet/formatters/html_template/data/images/social-icons/skype.svg +25 -0
  212. data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud-m.png +0 -0
  213. data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud-s.png +0 -0
  214. data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud.png +0 -0
  215. data/lib/table_beet/formatters/html_template/data/images/social-icons/soundcloud.svg +60 -0
  216. data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify-m.png +0 -0
  217. data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify-s.png +0 -0
  218. data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify.png +0 -0
  219. data/lib/table_beet/formatters/html_template/data/images/social-icons/spotify.svg +38 -0
  220. data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow-m.png +0 -0
  221. data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow-s.png +0 -0
  222. data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow.png +0 -0
  223. data/lib/table_beet/formatters/html_template/data/images/social-icons/stackoverflow.svg +32 -0
  224. data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon-m.png +0 -0
  225. data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon-s.png +0 -0
  226. data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon.png +0 -0
  227. data/lib/table_beet/formatters/html_template/data/images/social-icons/stumbleupon.svg +22 -0
  228. data/lib/table_beet/formatters/html_template/data/images/social-icons/svn-m.png +0 -0
  229. data/lib/table_beet/formatters/html_template/data/images/social-icons/svn-s.png +0 -0
  230. data/lib/table_beet/formatters/html_template/data/images/social-icons/svn.png +0 -0
  231. data/lib/table_beet/formatters/html_template/data/images/social-icons/svn.svg +25 -0
  232. data/lib/table_beet/formatters/html_template/data/images/social-icons/tent-m.png +0 -0
  233. data/lib/table_beet/formatters/html_template/data/images/social-icons/tent-s.png +0 -0
  234. data/lib/table_beet/formatters/html_template/data/images/social-icons/tent.png +0 -0
  235. data/lib/table_beet/formatters/html_template/data/images/social-icons/tent.svg +16 -0
  236. data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor-m.png +0 -0
  237. data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor-s.png +0 -0
  238. data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor.png +0 -0
  239. data/lib/table_beet/formatters/html_template/data/images/social-icons/tripadvisor.svg +30 -0
  240. data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr-m.png +0 -0
  241. data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr-s.png +0 -0
  242. data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr.png +0 -0
  243. data/lib/table_beet/formatters/html_template/data/images/social-icons/tumblr.svg +16 -0
  244. data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter-m.png +0 -0
  245. data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter-s.png +0 -0
  246. data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter.png +0 -0
  247. data/lib/table_beet/formatters/html_template/data/images/social-icons/twitter.svg +24 -0
  248. data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo-m.png +0 -0
  249. data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo-s.png +0 -0
  250. data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo.png +0 -0
  251. data/lib/table_beet/formatters/html_template/data/images/social-icons/vimeo.svg +20 -0
  252. data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo-m.png +0 -0
  253. data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo-s.png +0 -0
  254. data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo.png +0 -0
  255. data/lib/table_beet/formatters/html_template/data/images/social-icons/weibo.svg +54 -0
  256. data/lib/table_beet/formatters/html_template/data/images/social-icons/windows-m.png +0 -0
  257. data/lib/table_beet/formatters/html_template/data/images/social-icons/windows-s.png +0 -0
  258. data/lib/table_beet/formatters/html_template/data/images/social-icons/windows.png +0 -0
  259. data/lib/table_beet/formatters/html_template/data/images/social-icons/windows.svg +26 -0
  260. data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress-m.png +0 -0
  261. data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress-s.png +0 -0
  262. data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress.png +0 -0
  263. data/lib/table_beet/formatters/html_template/data/images/social-icons/wordpress.svg +50 -0
  264. data/lib/table_beet/formatters/html_template/data/images/social-icons/xing-m.png +0 -0
  265. data/lib/table_beet/formatters/html_template/data/images/social-icons/xing-s.png +0 -0
  266. data/lib/table_beet/formatters/html_template/data/images/social-icons/xing.png +0 -0
  267. data/lib/table_beet/formatters/html_template/data/images/social-icons/xing.svg +16 -0
  268. data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp-m.png +0 -0
  269. data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp-s.png +0 -0
  270. data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp.png +0 -0
  271. data/lib/table_beet/formatters/html_template/data/images/social-icons/yelp.svg +54 -0
  272. data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube-m.png +0 -0
  273. data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube-s.png +0 -0
  274. data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube.png +0 -0
  275. data/lib/table_beet/formatters/html_template/data/images/social-icons/youtube.svg +106 -0
  276. data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion-m.png +0 -0
  277. data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion-s.png +0 -0
  278. data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion.png +0 -0
  279. data/lib/table_beet/formatters/html_template/data/images/social-icons/youversion.svg +54 -0
  280. data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply-m.png +0 -0
  281. data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply-s.png +0 -0
  282. data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply.png +0 -0
  283. data/lib/table_beet/formatters/html_template/data/images/social-icons/zerply.svg +20 -0
  284. data/lib/table_beet/formatters/html_template/data/js/groundwork.js +847 -0
  285. data/lib/table_beet/formatters/html_template/data/js/jquery.quicksearch.js +181 -0
  286. data/lib/table_beet/formatters/html_template/data/js/libs/boxsizing.htc +501 -0
  287. data/lib/table_beet/formatters/html_template/data/js/libs/html5shiv.js +299 -0
  288. data/lib/table_beet/formatters/html_template/data/js/libs/html5shiv.min.js +8 -0
  289. data/lib/table_beet/formatters/html_template/data/js/libs/jquery-1.8.2.min.js +2 -0
  290. data/lib/table_beet/formatters/html_template/data/js/libs/modernizr-2.6.2.min.js +4 -0
  291. data/lib/table_beet/formatters/html_template/data/js/libs/placeholder_polyfill.jquery.js +212 -0
  292. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.modals.coffee +162 -0
  293. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.popover.coffee +198 -0
  294. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.popover.js +10 -0
  295. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveTables.coffee +56 -0
  296. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveTables.js +10 -0
  297. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveText.coffee +32 -0
  298. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.responsiveText.js +10 -0
  299. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.tooltip.coffee +121 -0
  300. data/lib/table_beet/formatters/html_template/data/js/plugins/coffee/jquery.tooltip.js +10 -0
  301. data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.modals.js +185 -0
  302. data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.orbit-1.4.0.js +919 -0
  303. data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.popover.js +206 -0
  304. data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveTables.js +63 -0
  305. data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveText.js +45 -0
  306. data/lib/table_beet/formatters/html_template/data/js/plugins/jquery.tooltip.js +118 -0
  307. data/lib/table_beet/formatters/html_template/index.erb +147 -0
  308. data/lib/table_beet/formatters/oneline_formatter.rb +17 -0
  309. data/lib/table_beet/formatters/text_formatter.rb +19 -0
  310. data/lib/table_beet/loader.rb +39 -0
  311. data/lib/table_beet/reporter.rb +35 -0
  312. data/lib/table_beet/runner.rb +25 -0
  313. data/lib/table_beet/step.rb +27 -0
  314. data/lib/table_beet/version.rb +5 -0
  315. data/lib/table_beet/world.rb +42 -0
  316. data/spec/fixtures/steps/global_steps.rb +9 -0
  317. data/spec/fixtures/steps/test_steps.rb +24 -0
  318. data/spec/formatters/html_formatter_spec.rb +48 -0
  319. data/spec/loader_spec.rb +62 -0
  320. data/spec/spec_helper.rb +33 -0
  321. data/spec/step_spec.rb +29 -0
  322. data/spec/world_spec.rb +31 -0
  323. data/table_beet.gemspec +29 -0
  324. metadata +485 -0
@@ -0,0 +1,181 @@
1
+ (function($, window, document, undefined) {
2
+ $.fn.quicksearch = function (target, opt) {
3
+
4
+ var timeout, cache, rowcache, jq_results, val = '', e = this, options = $.extend({
5
+ delay: 100,
6
+ selector: null,
7
+ stripeRows: null,
8
+ loader: null,
9
+ noResults: '',
10
+ matchedResultsCount: 0,
11
+ bind: 'keyup',
12
+ onBefore: function () {
13
+ return;
14
+ },
15
+ onAfter: function () {
16
+ return;
17
+ },
18
+ show: function () {
19
+ this.style.display = "";
20
+ },
21
+ hide: function () {
22
+ this.style.display = "none";
23
+ },
24
+ prepareQuery: function (val) {
25
+ return val.toLowerCase().split(' ');
26
+ },
27
+ testQuery: function (query, txt, _row) {
28
+ for (var i = 0; i < query.length; i += 1) {
29
+ if (txt.indexOf(query[i]) === -1) {
30
+ return false;
31
+ }
32
+ }
33
+ return true;
34
+ }
35
+ }, opt);
36
+
37
+ this.go = function () {
38
+
39
+ var i = 0,
40
+ numMatchedRows = 0,
41
+ noresults = true,
42
+ query = options.prepareQuery(val),
43
+ val_empty = (val.replace(' ', '').length === 0);
44
+
45
+ for (var i = 0, len = rowcache.length; i < len; i++) {
46
+ if (val_empty || options.testQuery(query, cache[i], rowcache[i])) {
47
+ options.show.apply(rowcache[i]);
48
+ noresults = false;
49
+ numMatchedRows++;
50
+ } else {
51
+ options.hide.apply(rowcache[i]);
52
+ }
53
+ }
54
+
55
+ if (noresults) {
56
+ this.results(false);
57
+ } else {
58
+ this.results(true);
59
+ this.stripe();
60
+ }
61
+
62
+ this.matchedResultsCount = numMatchedRows;
63
+ this.loader(false);
64
+ options.onAfter();
65
+
66
+ return this;
67
+ };
68
+
69
+ /*
70
+ * External API so that users can perform search programatically.
71
+ * */
72
+ this.search = function (submittedVal) {
73
+ val = submittedVal;
74
+ e.trigger();
75
+ };
76
+
77
+ /*
78
+ * External API to get the number of matched results as seen in
79
+ * https://github.com/ruiz107/quicksearch/commit/f78dc440b42d95ce9caed1d087174dd4359982d6
80
+ * */
81
+ this.currentMatchedResults = function() {
82
+ return this.matchedResultsCount;
83
+ };
84
+
85
+ this.stripe = function () {
86
+
87
+ if (typeof options.stripeRows === "object" && options.stripeRows !== null)
88
+ {
89
+ var joined = options.stripeRows.join(' ');
90
+ var stripeRows_length = options.stripeRows.length;
91
+
92
+ jq_results.not(':hidden').each(function (i) {
93
+ $(this).removeClass(joined).addClass(options.stripeRows[i % stripeRows_length]);
94
+ });
95
+ }
96
+
97
+ return this;
98
+ };
99
+
100
+ this.strip_html = function (input) {
101
+ var output = input.replace(new RegExp('<[^<]+\>', 'g'), "");
102
+ output = $.trim(output.toLowerCase());
103
+ return output;
104
+ };
105
+
106
+ this.results = function (bool) {
107
+ if (typeof options.noResults === "string" && options.noResults !== "") {
108
+ if (bool) {
109
+ $(options.noResults).hide();
110
+ } else {
111
+ $(options.noResults).show();
112
+ }
113
+ }
114
+ return this;
115
+ };
116
+
117
+ this.loader = function (bool) {
118
+ if (typeof options.loader === "string" && options.loader !== "") {
119
+ (bool) ? $(options.loader).show() : $(options.loader).hide();
120
+ }
121
+ return this;
122
+ };
123
+
124
+ this.cache = function () {
125
+
126
+ jq_results = $(target);
127
+
128
+ if (typeof options.noResults === "string" && options.noResults !== "") {
129
+ jq_results = jq_results.not(options.noResults);
130
+ }
131
+
132
+ var t = (typeof options.selector === "string") ? jq_results.find(options.selector) : $(target).not(options.noResults);
133
+ cache = t.map(function () {
134
+ return e.strip_html(this.innerHTML);
135
+ });
136
+
137
+ rowcache = jq_results.map(function () {
138
+ return this;
139
+ });
140
+
141
+ /*
142
+ * Modified fix for sync-ing "val".
143
+ * Original fix https://github.com/michaellwest/quicksearch/commit/4ace4008d079298a01f97f885ba8fa956a9703d1
144
+ * */
145
+ val = val || this.val() || "";
146
+
147
+ return this.go();
148
+ };
149
+
150
+ this.trigger = function () {
151
+ this.loader(true);
152
+ options.onBefore();
153
+
154
+ window.clearTimeout(timeout);
155
+ timeout = window.setTimeout(function () {
156
+ e.go();
157
+ }, options.delay);
158
+
159
+ return this;
160
+ };
161
+
162
+ this.cache();
163
+ this.results(true);
164
+ this.stripe();
165
+ this.loader(false);
166
+
167
+ return this.each(function () {
168
+
169
+ /*
170
+ * Changed from .bind to .on.
171
+ * */
172
+ $(this).on(options.bind, function () {
173
+
174
+ val = $(this).val();
175
+ e.trigger();
176
+ });
177
+ });
178
+
179
+ };
180
+
181
+ }(jQuery, this, document));
@@ -0,0 +1,501 @@
1
+ /**
2
+ * box-sizing Polyfill
3
+ *
4
+ * A polyfill for box-sizing: border-box for IE6 & IE7.
5
+ *
6
+ * JScript
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU Lesser General Public License as published
10
+ * by the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU Lesser General Public License for more details.
17
+ *
18
+ * See <http://www.gnu.org/licenses/lgpl-3.0.txt>
19
+ *
20
+ * @category JScript
21
+ * @package box-sizing-polyfill
22
+ * @author Christian Schepp Schaefer <schaepp@gmx.de> <http://twitter.com/derSchepp>
23
+ * @copyright 2012 Christian Schepp Schaefer
24
+ * @license http://www.gnu.org/copyleft/lesser.html The GNU LESSER GENERAL PUBLIC LICENSE, Version 3.0
25
+ * @link http://github.com/Schepp/box-sizing-polyfill
26
+ *
27
+ * PREFACE:
28
+ *
29
+ * This box-sizing polyfill is based on previous work done by Erik Arvidsson,
30
+ * which he published in 2002 on http://webfx.eae.net/dhtml/boxsizing/boxsizing.html.
31
+ *
32
+ * USAGE:
33
+ *
34
+ * Add the behavior/HTC after every `box-sizing: border-box;` that you assign:
35
+ *
36
+ * box-sizing: border-box;
37
+ * *behavior: url(/scripts/boxsizing.htc);`
38
+ *
39
+ * Prefix the `behavior` property with a star, like seen above, so it will only be seen by
40
+ * IE6 & IE7, not by IE8+ who already implement box-sizing.
41
+ *
42
+ * The URL to the HTC file must be relative to your HTML(!) document, not relative to your CSS.
43
+ * That's why I'd advise you to use absolute paths like in the example.
44
+ *
45
+ */
46
+ <component lightWeight="true">
47
+ <attach event="onpropertychange" onevent="checkPropertyChange()" />
48
+ <attach event="ondetach" onevent="restore()" />
49
+ <attach event="onresize" for="window" onevent="update()" />
50
+ <script type="text/javascript">
51
+ //<![CDATA[
52
+
53
+ var viewportwidth = (typeof window.innerWidth != 'undefined' ? window.innerWidth : element.document.documentElement.clientWidth);
54
+
55
+ // Shortcut for the document object
56
+ var doc = element.document;
57
+
58
+ // Buffer for multiple resize events
59
+ var resizetimeout = null;
60
+
61
+ // Don't apply box-sizing to certain elements
62
+ var apply = false;
63
+ switch(element.nodeName){
64
+ case '#comment':
65
+ case 'HTML':
66
+ case 'HEAD':
67
+ case 'TITLE':
68
+ case 'SCRIPT':
69
+ case 'STYLE':
70
+ case 'LINK':
71
+ case 'META':
72
+ break;
73
+
74
+ default:
75
+ apply = true;
76
+ break;
77
+ }
78
+
79
+ /*
80
+ * update gets called during resize events, then waits until there are no further resize events, and finally triggers a recalculation
81
+ */
82
+ function update(){
83
+ if(resizetimeout !== null){
84
+ window.clearTimeout(resizetimeout);
85
+ }
86
+ resizetimeout = window.setTimeout(function(){
87
+ restore();
88
+ init();
89
+ resizetimeout = null;
90
+ },100);
91
+ }
92
+
93
+ /*
94
+ * restore gets called when the behavior is being detached (see event binding at the top),
95
+ * resets everything like it was before applying the behavior
96
+ */
97
+ function restore(){
98
+ if(apply){
99
+ try{
100
+ element.runtimeStyle.removeAttribute("width");
101
+ element.runtimeStyle.removeAttribute("height");
102
+ }
103
+ catch(e){}
104
+ }
105
+ }
106
+
107
+ /*
108
+ * init gets called once at the start and then never again,
109
+ * triggers box-sizing calculations and updates width and height
110
+ */
111
+ function init(){
112
+ if(apply){
113
+ updateBorderBoxWidth();
114
+ updateBorderBoxHeight();
115
+ }
116
+ }
117
+
118
+ /*
119
+ * checkPropertyChange gets called as soon as an element property changes
120
+ * (see event binding at the top), it then checks if any property influencing its
121
+ * dimensions was changed and if yes recalculates width and height
122
+ */
123
+ function checkPropertyChange(){
124
+ if(apply){
125
+ var pn = event.propertyName;
126
+ if(pn === "style.boxSizing" && element.style.boxSizing === ""){
127
+ element.style.removeAttribute("boxSizing");
128
+ element.runtimeStyle.removeAttribute("boxSizing");
129
+ element.runtimeStyle.removeAttribute("width");
130
+ element.runtimeStyle.removeAttribute("height");
131
+ }
132
+ switch (pn){
133
+ case "style.width":
134
+ case "style.minWidth":
135
+ case "style.maxWidth":
136
+ case "style.borderLeftWidth":
137
+ case "style.borderLeftStyle":
138
+ case "style.borderRightWidth":
139
+ case "style.borderRightStyle":
140
+ case "style.paddingLeft":
141
+ case "style.paddingRight":
142
+ updateBorderBoxWidth();
143
+ break;
144
+
145
+ case "style.height":
146
+ case "style.minHeight":
147
+ case "style.maxHeight":
148
+ case "style.borderTopWidth":
149
+ case "style.borderTopStyle":
150
+ case "style.borderBottomWidth":
151
+ case "style.borderBottomStyle":
152
+ case "style.paddingTop":
153
+ case "style.paddingBottom":
154
+ updateBorderBoxHeight();
155
+ break;
156
+
157
+ case "className":
158
+ case "style.boxSizing":
159
+ updateBorderBoxWidth();
160
+ updateBorderBoxHeight();
161
+ break;
162
+ }
163
+ }
164
+ }
165
+
166
+ /*
167
+ * Helper function, taken from Dean Edward's IE7 framework,
168
+ * added by Schepp on 12.06.2010.
169
+ * http://code.google.com/p/ie7-js/
170
+ *
171
+ * Allows us to convert from relative to pixel-values.
172
+ */
173
+ function getPixelValue(value){
174
+ var PIXEL = /^\d+(px)?$/i;
175
+ if (PIXEL.test(value)) return parseInt(value);
176
+ var style = element.style.left;
177
+ var runtimeStyle = element.runtimeStyle.left;
178
+ element.runtimeStyle.left = element.currentStyle.left;
179
+ element.style.left = value || 0;
180
+ value = parseInt(element.style.pixelLeft);
181
+ element.style.left = style;
182
+ element.runtimeStyle.left = runtimeStyle;
183
+
184
+ return value;
185
+ }
186
+
187
+ function getPixelWidth(object, value){
188
+ // For Pixel Values
189
+ var PIXEL = /^\d+(px)?$/i;
190
+ if (PIXEL.test(value)) return parseInt(value);
191
+
192
+ // For Percentage Values
193
+ var PERCENT = /^[\d\.]+%$/i;
194
+ if (PERCENT.test(value)){
195
+ try{
196
+ var parentPaddingLeft = getPixelWidth(object.parentElement,object.parentElement.currentStyle.paddingLeft);
197
+ var parentPaddingRight = getPixelWidth(object.parentElement,object.parentElement.currentStyle.paddingRight);
198
+ var parentBorderLeft = getPixelWidth(object.parentElement,object.parentElement.currentStyle.borderLeft);
199
+ var parentBorderRight = getPixelWidth(object.parentElement,object.parentElement.currentStyle.borderRight);
200
+
201
+ //var parentWidth = getPixelWidth(object.parentElement,(object.parentElement.currentStyle.width != "auto" ? object.parentElement.currentStyle.width : "100%"));
202
+ var parentWidth = object.parentElement.offsetWidth - parentPaddingLeft - parentPaddingRight - parentBorderLeft - parentBorderRight;
203
+ var value = (parseFloat(value) / 100) * parentWidth;
204
+ }
205
+ catch(e){
206
+ var value = (parseFloat(value) / 100) * element.document.documentElement.clientWidth;
207
+ }
208
+ return parseInt(value);
209
+ }
210
+
211
+ // For EM Values
212
+ var style = object.style.left;
213
+ var runtimeStyle = object.runtimeStyle.left;
214
+ object.runtimeStyle.left = object.currentStyle.left;
215
+ object.style.left = value || 0;
216
+ value = parseInt(object.style.pixelLeft);
217
+ object.style.left = style;
218
+ object.runtimeStyle.left = runtimeStyle;
219
+
220
+ return value;
221
+ }
222
+
223
+ function getPixelHeight(object, value){
224
+ // For Pixel Values
225
+ var PIXEL = /^\d+(px)?$/i;
226
+ if (PIXEL.test(value)) return parseInt(value);
227
+
228
+ // For Percentage Values
229
+ var PERCENT = /^[\d\.]+%$/i;
230
+ if (PERCENT.test(value)){
231
+ try{
232
+ if(object.parentElement.currentStyle.height != "auto"){
233
+ switch(object.parentElement.nodeName){
234
+ default:
235
+ if(object.parentElement.currentStyle.height !== "auto"){
236
+ var parentPaddingTop = getPixelWidth(object.parentElement,object.parentElement.currentStyle.paddingTop);
237
+ var parentPaddingBottom = getPixelWidth(object.parentElement,object.parentElement.currentStyle.paddingBottom);
238
+ var parentBorderTop = getPixelWidth(object.parentElement,object.parentElement.currentStyle.borderTop);
239
+ var parentBorderBottom = getPixelWidth(object.parentElement,object.parentElement.currentStyle.borderBottom);
240
+
241
+ var parentHeight = object.parentElement.offsetHeight - parentPaddingTop - parentPaddingBottom - parentBorderTop - parentBorderBottom;
242
+ //var parentHeight = getPixelHeight(object.parentElement,object.parentElement.currentStyle.height);
243
+
244
+ value = (parseFloat(value) / 100) * parentHeight;
245
+ }
246
+ else {
247
+ value = "auto";
248
+ }
249
+ break;
250
+
251
+ case 'HTML':
252
+ parentHeight = element.document.documentElement.clientHeight;
253
+ if(parentHeight !== "auto"){
254
+ value = (parseFloat(value) / 100) * parentHeight;
255
+ }
256
+ else {
257
+ value = "auto";
258
+ }
259
+ break;
260
+ }
261
+ if(value !== "auto") value = parseInt(value);
262
+ }
263
+ else {
264
+ value = "auto";
265
+ }
266
+ }
267
+ catch(e){
268
+ value = "auto";
269
+ }
270
+ return value;
271
+ }
272
+
273
+ // For EM Values
274
+ var style = object.style.left;
275
+ var runtimeStyle = object.runtimeStyle.left;
276
+ object.runtimeStyle.left = object.currentStyle.left;
277
+ object.style.left = value || 0;
278
+ value = parseInt(object.style.pixelLeft);
279
+ object.style.left = style;
280
+ object.runtimeStyle.left = runtimeStyle;
281
+
282
+ return value;
283
+ }
284
+
285
+
286
+ /*
287
+ * getBorderWidth & friends
288
+ * Border width getters
289
+ */
290
+ function getBorderWidth(sSide){
291
+ if(element.currentStyle["border" + sSide + "Style"] == "none"){
292
+ return 0;
293
+ }
294
+ var n = getPixelValue(element.currentStyle["border" + sSide + "Width"]);
295
+ return n || 0;
296
+ }
297
+ function getBorderLeftWidth() { return getBorderWidth("Left"); }
298
+ function getBorderRightWidth() { return getBorderWidth("Right"); }
299
+ function getBorderTopWidth() { return getBorderWidth("Top"); }
300
+ function getBorderBottomWidth() { return getBorderWidth("Bottom"); }
301
+
302
+
303
+ /*
304
+ * getPadding & friends
305
+ * Padding width getters
306
+ */
307
+ function getPadding(sSide) {
308
+ var n = getPixelValue(element.currentStyle["padding" + sSide]);
309
+ return n || 0;
310
+ }
311
+ function getPaddingLeft() { return getPadding("Left"); }
312
+ function getPaddingRight() { return getPadding("Right"); }
313
+ function getPaddingTop() { return getPadding("Top"); }
314
+ function getPaddingBottom() { return getPadding("Bottom"); }
315
+
316
+
317
+
318
+ /*
319
+ * getBoxSizing
320
+ * Get the box-sizing value for the current element
321
+ */
322
+ function getBoxSizing(){
323
+ var s = element.style;
324
+ var cs = element.currentStyle
325
+ if(typeof s.boxSizing != "undefined" && s.boxSizing != ""){
326
+ return s.boxSizing;
327
+ }
328
+ if(typeof s["box-sizing"] != "undefined" && s["box-sizing"] != ""){
329
+ return s["box-sizing"];
330
+ }
331
+ if(typeof cs.boxSizing != "undefined" && cs.boxSizing != ""){
332
+ return cs.boxSizing;
333
+ }
334
+ if(typeof cs["box-sizing"] != "undefined" && cs["box-sizing"] != ""){
335
+ return cs["box-sizing"];
336
+ }
337
+ return getDocumentBoxSizing();
338
+ }
339
+
340
+
341
+ /*
342
+ * getDocumentBoxSizing
343
+ * Get the default document box sizing (check for quirks mode)
344
+ */
345
+ function getDocumentBoxSizing(){
346
+ if(doc.compatMode === null || doc.compatMode === "BackCompat"){
347
+ return "border-box";
348
+ }
349
+ return "content-box"
350
+ }
351
+
352
+
353
+ /*
354
+ * setBorderBoxWidth & friends
355
+ * Width and height setters
356
+ */
357
+ function setBorderBoxWidth(n){
358
+ element.runtimeStyle.width = Math.max(0, n - getBorderLeftWidth() -
359
+ getPaddingLeft() - getPaddingRight() - getBorderRightWidth()) + "px";
360
+ }
361
+ function setBorderBoxMinWidth(n){
362
+ element.runtimeStyle.minWidth = Math.max(0, n - getBorderLeftWidth() -
363
+ getPaddingLeft() - getPaddingRight() - getBorderRightWidth()) + "px";
364
+ }
365
+ function setBorderBoxMaxWidth(n){
366
+ element.runtimeStyle.maxWidth = Math.max(0, n - getBorderLeftWidth() -
367
+ getPaddingLeft() - getPaddingRight() - getBorderRightWidth()) + "px";
368
+ }
369
+ function setBorderBoxHeight(n){
370
+ element.runtimeStyle.height = Math.max(0, n - getBorderTopWidth() -
371
+ getPaddingTop() - getPaddingBottom() - getBorderBottomWidth()) + "px";
372
+ }
373
+ function setBorderBoxMinHeight(n){
374
+ element.runtimeStyle.minHeight = Math.max(0, n - getBorderTopWidth() -
375
+ getPaddingTop() - getPaddingBottom() - getBorderBottomWidth()) + "px";
376
+ }
377
+ function setBorderBoxMaxHeight(n){
378
+ element.runtimeStyle.maxHeight = Math.max(0, n - getBorderTopWidth() -
379
+ getPaddingTop() - getPaddingBottom() - getBorderBottomWidth()) + "px";
380
+ }
381
+ function setContentBoxWidth(n){
382
+ element.runtimeStyle.width = Math.max(0, n + getBorderLeftWidth() +
383
+ getPaddingLeft() + getPaddingRight() + getBorderRightWidth()) + "px";
384
+ }
385
+ function setContentBoxMinWidth(n){
386
+ element.runtimeStyle.minWidth = Math.max(0, n + getBorderLeftWidth() +
387
+ getPaddingLeft() + getPaddingRight() + getBorderRightWidth()) + "px";
388
+ }
389
+ function setContentBoxMaxWidth(n){
390
+ element.runtimeStyle.maxWidth = Math.max(0, n + getBorderLeftWidth() +
391
+ getPaddingLeft() + getPaddingRight() + getBorderRightWidth()) + "px";
392
+ }
393
+ function setContentBoxHeight(n){
394
+ element.runtimeStyle.height = Math.max(0, n + getBorderTopWidth() +
395
+ getPaddingTop() + getPaddingBottom() + getBorderBottomWidth()) + "px";
396
+ }
397
+ function setContentBoxMinHeight(n){
398
+ element.runtimeStyle.minHeight = Math.max(0, n + getBorderTopWidth() +
399
+ getPaddingTop() + getPaddingBottom() + getBorderBottomWidth()) + "px";
400
+ }
401
+ function setContentBoxMaxHeight(n){
402
+ element.runtimeStyle.maxHeight = Math.max(0, n + getBorderTopWidth() +
403
+ getPaddingTop() + getPaddingBottom() + getBorderBottomWidth()) + "px";
404
+ }
405
+
406
+
407
+ /*
408
+ * updateBorderBoxWidth & updateBorderBoxHeight
409
+ *
410
+ */
411
+ function updateBorderBoxWidth() {
412
+ if(getDocumentBoxSizing() == getBoxSizing()){
413
+ return;
414
+ }
415
+
416
+ var csw = element.currentStyle.width;
417
+ if(csw != "auto"){
418
+ csw = getPixelWidth(element,csw);
419
+ if(getBoxSizing() == "border-box"){
420
+ setBorderBoxWidth(parseInt(csw));
421
+ }
422
+ else{
423
+ setContentBoxWidth(parseInt(csw));
424
+ }
425
+ }
426
+
427
+ csw = element.currentStyle.minWidth;
428
+ if(csw != "none"){
429
+ csw = getPixelWidth(element,csw);
430
+ if(getBoxSizing() == "border-box"){
431
+ setBorderBoxMinWidth(parseInt(csw));
432
+ }
433
+ else{
434
+ setContentBoxMinWidth(parseInt(csw));
435
+ }
436
+ }
437
+
438
+ csw = element.currentStyle.maxWidth;
439
+ if(csw != "none"){
440
+ csw = getPixelWidth(element,csw);
441
+ if(getBoxSizing() == "border-box"){
442
+ setBorderBoxMaxWidth(parseInt(csw));
443
+ }
444
+ else{
445
+ setContentBoxMaxWidth(parseInt(csw));
446
+ }
447
+ }
448
+ }
449
+
450
+ function updateBorderBoxHeight() {
451
+ if(getDocumentBoxSizing() == getBoxSizing()){
452
+ return;
453
+ }
454
+
455
+ var csh = element.currentStyle.height;
456
+ if(csh != "auto"){
457
+ csh = getPixelHeight(element,csh);
458
+ if(csh !== "auto"){
459
+ if(getBoxSizing() == "border-box"){
460
+ setBorderBoxHeight(parseInt(csh));
461
+ }
462
+ else{
463
+ setContentBoxHeight(parseInt(csh));
464
+ }
465
+ }
466
+ }
467
+
468
+ csh = element.currentStyle.minHeight;
469
+ if(csh != "none"){
470
+ csh = getPixelHeight(element,csh);
471
+ if(csh !== "none"){
472
+ if(getBoxSizing() == "border-box"){
473
+ setBorderBoxMinHeight(parseInt(csh));
474
+ }
475
+ else{
476
+ setContentBoxMinHeight(parseInt(csh));
477
+ }
478
+ }
479
+ }
480
+
481
+ csh = element.currentStyle.maxHeight;
482
+ if(csh != "none"){
483
+ csh = getPixelHeight(element,csh);
484
+ if(csh !== "none"){
485
+ if(getBoxSizing() == "border-box"){
486
+ setBorderBoxMaxHeight(parseInt(csh));
487
+ }
488
+ else{
489
+ setContentBoxMaxHeight(parseInt(csh));
490
+ }
491
+ }
492
+ }
493
+ }
494
+
495
+
496
+ // Run the calculations
497
+ init();
498
+
499
+ //]]>
500
+ </script>
501
+ </component>