easycomments 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +14 -0
  5. data/LICENSE +21 -0
  6. data/README.md +92 -0
  7. data/Rakefile +49 -0
  8. data/_config.yml +28 -0
  9. data/bin/ec +45 -0
  10. data/config.ru +12 -0
  11. data/dashboard.rb +57 -0
  12. data/easycomments.gemspec +22 -0
  13. data/ec.rb +43 -0
  14. data/lib/easycomments/ec_configuration.rb +42 -0
  15. data/lib/easycomments/ec_dashboard_model.rb +70 -0
  16. data/lib/easycomments/ec_model.rb +47 -0
  17. data/lib/easycomments.rb +14 -0
  18. data/public/bower.json +32 -0
  19. data/public/bower_components/core-a11y-keys/.bower.json +28 -0
  20. data/public/bower_components/core-a11y-keys/README.md +4 -0
  21. data/public/bower_components/core-a11y-keys/bower.json +18 -0
  22. data/public/bower_components/core-a11y-keys/core-a11y-keys.html +335 -0
  23. data/public/bower_components/core-a11y-keys/demo.html +41 -0
  24. data/public/bower_components/core-a11y-keys/index.html +22 -0
  25. data/public/bower_components/core-ajax/.bower.json +22 -0
  26. data/public/bower_components/core-ajax/README.md +4 -0
  27. data/public/bower_components/core-ajax/bower.json +11 -0
  28. data/public/bower_components/core-ajax/core-ajax.html +434 -0
  29. data/public/bower_components/core-ajax/core-xhr.html +116 -0
  30. data/public/bower_components/core-ajax/demo-progress.html +65 -0
  31. data/public/bower_components/core-ajax/demo.html +43 -0
  32. data/public/bower_components/core-ajax/index.html +22 -0
  33. data/public/bower_components/core-ajax/metadata.html +23 -0
  34. data/public/bower_components/core-ajax/test/core-ajax-progress.html +108 -0
  35. data/public/bower_components/core-ajax/test/core-ajax-race.html +81 -0
  36. data/public/bower_components/core-ajax/test/core-ajax.html +287 -0
  37. data/public/bower_components/core-ajax/test/index.html +17 -0
  38. data/public/bower_components/core-collapse/.bower.json +21 -0
  39. data/public/bower_components/core-collapse/README.md +4 -0
  40. data/public/bower_components/core-collapse/bower.json +11 -0
  41. data/public/bower_components/core-collapse/core-collapse.css +16 -0
  42. data/public/bower_components/core-collapse/core-collapse.html +298 -0
  43. data/public/bower_components/core-collapse/demo.html +75 -0
  44. data/public/bower_components/core-collapse/index.html +22 -0
  45. data/public/bower_components/core-collapse/test/basic.html +85 -0
  46. data/public/bower_components/core-collapse/test/index.html +24 -0
  47. data/public/bower_components/core-component-page/.bower.json +19 -0
  48. data/public/bower_components/core-component-page/README.md +6 -0
  49. data/public/bower_components/core-component-page/bowager-logo.png +0 -0
  50. data/public/bower_components/core-component-page/bower.json +9 -0
  51. data/public/bower_components/core-component-page/core-component-page.html +37 -0
  52. data/public/bower_components/core-component-page/demo.html +23 -0
  53. data/public/bower_components/core-component-page/index.html +22 -0
  54. data/public/bower_components/core-drawer-panel/.bower.json +19 -0
  55. data/public/bower_components/core-drawer-panel/README.md +4 -0
  56. data/public/bower_components/core-drawer-panel/bower.json +9 -0
  57. data/public/bower_components/core-drawer-panel/core-drawer-panel.css +160 -0
  58. data/public/bower_components/core-drawer-panel/core-drawer-panel.html +418 -0
  59. data/public/bower_components/core-drawer-panel/demo.html +68 -0
  60. data/public/bower_components/core-drawer-panel/index.html +22 -0
  61. data/public/bower_components/core-drawer-panel/metadata.html +37 -0
  62. data/public/bower_components/core-focusable/.bower.json +18 -0
  63. data/public/bower_components/core-focusable/README.md +6 -0
  64. data/public/bower_components/core-focusable/bower.json +8 -0
  65. data/public/bower_components/core-focusable/core-focusable.html +4 -0
  66. data/public/bower_components/core-focusable/core-focusable.js +134 -0
  67. data/public/bower_components/core-focusable/demo.html +109 -0
  68. data/public/bower_components/core-focusable/polymer-mixin.js +35 -0
  69. data/public/bower_components/core-header-panel/.bower.json +18 -0
  70. data/public/bower_components/core-header-panel/README.md +4 -0
  71. data/public/bower_components/core-header-panel/bower.json +8 -0
  72. data/public/bower_components/core-header-panel/core-header-panel.css +78 -0
  73. data/public/bower_components/core-header-panel/core-header-panel.html +277 -0
  74. data/public/bower_components/core-header-panel/demo.html +100 -0
  75. data/public/bower_components/core-header-panel/index.html +23 -0
  76. data/public/bower_components/core-header-panel/metadata.html +37 -0
  77. data/public/bower_components/core-icon/.bower.json +19 -0
  78. data/public/bower_components/core-icon/README.md +4 -0
  79. data/public/bower_components/core-icon/bower.json +9 -0
  80. data/public/bower_components/core-icon/core-icon.css +16 -0
  81. data/public/bower_components/core-icon/core-icon.html +201 -0
  82. data/public/bower_components/core-icon/demo.html +44 -0
  83. data/public/bower_components/core-icon/index.html +22 -0
  84. data/public/bower_components/core-icon/metadata.html +21 -0
  85. data/public/bower_components/core-icon-button/.bower.json +18 -0
  86. data/public/bower_components/core-icon-button/README.md +4 -0
  87. data/public/bower_components/core-icon-button/bower.json +8 -0
  88. data/public/bower_components/core-icon-button/core-icon-button.css +75 -0
  89. data/public/bower_components/core-icon-button/core-icon-button.html +81 -0
  90. data/public/bower_components/core-icon-button/demo.html +35 -0
  91. data/public/bower_components/core-icon-button/index.html +22 -0
  92. data/public/bower_components/core-icon-button/metadata.html +20 -0
  93. data/public/bower_components/core-icons/.bower.json +24 -0
  94. data/public/bower_components/core-icons/.gitignore +2 -0
  95. data/public/bower_components/core-icons/README.md +8 -0
  96. data/public/bower_components/core-icons/av-icons.html +65 -0
  97. data/public/bower_components/core-icons/bower.json +14 -0
  98. data/public/bower_components/core-icons/communication-icons.html +54 -0
  99. data/public/bower_components/core-icons/core-icons.html +278 -0
  100. data/public/bower_components/core-icons/demo.html +98 -0
  101. data/public/bower_components/core-icons/device-icons.html +90 -0
  102. data/public/bower_components/core-icons/editor-icons.html +67 -0
  103. data/public/bower_components/core-icons/hardware-icons.html +56 -0
  104. data/public/bower_components/core-icons/image-icons.html +152 -0
  105. data/public/bower_components/core-icons/index.html +22 -0
  106. data/public/bower_components/core-icons/maps-icons.html +70 -0
  107. data/public/bower_components/core-icons/notification-icons.html +49 -0
  108. data/public/bower_components/core-icons/social-icons.html +39 -0
  109. data/public/bower_components/core-iconset/.bower.json +20 -0
  110. data/public/bower_components/core-iconset/README.md +4 -0
  111. data/public/bower_components/core-iconset/bower.json +10 -0
  112. data/public/bower_components/core-iconset/core-iconset.html +241 -0
  113. data/public/bower_components/core-iconset/demo.html +62 -0
  114. data/public/bower_components/core-iconset/index.html +22 -0
  115. data/public/bower_components/core-iconset/my-icons-big.png +0 -0
  116. data/public/bower_components/core-iconset/my-icons.png +0 -0
  117. data/public/bower_components/core-iconset-svg/.bower.json +19 -0
  118. data/public/bower_components/core-iconset-svg/README.md +4 -0
  119. data/public/bower_components/core-iconset-svg/bower.json +9 -0
  120. data/public/bower_components/core-iconset-svg/core-iconset-svg.html +168 -0
  121. data/public/bower_components/core-iconset-svg/demo.html +66 -0
  122. data/public/bower_components/core-iconset-svg/index.html +22 -0
  123. data/public/bower_components/core-iconset-svg/svg-sample-icons.html +68 -0
  124. data/public/bower_components/core-input/.bower.json +20 -0
  125. data/public/bower_components/core-input/README.md +2 -0
  126. data/public/bower_components/core-input/bower.json +10 -0
  127. data/public/bower_components/core-input/core-input.css +41 -0
  128. data/public/bower_components/core-input/core-input.html +148 -0
  129. data/public/bower_components/core-input/demo.html +62 -0
  130. data/public/bower_components/core-input/index.html +22 -0
  131. data/public/bower_components/core-input/metadata.html +23 -0
  132. data/public/bower_components/core-input/test/a11y.html +55 -0
  133. data/public/bower_components/core-input/test/basic.html +60 -0
  134. data/public/bower_components/core-input/test/index.html +25 -0
  135. data/public/bower_components/core-item/.bower.json +19 -0
  136. data/public/bower_components/core-item/README.md +4 -0
  137. data/public/bower_components/core-item/bower.json +9 -0
  138. data/public/bower_components/core-item/core-item.css +45 -0
  139. data/public/bower_components/core-item/core-item.html +73 -0
  140. data/public/bower_components/core-item/demo.html +92 -0
  141. data/public/bower_components/core-item/index.html +22 -0
  142. data/public/bower_components/core-item/metadata.html +24 -0
  143. data/public/bower_components/core-media-query/.bower.json +18 -0
  144. data/public/bower_components/core-media-query/README.md +4 -0
  145. data/public/bower_components/core-media-query/bower.json +8 -0
  146. data/public/bower_components/core-media-query/core-media-query.html +87 -0
  147. data/public/bower_components/core-media-query/demo.html +44 -0
  148. data/public/bower_components/core-media-query/index.html +22 -0
  149. data/public/bower_components/core-menu/.bower.json +22 -0
  150. data/public/bower_components/core-menu/README.md +4 -0
  151. data/public/bower_components/core-menu/bower.json +11 -0
  152. data/public/bower_components/core-menu/core-menu.css +18 -0
  153. data/public/bower_components/core-menu/core-menu.html +73 -0
  154. data/public/bower_components/core-menu/core-submenu.css +43 -0
  155. data/public/bower_components/core-menu/core-submenu.html +126 -0
  156. data/public/bower_components/core-menu/demo.html +101 -0
  157. data/public/bower_components/core-menu/index.html +22 -0
  158. data/public/bower_components/core-menu/metadata.html +62 -0
  159. data/public/bower_components/core-meta/.bower.json +18 -0
  160. data/public/bower_components/core-meta/README.md +4 -0
  161. data/public/bower_components/core-meta/bower.json +8 -0
  162. data/public/bower_components/core-meta/core-meta.html +145 -0
  163. data/public/bower_components/core-meta/demo.html +58 -0
  164. data/public/bower_components/core-meta/index.html +22 -0
  165. data/public/bower_components/core-overlay/.bower.json +20 -0
  166. data/public/bower_components/core-overlay/README.md +4 -0
  167. data/public/bower_components/core-overlay/bower.json +10 -0
  168. data/public/bower_components/core-overlay/core-key-helper.html +22 -0
  169. data/public/bower_components/core-overlay/core-overlay-layer.html +116 -0
  170. data/public/bower_components/core-overlay/core-overlay.html +776 -0
  171. data/public/bower_components/core-overlay/demo.html +155 -0
  172. data/public/bower_components/core-overlay/gulpfile.js +2 -0
  173. data/public/bower_components/core-overlay/index.html +22 -0
  174. data/public/bower_components/core-overlay/tests/html/core-overlay-basic.html +127 -0
  175. data/public/bower_components/core-overlay/tests/html/core-overlay-positioning-margin.html +153 -0
  176. data/public/bower_components/core-overlay/tests/html/core-overlay-positioning.html +167 -0
  177. data/public/bower_components/core-overlay/tests/html/core-overlay-quick-close.html +45 -0
  178. data/public/bower_components/core-overlay/tests/html/core-overlay-scroll.html +130 -0
  179. data/public/bower_components/core-overlay/tests/js/htmltests.js +7 -0
  180. data/public/bower_components/core-overlay/tests/runner.html +14 -0
  181. data/public/bower_components/core-overlay/tests/tests.json +6 -0
  182. data/public/bower_components/core-pages/.bower.json +19 -0
  183. data/public/bower_components/core-pages/README.md +4 -0
  184. data/public/bower_components/core-pages/bower.json +8 -0
  185. data/public/bower_components/core-pages/core-pages.css +30 -0
  186. data/public/bower_components/core-pages/core-pages.html +44 -0
  187. data/public/bower_components/core-pages/demo.html +136 -0
  188. data/public/bower_components/core-pages/index.html +22 -0
  189. data/public/bower_components/core-pages/metadata.html +25 -0
  190. data/public/bower_components/core-resizable/.bower.json +18 -0
  191. data/public/bower_components/core-resizable/README.md +4 -0
  192. data/public/bower_components/core-resizable/bower.json +8 -0
  193. data/public/bower_components/core-resizable/core-resizable.html +248 -0
  194. data/public/bower_components/core-resizable/index.html +22 -0
  195. data/public/bower_components/core-resizable/test/basic.html +504 -0
  196. data/public/bower_components/core-resizable/test/index.html +16 -0
  197. data/public/bower_components/core-resizable/test/test-elements.html +66 -0
  198. data/public/bower_components/core-scaffold/.bower.json +22 -0
  199. data/public/bower_components/core-scaffold/README.md +4 -0
  200. data/public/bower_components/core-scaffold/bower.json +11 -0
  201. data/public/bower_components/core-scaffold/core-scaffold.html +252 -0
  202. data/public/bower_components/core-scaffold/demo.html +82 -0
  203. data/public/bower_components/core-scaffold/index.html +22 -0
  204. data/public/bower_components/core-scaffold/metadata.html +52 -0
  205. data/public/bower_components/core-selection/.bower.json +21 -0
  206. data/public/bower_components/core-selection/README.md +4 -0
  207. data/public/bower_components/core-selection/bower.json +11 -0
  208. data/public/bower_components/core-selection/core-selection.html +149 -0
  209. data/public/bower_components/core-selection/demo.html +59 -0
  210. data/public/bower_components/core-selection/index.html +22 -0
  211. data/public/bower_components/core-selection/test/basic.html +62 -0
  212. data/public/bower_components/core-selection/test/index.html +25 -0
  213. data/public/bower_components/core-selection/test/multi.html +63 -0
  214. data/public/bower_components/core-selector/.bower.json +22 -0
  215. data/public/bower_components/core-selector/.gitignore +2 -0
  216. data/public/bower_components/core-selector/README.md +4 -0
  217. data/public/bower_components/core-selector/bower.json +12 -0
  218. data/public/bower_components/core-selector/core-selector.html +548 -0
  219. data/public/bower_components/core-selector/demo.html +106 -0
  220. data/public/bower_components/core-selector/index.html +22 -0
  221. data/public/bower_components/core-selector/metadata.html +20 -0
  222. data/public/bower_components/core-selector/test/activate-event.html +63 -0
  223. data/public/bower_components/core-selector/test/basic.html +126 -0
  224. data/public/bower_components/core-selector/test/content.html +101 -0
  225. data/public/bower_components/core-selector/test/index.html +30 -0
  226. data/public/bower_components/core-selector/test/multi.html +115 -0
  227. data/public/bower_components/core-selector/test/next-previous.html +113 -0
  228. data/public/bower_components/core-selector/test/selected-attr-prop.html +62 -0
  229. data/public/bower_components/core-selector/test/template-repeat.html +63 -0
  230. data/public/bower_components/core-style/.bower.json +18 -0
  231. data/public/bower_components/core-style/README.md +4 -0
  232. data/public/bower_components/core-style/bower.json +8 -0
  233. data/public/bower_components/core-style/core-style.html +387 -0
  234. data/public/bower_components/core-style/demo.html +58 -0
  235. data/public/bower_components/core-style/elements.html +55 -0
  236. data/public/bower_components/core-style/index.html +22 -0
  237. data/public/bower_components/core-style/my-theme.html +73 -0
  238. data/public/bower_components/core-toolbar/.bower.json +19 -0
  239. data/public/bower_components/core-toolbar/README.md +4 -0
  240. data/public/bower_components/core-toolbar/bower.json +9 -0
  241. data/public/bower_components/core-toolbar/core-toolbar.css +117 -0
  242. data/public/bower_components/core-toolbar/core-toolbar.html +155 -0
  243. data/public/bower_components/core-toolbar/demo.html +119 -0
  244. data/public/bower_components/core-toolbar/index.html +22 -0
  245. data/public/bower_components/core-toolbar/metadata.html +28 -0
  246. data/public/bower_components/core-toolbar/test/basic.html +86 -0
  247. data/public/bower_components/core-toolbar/test/index.html +24 -0
  248. data/public/bower_components/core-transition/.bower.json +19 -0
  249. data/public/bower_components/core-transition/README.md +2 -0
  250. data/public/bower_components/core-transition/bower.json +9 -0
  251. data/public/bower_components/core-transition/core-transition-css.html +220 -0
  252. data/public/bower_components/core-transition/core-transition-overlay.css +46 -0
  253. data/public/bower_components/core-transition/core-transition.html +140 -0
  254. data/public/bower_components/core-transition/demo.html +87 -0
  255. data/public/bower_components/core-transition/index.html +22 -0
  256. data/public/bower_components/font-roboto/.bower.json +15 -0
  257. data/public/bower_components/font-roboto/roboto.html +9 -0
  258. data/public/bower_components/paper-button/.bower.json +27 -0
  259. data/public/bower_components/paper-button/README.md +4 -0
  260. data/public/bower_components/paper-button/bower.json +16 -0
  261. data/public/bower_components/paper-button/demo.html +157 -0
  262. data/public/bower_components/paper-button/index.html +22 -0
  263. data/public/bower_components/paper-button/metadata.html +17 -0
  264. data/public/bower_components/paper-button/paper-button-base.html +164 -0
  265. data/public/bower_components/paper-button/paper-button.html +197 -0
  266. data/public/bower_components/paper-button/test/index.html +24 -0
  267. data/public/bower_components/paper-button/test/paper-button.html +112 -0
  268. data/public/bower_components/paper-icon-button/.bower.json +25 -0
  269. data/public/bower_components/paper-icon-button/README.md +4 -0
  270. data/public/bower_components/paper-icon-button/bower.json +15 -0
  271. data/public/bower_components/paper-icon-button/demo.html +150 -0
  272. data/public/bower_components/paper-icon-button/index.html +22 -0
  273. data/public/bower_components/paper-icon-button/metadata.html +21 -0
  274. data/public/bower_components/paper-icon-button/paper-icon-button.html +154 -0
  275. data/public/bower_components/paper-icon-button/test/a11y.html +68 -0
  276. data/public/bower_components/paper-icon-button/test/basic.html +50 -0
  277. data/public/bower_components/paper-icon-button/test/index.html +25 -0
  278. data/public/bower_components/paper-input/.bower.json +26 -0
  279. data/public/bower_components/paper-input/.gitignore +1 -0
  280. data/public/bower_components/paper-input/README.md +4 -0
  281. data/public/bower_components/paper-input/bower.json +15 -0
  282. data/public/bower_components/paper-input/demo.html +236 -0
  283. data/public/bower_components/paper-input/index.html +22 -0
  284. data/public/bower_components/paper-input/metadata.html +20 -0
  285. data/public/bower_components/paper-input/paper-autogrow-textarea.html +162 -0
  286. data/public/bower_components/paper-input/paper-char-counter.html +121 -0
  287. data/public/bower_components/paper-input/paper-input-decorator.css +132 -0
  288. data/public/bower_components/paper-input/paper-input-decorator.html +547 -0
  289. data/public/bower_components/paper-input/paper-input.html +145 -0
  290. data/public/bower_components/paper-input/test/index.html +26 -0
  291. data/public/bower_components/paper-input/test/paper-autogrow-textarea.html +146 -0
  292. data/public/bower_components/paper-input/test/paper-input-decorator.html +240 -0
  293. data/public/bower_components/paper-input/test/paper-input.html +68 -0
  294. data/public/bower_components/paper-input/test/util.js +15 -0
  295. data/public/bower_components/paper-radio-button/.bower.json +22 -0
  296. data/public/bower_components/paper-radio-button/README.md +4 -0
  297. data/public/bower_components/paper-radio-button/bower.json +12 -0
  298. data/public/bower_components/paper-radio-button/demo.html +84 -0
  299. data/public/bower_components/paper-radio-button/index.html +22 -0
  300. data/public/bower_components/paper-radio-button/metadata.html +17 -0
  301. data/public/bower_components/paper-radio-button/paper-radio-button.css +108 -0
  302. data/public/bower_components/paper-radio-button/paper-radio-button.html +166 -0
  303. data/public/bower_components/paper-ripple/.bower.json +23 -0
  304. data/public/bower_components/paper-ripple/README.md +4 -0
  305. data/public/bower_components/paper-ripple/bower.json +13 -0
  306. data/public/bower_components/paper-ripple/demo.html +414 -0
  307. data/public/bower_components/paper-ripple/index.html +22 -0
  308. data/public/bower_components/paper-ripple/metadata.html +20 -0
  309. data/public/bower_components/paper-ripple/paper-ripple.html +477 -0
  310. data/public/bower_components/paper-ripple/test/index.html +24 -0
  311. data/public/bower_components/paper-ripple/test/position.html +109 -0
  312. data/public/bower_components/paper-shadow/.bower.json +22 -0
  313. data/public/bower_components/paper-shadow/README.md +4 -0
  314. data/public/bower_components/paper-shadow/bower.json +11 -0
  315. data/public/bower_components/paper-shadow/demo.html +134 -0
  316. data/public/bower_components/paper-shadow/index.html +22 -0
  317. data/public/bower_components/paper-shadow/metadata.html +17 -0
  318. data/public/bower_components/paper-shadow/paper-shadow.css +66 -0
  319. data/public/bower_components/paper-shadow/paper-shadow.html +86 -0
  320. data/public/bower_components/paper-shadow/test/basic.html +62 -0
  321. data/public/bower_components/paper-shadow/test/index.html +24 -0
  322. data/public/bower_components/paper-tabs/.bower.json +26 -0
  323. data/public/bower_components/paper-tabs/README.md +4 -0
  324. data/public/bower_components/paper-tabs/bower.json +15 -0
  325. data/public/bower_components/paper-tabs/demo.html +242 -0
  326. data/public/bower_components/paper-tabs/index.html +22 -0
  327. data/public/bower_components/paper-tabs/metadata.html +58 -0
  328. data/public/bower_components/paper-tabs/paper-tab.css +59 -0
  329. data/public/bower_components/paper-tabs/paper-tab.html +82 -0
  330. data/public/bower_components/paper-tabs/paper-tabs.css +80 -0
  331. data/public/bower_components/paper-tabs/paper-tabs.html +353 -0
  332. data/public/bower_components/paper-toast/.bower.json +22 -0
  333. data/public/bower_components/paper-toast/README.md +4 -0
  334. data/public/bower_components/paper-toast/bower.json +11 -0
  335. data/public/bower_components/paper-toast/demo.html +63 -0
  336. data/public/bower_components/paper-toast/index.html +22 -0
  337. data/public/bower_components/paper-toast/metadata.html +20 -0
  338. data/public/bower_components/paper-toast/paper-toast.css +80 -0
  339. data/public/bower_components/paper-toast/paper-toast.html +296 -0
  340. data/public/bower_components/paper-toggle-button/.bower.json +20 -0
  341. data/public/bower_components/paper-toggle-button/README.md +4 -0
  342. data/public/bower_components/paper-toggle-button/bower.json +9 -0
  343. data/public/bower_components/paper-toggle-button/demo.html +97 -0
  344. data/public/bower_components/paper-toggle-button/index.html +22 -0
  345. data/public/bower_components/paper-toggle-button/metadata.html +17 -0
  346. data/public/bower_components/paper-toggle-button/paper-toggle-button.css +95 -0
  347. data/public/bower_components/paper-toggle-button/paper-toggle-button.html +179 -0
  348. data/public/bower_components/polymer/.bower.json +32 -0
  349. data/public/bower_components/polymer/README.md +21 -0
  350. data/public/bower_components/polymer/bower.json +23 -0
  351. data/public/bower_components/polymer/build.log +26 -0
  352. data/public/bower_components/polymer/layout.html +286 -0
  353. data/public/bower_components/polymer/polymer.html +12 -0
  354. data/public/bower_components/polymer/polymer.js +11859 -0
  355. data/public/bower_components/polymer/polymer.min.js +14 -0
  356. data/public/bower_components/webcomponentsjs/.bower.json +23 -0
  357. data/public/bower_components/webcomponentsjs/CustomElements.js +634 -0
  358. data/public/bower_components/webcomponentsjs/CustomElements.min.js +11 -0
  359. data/public/bower_components/webcomponentsjs/HTMLImports.js +764 -0
  360. data/public/bower_components/webcomponentsjs/HTMLImports.min.js +11 -0
  361. data/public/bower_components/webcomponentsjs/README.md +73 -0
  362. data/public/bower_components/webcomponentsjs/ShadowDOM.js +4277 -0
  363. data/public/bower_components/webcomponentsjs/ShadowDOM.min.js +13 -0
  364. data/public/bower_components/webcomponentsjs/bower.json +14 -0
  365. data/public/bower_components/webcomponentsjs/build.log +31 -0
  366. data/public/bower_components/webcomponentsjs/package.json +31 -0
  367. data/public/bower_components/webcomponentsjs/webcomponents-lite.js +1728 -0
  368. data/public/bower_components/webcomponentsjs/webcomponents-lite.min.js +11 -0
  369. data/public/bower_components/webcomponentsjs/webcomponents.js +6114 -0
  370. data/public/bower_components/webcomponentsjs/webcomponents.min.js +14 -0
  371. data/public/css/main.css +41 -0
  372. data/public/elements/ec-dashboard/ec-dashboard.html +269 -0
  373. data/public/polymer-loader.html +24 -0
  374. data/public/polymer-loader.vulcanized.html +19 -0
  375. data/spec/ec/ec_dashboard_spec.rb +78 -0
  376. data/spec/ec/ec_spec.rb +78 -0
  377. data/spec/spec_helper.rb +27 -0
  378. data/views/index.html +88 -0
  379. metadata +464 -0
