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,236 @@
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
+
14
+ <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
15
+
16
+ <title>paper-input</title>
17
+
18
+ <script src="../webcomponentsjs/webcomponents.js"></script>
19
+
20
+ <link href="../font-roboto/roboto.html" rel="import">
21
+ <link href="paper-autogrow-textarea.html" rel="import">
22
+ <link href="paper-input-decorator.html" rel="import">
23
+ <link href="paper-input.html" rel="import">
24
+ <link href="paper-char-counter.html" rel="import">
25
+
26
+ <style shim-shadowdom>
27
+
28
+ body {
29
+ font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial;
30
+ font-size: 14px;
31
+ margin: 0;
32
+ padding: 24px;
33
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
34
+ -webkit-touch-callout: none;
35
+ }
36
+
37
+ section {
38
+ padding: 20px 0;
39
+ }
40
+
41
+ section > div {
42
+ padding: 14px;
43
+ font-size: 16px;
44
+ }
45
+
46
+ paper-input {
47
+ width: 80%;
48
+ }
49
+
50
+ paper-input-decorator {
51
+ max-width: 80%;
52
+ }
53
+
54
+ @media only screen and (min-width : 320px) {
55
+ paper-input {
56
+ width: 100%;
57
+ }
58
+
59
+ paper-input-decorator {
60
+ max-width: 100%;
61
+ }
62
+ }
63
+
64
+ paper-input.narrow {
65
+ width: 150px;
66
+ }
67
+
68
+ .custom /deep/ ::-webkit-input-placeholder {
69
+ color: #f4b400;
70
+ }
71
+
72
+ .custom /deep/ ::-moz-placeholder {
73
+ color: #f4b400;
74
+ }
75
+
76
+ .custom /deep/ :-ms-input-placeholder {
77
+ color: #f4b400;
78
+ }
79
+
80
+ .custom /deep/ .label-text,
81
+ .custom /deep/ .error {
82
+ color: #f4b400;
83
+ }
84
+
85
+ .custom /deep/ .unfocused-underline {
86
+ background-color: #f4b400;
87
+ }
88
+
89
+ .custom[focused] /deep/ .floated-label .label-text {
90
+ color: #0f9d58;
91
+ }
92
+
93
+ .custom /deep/ .focused-underline {
94
+ background-color: #0f9d58;
95
+ }
96
+
97
+ .custom.invalid /deep/ .floated-label .label-text,
98
+ .custom /deep/ .error {
99
+ color: #f06292;
100
+ }
101
+
102
+ .custom.invalid /deep/ .focused-underline {
103
+ background-color: #f06292;
104
+ }
105
+
106
+ .custom {
107
+ color: #1a237e;
108
+ }
109
+
110
+ </style>
111
+
112
+ </head>
113
+ <body unresolved>
114
+
115
+ <section>
116
+
117
+ <div>Standalone</div>
118
+
119
+ <br>
120
+
121
+ <paper-input label="label"></paper-input>
122
+
123
+ <br>
124
+
125
+ <paper-input label="floating label" floatingLabel></paper-input>
126
+
127
+ <br>
128
+
129
+ <paper-input label="disabled" disabled></paper-input>
130
+
131
+ </section>
132
+
133
+ <section>
134
+
135
+ <div>Decorator</div>
136
+
137
+ <br>
138
+
139
+ <paper-input-decorator label="with core-input">
140
+ <input is="core-input">
141
+ </paper-input-decorator>
142
+
143
+ <br>
144
+
145
+ <paper-input-decorator label="with core-input + floatingLabel" floatingLabel>
146
+ <input is="core-input">
147
+ </paper-input-decorator>
148
+
149
+ <br>
150
+
151
+ <paper-input-decorator label="with autogrowing text area">
152
+ <paper-autogrow-textarea>
153
+ <textarea></textarea>
154
+ </paper-autogrow-textarea>
155
+ </paper-input-decorator>
156
+
157
+ <br>
158
+
159
+ <paper-input-decorator label="with autogrowing text area + floatingLabel" floatingLabel>
160
+ <paper-autogrow-textarea>
161
+ <textarea></textarea>
162
+ </paper-autogrow-textarea>
163
+ </paper-input-decorator>
164
+
165
+ </section>
166
+
167
+ <section>
168
+
169
+ <div>Character counter</div>
170
+
171
+ <paper-input-decorator label="input with visible character counter">
172
+ <input id="i1" is="core-input" maxlength="5">
173
+ <paper-char-counter class="counter" target="i1"></paper-char-counter>
174
+ </paper-input-decorator>
175
+
176
+ <br>
177
+
178
+ <paper-input-decorator label="input with character counter and custom error"
179
+ error="maximum characters exceeded">
180
+ <input id="i2" is="core-input" maxlength="10">
181
+ <paper-char-counter class="counter" target="i2"></paper-char-counter>
182
+ </paper-input-decorator>
183
+
184
+ <br>
185
+
186
+ <paper-input-decorator label="input with hidden character counter"
187
+ error="maximum characters exceeded">
188
+ <input id="i3" is="core-input" maxlength="10">
189
+ <paper-char-counter class="counter" showCounter="false" target="i3"></paper-char-counter>
190
+ </paper-input-decorator>
191
+
192
+ <paper-input-decorator label="autogrowing text area with character counter">
193
+ <paper-autogrow-textarea>
194
+ <textarea id="t1" maxlength="100"></textarea>
195
+ </paper-autogrow-textarea>
196
+ <paper-char-counter class="counter" target="t1"></paper-char-counter>
197
+ </paper-input-decorator>
198
+
199
+ </section>
200
+
201
+ <section>
202
+
203
+ <div>Auto-Validation</div>
204
+
205
+ <paper-input-decorator label="required" floatingLabel error="input is required!" autoValidate>
206
+ <input is="core-input" required>
207
+ </paper-input-decorator>
208
+
209
+ </section>
210
+
211
+ <section>
212
+
213
+ <div>Custom styling</div>
214
+
215
+ <br>
216
+
217
+ <paper-input class="custom" label="paper-input"></paper-input>
218
+
219
+ <br>
220
+
221
+ <paper-input-decorator class="custom" label="decorator">
222
+ <input is="core-input">
223
+ </paper-input-decorator>
224
+
225
+ </section>
226
+
227
+ <script>
228
+
229
+ document.body.addEventListener('change', function(e) {
230
+ console.log('change', e.target);
231
+ });
232
+
233
+ </script>
234
+
235
+ </body>
236
+ </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 sources='["paper-input.html","paper-input-decorator.html","../core-input/core-input.html"]'></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-input" label="Input" group="Paper" isEditor>
11
+
12
+ <template>
13
+ <paper-input label="Type something..."></paper-input>
14
+ </template>
15
+
16
+ <template id="imports">
17
+ <link rel="import" href="paper-input.html">
18
+ </template>
19
+
20
+ </x-meta>
@@ -0,0 +1,162 @@
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
4
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS
5
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
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
8
+ -->
9
+
10
+ <!--
11
+ `paper-autogrow-textarea` is an element containing a textarea that grows in height as more
12
+ lines of input are entered. Unless an explicit height or the `maxRows` property is set, it will
13
+ never scroll.
14
+
15
+ Example:
16
+
17
+ <paper-autogrow-textarea id="a1">
18
+ <textarea id="t1"></textarea>
19
+ </paper-autogrow-textarea>
20
+
21
+ Because the `textarea`'s `value` property is not observable, if you set the `value` imperatively
22
+ you must call `update` to notify this element the value has changed.
23
+
24
+ Example:
25
+
26
+ /* using example HTML above */
27
+ t1.value = 'some\ntext';
28
+ a1.update();
29
+
30
+ @group Paper Elements
31
+ @element paper-autogrow-textarea
32
+ @status unstable
33
+ -->
34
+
35
+ <link href="../polymer/polymer.html" rel="import">
36
+
37
+ <polymer-element name="paper-autogrow-textarea" on-input="{{inputAction}}">
38
+ <template>
39
+
40
+ <style>
41
+ :host {
42
+ display: inline-block;
43
+ position: relative;
44
+ width: 400px;
45
+ }
46
+
47
+ .mirror-text {
48
+ visibility: hidden;
49
+ word-wrap: break-word;
50
+ }
51
+
52
+ ::content textarea {
53
+ padding: 0;
54
+ margin: 0;
55
+ border: none;
56
+ outline: none;
57
+ resize: none;
58
+ /* see comments in template */
59
+ width: 100%;
60
+ height: 100%;
61
+ }
62
+
63
+ ::content textarea:invalid {
64
+ box-shadow: none;
65
+ }
66
+ </style>
67
+
68
+ <!-- the mirror sizes the input/textarea so it grows with typing -->
69
+ <div id="mirror" class="mirror-text" aria-hidden="true">&nbsp;</div>
70
+
71
+ <!-- size the input/textarea with a div, because the textarea has intrinsic size in ff -->
72
+ <div class="textarea-container" fit>
73
+ <content></content>
74
+ </div>
75
+
76
+ </template>
77
+ <script>
78
+
79
+ Polymer({
80
+
81
+ publish: {
82
+
83
+ /**
84
+ * The textarea that should auto grow.
85
+ *
86
+ * @attribute target
87
+ * @type HTMLTextAreaElement
88
+ * @default null
89
+ */
90
+ target: null,
91
+
92
+ /**
93
+ * The initial number of rows.
94
+ *
95
+ * @attribute rows
96
+ * @type number
97
+ * @default 1
98
+ */
99
+ rows: 1,
100
+
101
+ /**
102
+ * The maximum number of rows this element can grow to until it
103
+ * scrolls. 0 means no maximum.
104
+ *
105
+ * @attribute maxRows
106
+ * @type number
107
+ * @default 0
108
+ */
109
+ maxRows: 0
110
+ },
111
+
112
+ tokens: null,
113
+
114
+ observe: {
115
+ rows: 'updateCached',
116
+ maxRows: 'updateCached'
117
+ },
118
+
119
+ constrain: function(tokens) {
120
+ var _tokens;
121
+ tokens = tokens || [''];
122
+ // Enforce the min and max heights for a multiline input to avoid measurement
123
+ if (this.maxRows > 0 && tokens.length > this.maxRows) {
124
+ _tokens = tokens.slice(0, this.maxRows);
125
+ } else {
126
+ _tokens = tokens.slice(0);
127
+ }
128
+ while (this.rows > 0 && _tokens.length < this.rows) {
129
+ _tokens.push('');
130
+ }
131
+ return _tokens.join('<br>') + '&nbsp;';
132
+ },
133
+
134
+ valueForMirror: function(input) {
135
+ this.tokens = (input && input.value) ? input.value.replace(/&/gm, '&amp;').replace(/"/gm, '&quot;').replace(/'/gm, '&#39;').replace(/</gm, '&lt;').replace(/>/gm, '&gt;').split('\n') : [''];
136
+ return this.constrain(this.tokens);
137
+ },
138
+
139
+ /**
140
+ * Sizes this element to fit the input value. This function is automatically called
141
+ * when the user types in new input, but you must call this function if the value
142
+ * is updated imperatively.
143
+ *
144
+ * @method update
145
+ * @param Element The input
146
+ */
147
+ update: function(input) {
148
+ this.$.mirror.innerHTML = this.valueForMirror(input);
149
+ },
150
+
151
+ updateCached: function() {
152
+ this.$.mirror.innerHTML = this.constrain(this.tokens);
153
+ },
154
+
155
+ inputAction: function(e) {
156
+ this.update(e.target);
157
+ }
158
+
159
+ });
160
+
161
+ </script>
162
+ </polymer-element>
@@ -0,0 +1,121 @@
1
+ <!--
2
+ Copyright (c) 2015 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
4
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS
5
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
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
8
+ -->
9
+
10
+ <!--
11
+
12
+ Material Design: <a href="http://www.google.com/design/spec/components/text-fields.html#text-fields-character-counter">Character counter</a>
13
+
14
+ `paper-char-counter` adds a character counter for paper input fields with a character restriction in place.
15
+
16
+ Example:
17
+
18
+ <paper-input-decorator>
19
+ <input id="input1" is="core-input" maxlength="5">
20
+ <paper-char-counter class="footer" target="input1"></paper-char-counter>
21
+ </paper-input-decorator>
22
+
23
+ Theming
24
+ -------
25
+
26
+ `paper-char-counter` uses `paper-input-decorator`'s error `core-style` for global theming.
27
+
28
+ @group Paper Elements
29
+ @element paper-char-counter
30
+ @homepage github.io
31
+ -->
32
+ <link href="../polymer/polymer.html" rel="import">
33
+ <link href="../core-style/core-style.html" rel="import">
34
+
35
+ <core-style id="paper-char-counter">
36
+ :host(.invalid) {
37
+ color: {{g.paperInput.invalidColor}};
38
+ }
39
+ </core-style>
40
+
41
+ <polymer-element name="paper-char-counter">
42
+
43
+ <template>
44
+
45
+ <style>
46
+ :host {
47
+ display: inline-block;
48
+ float: right;
49
+ color: #757575;
50
+ font-size: 0.75em;
51
+ padding: 0.5em 0 0.5em 0.5em;
52
+ }
53
+ </style>
54
+
55
+ <core-style ref="paper-char-counter"></core-style>
56
+
57
+ <div class="counter-text" aria-hidden="true" hidden?="{{!showCounter || !_maxChars}}">
58
+ <span>{{_charCount}} / {{_maxChars}}</span>
59
+ </div>
60
+
61
+ </template>
62
+
63
+ <script>
64
+
65
+ Polymer({
66
+
67
+ publish: {
68
+ /**
69
+ * The id of the textinput or textarea that should be monitored.
70
+ *
71
+ * @attribute target
72
+ * @type string
73
+ * @default null
74
+ */
75
+ target: null,
76
+
77
+ /**
78
+ * If false, don't show the character counter. Used in conjunction with
79
+ * `paper-input-decorator's` `error` field.
80
+ *
81
+ * @attribute showCounter
82
+ * @type boolean
83
+ * @default true
84
+ */
85
+ showCounter: true
86
+ },
87
+
88
+ /* Number of characters in the current input */
89
+ _charCount: 0,
90
+
91
+ /* Equal to the target element's maxLength attribute. */
92
+ _maxChars: 0,
93
+
94
+ /* True if the number of characters in the input exceeds _maxChars */
95
+ _isCounterInvalid: false,
96
+
97
+ ready: function() {
98
+ if (!this.target)
99
+ return;
100
+ var targetElement = document.getElementById(this.target);
101
+ this._maxChars = targetElement.maxLength;
102
+ targetElement.addEventListener('input', this.inputAction.bind(this));
103
+ },
104
+
105
+ inputAction: function(e) {
106
+ this._charCount = e.target.value.length;
107
+ this._isCounterInvalid = this._maxChars && this._charCount >= this._maxChars;
108
+ },
109
+
110
+ _isCounterInvalidChanged: function() {
111
+ debugger
112
+ this.classList.toggle('invalid', this._isCounterInvalid);
113
+ this.fire('char-counter-error',
114
+ {"hasError": this._isCounterInvalid,
115
+ "hideErrorIcon": this.showCounter});
116
+ }
117
+ });
118
+
119
+ </script>
120
+
121
+ </polymer-element>
@@ -0,0 +1,132 @@
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
+
11
+ :host {
12
+ display: inline-block;
13
+ outline: none;
14
+ text-align: inherit;
15
+ padding: 0.75em 0;
16
+ }
17
+
18
+ polyfill-next-selector {
19
+ content: '.input-body > :not(.label)';
20
+ }
21
+ ::content > *,
22
+ ::content > input[is="core-input"] {
23
+ padding: 0;
24
+ margin: 0.5em 0 0.25em;
25
+ width: 100%;
26
+ }
27
+
28
+ polyfill-next-selector {
29
+ content: 'input, textarea';
30
+ }
31
+ ::content input,
32
+ ::content input[is=core-input],
33
+ ::content textarea {
34
+ font: inherit;
35
+ color: inherit;
36
+ background-color: transparent;
37
+ border: none;
38
+ outline: none;
39
+ }
40
+
41
+ polyfill-next-selector {
42
+ content: ':invalid';
43
+ }
44
+ ::content input:invalid,
45
+ ::content textarea:invalid {
46
+ box-shadow: none;
47
+ }
48
+
49
+ polyfill-next-selector {
50
+ content: 'textarea';
51
+ }
52
+ ::content textarea {
53
+ resize: none;
54
+ }
55
+
56
+ [invisible] {
57
+ visibility: hidden;
58
+ }
59
+
60
+ [animated] {
61
+ visibility: visible !important;
62
+ -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
63
+ transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
64
+ }
65
+
66
+ .floated-label {
67
+ font-size: 0.75em;
68
+ background: transparent;
69
+ white-space: nowrap;
70
+ }
71
+
72
+ .mirror-text {
73
+ padding: 0.5em 0 0.25em;
74
+ max-width: 100%;
75
+ white-space: nowrap;
76
+ }
77
+
78
+ :host([multiline]) .mirror-text {
79
+ white-space: pre-wrap;
80
+ word-wrap: break-word;
81
+ }
82
+
83
+ .label {
84
+ padding: 0.5em 0 0.25em;
85
+ background: transparent;
86
+ pointer-events: none;
87
+ }
88
+
89
+ .label-text {
90
+ overflow: hidden;
91
+ text-overflow: ellipsis;
92
+ white-space: nowrap;
93
+ display: inline-block;
94
+ max-width: 100%;
95
+ -moz-transform-origin: 0% 0%;
96
+ -webkit-transform-origin: 0% 0%;
97
+ transform-origin: 0% 0%;
98
+ }
99
+
100
+ .underline {
101
+ height: 0px;
102
+ overflow: visible;
103
+ }
104
+
105
+ :host([disabled]) .underline {
106
+ border-bottom: 1px dashed #757575;
107
+ }
108
+
109
+ .unfocused-underline {
110
+ height: 1px;
111
+ }
112
+
113
+ .focused-underline {
114
+ height: 2px;
115
+ -webkit-transform: none;
116
+ transform: none;
117
+ }
118
+
119
+ .focused-underline[invisible] {
120
+ -webkit-transform: scale3d(0,1,1);
121
+ transform: scale3d(0,1,1);
122
+ }
123
+
124
+ .error-text {
125
+ font-size: 0.75em;
126
+ padding: 0.5em 0;
127
+ }
128
+
129
+ .error-icon {
130
+ height: 20px;
131
+ width: 20px;
132
+ }