@@ -0,0 +1,353 @@
1
+ <!--
2
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
3
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
4
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
6
+ Code distributed by Google as part of the polymer project is also
7
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
8
+ -->
9
+
10
+ <!--
11
+ `paper-tabs` is a `core-selector` styled to look like tabs. Tabs make it easy to
12
+ explore and switch between different views or functional aspects of an app, or
13
+ to browse categorized data sets.
14
+
15
+ Use `selected` property to get or set the selected tab.
16
+
17
+ Example:
18
+
19
+ <paper-tabs selected="0">
20
+ <paper-tab>TAB 1</paper-tab>
21
+ <paper-tab>TAB 2</paper-tab>
22
+ <paper-tab>TAB 3</paper-tab>
23
+ </paper-tabs>
24
+
25
+ See <a href="#paper-tab">paper-tab</a> for more information about
26
+ `paper-tab`.
27
+
28
+ A common usage for `paper-tabs` is to use it along with `core-pages` to switch
29
+ between different views.
30
+
31
+ <paper-tabs selected="{{selected}}">
32
+ <paper-tab>Tab 1</paper-tab>
33
+ <paper-tab>Tab 2</paper-tab>
34
+ <paper-tab>Tab 3</paper-tab>
35
+ </paper-tabs>
36
+
37
+ <core-pages selected="{{selected}}">
38
+ <div>Page 1</div>
39
+ <div>Page 2</div>
40
+ <div>Page 3</div>
41
+ </core-pages>
42
+
43
+ `paper-tabs` adapt to mobile/narrow layout when there is a `core-narrow` class set
44
+ on itself or any of its ancestors.
45
+
46
+ To use links in tabs, add `link` attribute to `paper-tabs` and put an `<a>`
47
+ element in `paper-tab`.
48
+
49
+ Example:
50
+
51
+ <paper-tabs selected="0" link>
52
+ <paper-tab>
53
+ <a href="#link1" horizontal center-center layout>TAB ONE</a>
54
+ </paper-tab>
55
+ <paper-tab>
56
+ <a href="#link2" horizontal center-center layout>TAB TWO</a>
57
+ </paper-tab>
58
+ <paper-tab>
59
+ <a href="#link3" horizontal center-center layout>TAB THREE</a>
60
+ </paper-tab>
61
+ </paper-tabs>
62
+
63
+ Styling tabs:
64
+
65
+ To change the sliding bar color:
66
+
67
+ paper-tabs.pink::shadow #selectionBar {
68
+ background-color: #ff4081;
69
+ }
70
+
71
+ To change the ink ripple color:
72
+
73
+ paper-tabs.pink paper-tab::shadow #ink {
74
+ color: #ff4081;
75
+ }
76
+
77
+ @group Paper Elements
78
+ @element paper-tabs
79
+ @extends core-selector
80
+ @mixins Polymer.CoreResizable https://github.com/polymer/core-resizable
81
+ @homepage github.io
82
+ -->
83
+
84
+ <link rel="import" href="../core-selector/core-selector.html">
85
+ <link rel="import" href="../paper-icon-button/paper-icon-button.html">
86
+ <link rel="import" href="../core-resizable/core-resizable.html">
87
+ <link rel="import" href="paper-tab.html">
88
+
89
+ <polymer-element name="paper-tabs" extends="core-selector" attributes="noink nobar noslide scrollable hideScrollButton alignBottom" role="tablist" horizontal center layout>
90
+ <template>
91
+
92
+ <link rel="stylesheet" href="paper-tabs.css">
93
+
94
+ <div class="scroll-button" hidden?="{{!scrollable || hideScrollButton}}">
95
+ <paper-icon-button icon="chevron-left" class="{{ {hidden: leftHidden} | tokenList }}" on-down="{{holdLeft}}" on-up="{{releaseHold}}"></paper-icon-button>
96
+ </div>
97
+
98
+ <div id="tabsContainer" class="{{ {scrollable: scrollable} | tokenList }}" flex on-scroll="{{scroll}}" on-trackstart="{{trackStart}}">
99
+
100
+ <div id="tabsContent" horizontal layout?="{{!scrollable}}">
101
+ <shadow></shadow>
102
+ <div id="selectionBar" hidden?="{{nobar}}" class="{{ {alignBottom: alignBottom} | tokenList }}" on-transitionend="{{barTransitionEnd}}"></div>
103
+ </div>
104
+
105
+ </div>
106
+
107
+ <div class="scroll-button" hidden?="{{!scrollable || hideScrollButton}}">
108
+ <paper-icon-button icon="chevron-right" class="{{ {hidden: rightHidden} | tokenList }}" on-down="{{holdRight}}" on-up="{{releaseHold}}"></paper-icon-button>
109
+ </div>
110
+
111
+ </template>
112
+ <script>
113
+
114
+ Polymer(Polymer.mixin({
115
+
116
+ /**
117
+ * If true, ink ripple effect is disabled.
118
+ *
119
+ * @attribute noink
120
+ * @type boolean
121
+ * @default false
122
+ */
123
+ noink: false,
124
+
125
+ /**
126
+ * If true, the bottom bar to indicate the selected tab will not be shown.
127
+ *
128
+ * @attribute nobar
129
+ * @type boolean
130
+ * @default false
131
+ */
132
+ nobar: false,
133
+
134
+ /**
135
+ * If true, the slide effect for the bottom bar is disabled.
136
+ *
137
+ * @attribute noslide
138
+ * @type boolean
139
+ * @default false
140
+ */
141
+ noslide: false,
142
+
143
+ /**
144
+ * If true, tabs are scrollable and the tab width is based on the label width.
145
+ *
146
+ * @attribute scrollable
147
+ * @type boolean
148
+ * @default false
149
+ */
150
+ scrollable: false,
151
+
152
+ /**
153
+ * If true, dragging on the tabs to scroll is disabled.
154
+ *
155
+ * @attribute disableDrag
156
+ * @type boolean
157
+ * @default false
158
+ */
159
+ disableDrag: false,
160
+
161
+ /**
162
+ * If true, scroll buttons (left/right arrow) will be hidden for scrollable tabs.
163
+ *
164
+ * @attribute hideScrollButton
165
+ * @type boolean
166
+ * @default false
167
+ */
168
+ hideScrollButton: false,
169
+
170
+ /**
171
+ * If true, the tabs are aligned to bottom (the selection bar appears at the top).
172
+ *
173
+ @attribute alignBottom
174
+ @type boolean
175
+ @default false
176
+ */
177
+ alignBottom: false,
178
+
179
+ eventDelegates: {
180
+ 'core-resize': 'resizeHandler'
181
+ },
182
+
183
+ activateEvent: 'tap',
184
+
185
+ step: 10,
186
+
187
+ holdDelay: 10,
188
+
189
+ ready: function() {
190
+ this.super();
191
+ this._trackxHandler = this.trackx.bind(this);
192
+ Polymer.addEventListener(this.$.tabsContainer, 'trackx', this._trackxHandler);
193
+ this._tabsObserver = new MutationObserver(this.updateBar.bind(this));
194
+ },
195
+
196
+ domReady: function() {
197
+ this.async('resizeHandler');
198
+ this._tabsObserver.observe(this, {childList: true, subtree: true, characterData: true});
199
+ },
200
+
201
+ attached: function() {
202
+ this.resizableAttachedHandler();
203
+ },
204
+
205
+ detached: function() {
206
+ Polymer.removeEventListener(this.$.tabsContainer, 'trackx', this._trackxHandler);
207
+ this._tabsObserver.disconnect();
208
+ this.resizableDetachedHandler();
209
+ },
210
+
211
+ trackStart: function(e) {
212
+ if (!this.scrollable || this.disableDrag) {
213
+ return;
214
+ }
215
+ var t = e.target;
216
+ if (t && t.cancelRipple) {
217
+ t.cancelRipple();
218
+ }
219
+ this._startx = this.$.tabsContainer.scrollLeft;
220
+ e.preventTap();
221
+ },
222
+
223
+ trackx: function(e) {
224
+ if (!this.scrollable || this.disableDrag) {
225
+ return;
226
+ }
227
+ this.$.tabsContainer.scrollLeft = this._startx - e.dx;
228
+ },
229
+
230
+ resizeHandler: function() {
231
+ this.scroll();
232
+ this.updateBar();
233
+ },
234
+
235
+ scroll: function() {
236
+ if (!this.scrollable) {
237
+ return;
238
+ }
239
+ var tc = this.$.tabsContainer;
240
+ var l = tc.scrollLeft;
241
+ this.leftHidden = l === 0;
242
+ this.rightHidden = l === Math.max(0, (tc.scrollWidth - tc.clientWidth));
243
+ },
244
+
245
+ holdLeft: function() {
246
+ this.holdJob = setInterval(this.scrollToLeft.bind(this), this.holdDelay);
247
+ },
248
+
249
+ holdRight: function() {
250
+ this.holdJob = setInterval(this.scrollToRight.bind(this), this.holdDelay);
251
+ },
252
+
253
+ releaseHold: function() {
254
+ clearInterval(this.holdJob);
255
+ this.holdJob = null;
256
+ },
257
+
258
+ scrollToLeft: function() {
259
+ this.$.tabsContainer.scrollLeft -= this.step;
260
+ },
261
+
262
+ scrollToRight: function() {
263
+ this.$.tabsContainer.scrollLeft += this.step;
264
+ },
265
+
266
+ /**
267
+ * Invoke this to update the size and position of the bottom bar. Usually
268
+ * you only need to call this if the `paper-tabs` is initially hidden and
269
+ * later becomes visible.
270
+ *
271
+ * @method updateBar
272
+ */
273
+ updateBar: function() {
274
+ this.async('selectedItemChanged');
275
+ },
276
+
277
+ selectedItemChanged: function(old) {
278
+ var oldIndex = this.selectedIndex;
279
+ this.super(arguments);
280
+ var s = this.$.selectionBar.style;
281
+
282
+ if (!this.selectedItem) {
283
+ s.width = 0;
284
+ s.left = 0;
285
+ return;
286
+ }
287
+
288
+ var r = this.$.tabsContent.getBoundingClientRect();
289
+ this._w = r.width;
290
+ this._l = r.left;
291
+
292
+ r = this.selectedItem.getBoundingClientRect();
293
+ this._sw = r.width;
294
+ this._sl = r.left;
295
+ this._sOffsetLeft = this._sl - this._l;
296
+
297
+ if (this.noslide || old == null) {
298
+ this.positionBarForSelected();
299
+ return;
300
+ }
301
+
302
+ var oldRect = old.getBoundingClientRect();
303
+
304
+ var m = 5;
305
+ this.$.selectionBar.classList.add('expand');
306
+ if (oldIndex < this.selectedIndex) {
307
+ s.width = this.calcPercent(this._sl + this._sw - oldRect.left) - m + '%';
308
+ this._transitionCounter = 1;
309
+ } else {
310
+ s.width = this.calcPercent(oldRect.left + oldRect.width - this._sl) - m + '%';
311
+ s.left = this.calcPercent(this._sOffsetLeft) + m + '%';
312
+ this._transitionCounter = 2;
313
+ }
314
+ if (this.scrollable) {
315
+ this.scrollToSelectedIfNeeded();
316
+ }
317
+ },
318
+
319
+ scrollToSelectedIfNeeded: function() {
320
+ var scrollLeft = this.$.tabsContainer.scrollLeft;
321
+ // scroll to selected if needed
322
+ if (this._sOffsetLeft + this._sw < scrollLeft ||
323
+ this._sOffsetLeft - scrollLeft > this.$.tabsContainer.offsetWidth) {
324
+ this.$.tabsContainer.scrollLeft = this._sOffsetLeft;
325
+ }
326
+ },
327
+
328
+ positionBarForSelected: function() {
329
+ var s = this.$.selectionBar.style;
330
+ s.width = this.calcPercent(this._sw) + '%';
331
+ s.left = this.calcPercent(this._sOffsetLeft) + '%';
332
+ },
333
+
334
+ calcPercent: function(w) {
335
+ return 100 * w / this._w;
336
+ },
337
+
338
+ barTransitionEnd: function(e) {
339
+ this._transitionCounter--;
340
+ var cl = this.$.selectionBar.classList;
341
+ if (cl.contains('expand') && !this._transitionCounter) {
342
+ cl.remove('expand');
343
+ cl.add('contract');
344
+ this.positionBarForSelected();
345
+ } else if (cl.contains('contract')) {
346
+ cl.remove('contract');
347
+ }
348
+ }
349
+
350
+ }, Polymer.CoreResizable));
351
+
352
+ </script>
353
+ </polymer-element>
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "paper-toast",
3
+ "private": true,
4
+ "dependencies": {
5
+ "core-media-query": "Polymer/core-media-query#^0.5",
6
+ "core-overlay": "Polymer/core-overlay#^0.5",
7
+ "font-roboto": "Polymer/font-roboto#^0.5",
8
+ "paper-button": "Polymer/paper-button#^0.5"
9
+ },
10
+ "version": "0.5.5",
11
+ "homepage": "https://github.com/polymer/paper-toast",
12
+ "_release": "0.5.5",
13
+ "_resolution": {
14
+ "type": "version",
15
+ "tag": "0.5.5",
16
+ "commit": "9b84763ac5dcfeb267c8a4f1ea8d1ede61653e6a"
17
+ },
18
+ "_source": "git://github.com/polymer/paper-toast.git",
19
+ "_target": "~0.5.5",
20
+ "_originalSource": "polymer/paper-toast",
21
+ "_direct": true
22
+ }
@@ -0,0 +1,4 @@
1
+ paper-toast
2
+ ============
3
+
4
+ See the [component page](http://www.polymer-project.org/docs/elements/paper-elements.html#paper-toast) for more information.
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "paper-toast",
3
+ "private": true,
4
+ "dependencies": {
5
+ "core-media-query": "Polymer/core-media-query#^0.5",
6
+ "core-overlay": "Polymer/core-overlay#^0.5",
7
+ "font-roboto": "Polymer/font-roboto#^0.5",
8
+ "paper-button": "Polymer/paper-button#^0.5"
9
+ },
10
+ "version": "0.5.5"
11
+ }
@@ -0,0 +1,63 @@
1
+ <!--
2
+ @license
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <!doctype html>
11
+ <html>
12
+ <head>
13
+ <title>paper-toast</title>
14
+
15
+ <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
16
+ <meta name="mobile-web-app-capable" content="yes">
17
+ <meta name="apple-mobile-web-app-capable" content="yes">
18
+
19
+ <script src="../webcomponentsjs/webcomponents.js"></script>
20
+
21
+ <link rel="import" href="paper-toast.html">
22
+ <link rel="import" href="../font-roboto/roboto.html" >
23
+ <link rel="import" href="../paper-button/paper-button.html" >
24
+
25
+ <style>
26
+
27
+ html, body {
28
+ height: 100%;
29
+ }
30
+
31
+ body {
32
+ overflow: hidden;
33
+ margin: 0;
34
+ font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial;
35
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
36
+ -webkit-touch-callout: none;
37
+ }
38
+
39
+ paper-button {
40
+ margin: 20px;
41
+ }
42
+
43
+ </style>
44
+
45
+ </head>
46
+ <body unresolved>
47
+
48
+ <paper-button raised onclick="document.querySelector('#toast1').show()">Discard Draft</paper-button>
49
+
50
+ <paper-button raised onclick="document.querySelector('#toast2').show()">Get Messages</paper-button>
51
+
52
+ <paper-button raised onclick="document.querySelector('#toast3').show()">Send Message</paper-button>
53
+
54
+ <paper-toast id="toast1" text="Your draft has been discarded."></paper-toast>
55
+
56
+ <paper-toast id="toast2" role="alert" text="Connection timed out. Showing limited messages.">
57
+ <div style="color: #eeff41;" onclick="console.log('RETRY')">Retry</div>
58
+ </paper-toast>
59
+
60
+ <paper-toast id="toast3" class="capsule" text="Message sent" style="padding-right: 60px;"></paper-toast>
61
+
62
+ </body>
63
+ </html>
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
9
+ -->
10
+ <html>
11
+ <head>
12
+
13
+ <script src="../webcomponentsjs/webcomponents.js"></script>
14
+ <link rel="import" href="../core-component-page/core-component-page.html">
15
+
16
+ </head>
17
+ <body unresolved>
18
+
19
+ <core-component-page></core-component-page>
20
+
21
+ </body>
22
+ </html>
@@ -0,0 +1,20 @@
1
+ <!--
2
+ @license
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <x-meta id="paper-toast" label="Toast" group="Paper" isContainer>
11
+
12
+ <template>
13
+ <paper-toast text="Toast!"></paper-toast>
14
+ </template>
15
+
16
+ <template id="imports">
17
+ <link rel="import" href="paper-toast.html">
18
+ </template>
19
+
20
+ </x-meta>
@@ -0,0 +1,80 @@
1
+ /*
2
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
3
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
4
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
6
+ Code distributed by Google as part of the polymer project is also
7
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
8
+ */
9
+
10
+ :host {
11
+ display: inline-block;
12
+ background: #323232;
13
+ color: #f1f1f1;
14
+ min-height: 48px;
15
+ min-width: 288px;
16
+ padding: 16px 24px 12px;
17
+ box-sizing: border-box;
18
+ -moz-box-sizing: border-box;
19
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
20
+ border-radius: 2px;
21
+ bottom: 12px;
22
+ left: 12px;
23
+ font-size: 14px;
24
+ cursor: default;
25
+ }
26
+
27
+ :host(.capsule) {
28
+ border-radius: 24px;
29
+ }
30
+
31
+ :host(.fit-bottom) {
32
+ bottom: 0;
33
+ left: 0;
34
+ width: 100%;
35
+ min-width: 0;
36
+ border-radius: 0;
37
+ }
38
+
39
+ :host(.core-transition.dragging) {
40
+ transition: none;
41
+ }
42
+
43
+ :host(.core-transition.fade-out-down),
44
+ :host(.core-transition.fade-out-up),
45
+ :host(.core-transition.fade-out-right),
46
+ :host(.core-transition.fade-out-left) {
47
+ opacity: 0;
48
+ transition: -webkit-transform 0.08s ease-in-out, opacity 0.08s ease-in-out;
49
+ transition: transform 0.08s ease-in-out, opacity 0.08s ease-in-out;
50
+ }
51
+
52
+ :host(.core-transition.fade-out-down) {
53
+ -webkit-transform: translate(0, 100%);
54
+ transform: translate(0, 100%);
55
+ }
56
+
57
+ :host(.core-transition.fade-out-up) {
58
+ -webkit-transform: translate(0, -100%);
59
+ transform: translate(0, -100%);
60
+ }
61
+
62
+ :host(.core-transition.fade-out-right) {
63
+ -webkit-transform: translate(100%, 0);
64
+ transform: translate(100%, 0);
65
+ }
66
+
67
+ :host(.core-transition.fade-out-left) {
68
+ -webkit-transform: translate(-100%, 0);
69
+ transform: translate(-100%, 0);
70
+ }
71
+
72
+ .toast-container {
73
+ overflow: hidden;
74
+ }
75
+
76
+ .toast-action {
77
+ padding-left: 24px;
78
+ cursor: pointer;
79
+ text-transform: uppercase;
80
+ }