easycomments 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,108 @@
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.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
+ <html>
11
+ <head>
12
+ <title>core-ajax</title>
13
+
14
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
15
+ <script src="../../web-component-tester/browser.js"></script>
16
+
17
+
18
+
19
+ <link rel="import" href="../core-ajax.html">
20
+
21
+ </head>
22
+ <body>
23
+
24
+ <core-ajax
25
+ handleAs="json"
26
+ auto></core-ajax>
27
+
28
+ <!--
29
+ Test consistency of core-ajax's loading properties.
30
+ -->
31
+ <script>
32
+ test('progress', function(done) {
33
+ var ajax = document.querySelector("core-ajax");
34
+ var xhr = sinon.useFakeXMLHttpRequest();
35
+ var headers = {
36
+ "Content-Type": "text/json"
37
+ };
38
+ var body = '{"content": "plentiful"}'
39
+ var requests = this.requests = [];
40
+ xhr.onCreate = function (xhr) {
41
+ requests.push(xhr);
42
+ // Polymer inspects the xhr object for the precense of onprogress to determine
43
+ // whether to attach an event listener.
44
+ xhr['onprogress'] = null;
45
+ };
46
+ var progressEvent = function(lengthComputable, loaded, total) {
47
+ var progress = new ProgressEvent('progress', {
48
+ lengthComputable: lengthComputable,
49
+ loaded: loaded,
50
+ total: total
51
+ });
52
+ return progress;
53
+ }
54
+
55
+ // Fake a file download by sending multiple progress events.
56
+ async.series([
57
+ function(cb) {
58
+ ajax.url="http://example.org/downloadLargeFile"
59
+ cb();
60
+ },
61
+ flush,
62
+ animationFrameFlush,
63
+ function(cb) {
64
+ requests[0].dispatchEvent(progressEvent(true, 10, 100));
65
+ cb();
66
+ },
67
+ flush,
68
+ animationFrameFlush,
69
+ function(cb) {
70
+ assert(ajax.loading === true,
71
+ "Request partially complete, but loading property was false.");
72
+ var progress = ajax.progress;
73
+ assert(progress.lengthComputable, "Progress should be computable");
74
+ assert(progress.loaded == 10, "Expected 10 bytes loaded, got " + progress.loaded);
75
+ assert(progress.total == 100, "Expected 100 bytes total, got " + progress.total);
76
+ cb();
77
+ },
78
+ animationFrameFlush,
79
+ function(cb) {
80
+ requests[0].dispatchEvent(progressEvent(true, 100, 100));
81
+ cb();
82
+ },
83
+ animationFrameFlush,
84
+ function(cb) {
85
+ assert(ajax.loading === true,
86
+ "Request partially complete, but loading property was false.");
87
+ var progress = ajax.progress;
88
+ assert(progress.lengthComputable, "Progress should be computable");
89
+ assert(progress.loaded == 100, "Expected 10 bytes loaded, got " + progress.loaded);
90
+ assert(progress.total == 100, "Expected 100 bytes total, got " + progress.total);
91
+ cb();
92
+ },
93
+ function(cb) {
94
+ requests[0].respond(200, headers, body);
95
+ cb();
96
+ },
97
+ animationFrameFlush,
98
+ function(cb) {
99
+ assert(ajax.loading === false,
100
+ "Request complete, but loading property was true.");
101
+ assert(ajax.response.content === "plentiful", "response not parsed");
102
+ cb();
103
+ }
104
+ ], done);
105
+ });
106
+ </script>
107
+ </body>
108
+ </html>
@@ -0,0 +1,81 @@
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.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
+ <html>
11
+ <head>
12
+ <title>core-ajax</title>
13
+
14
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
15
+ <script src="../../web-component-tester/browser.js"></script>
16
+
17
+
18
+
19
+ <link rel="import" href="../core-ajax.html">
20
+
21
+ </head>
22
+ <body>
23
+
24
+ <core-ajax
25
+ handleAs="json"
26
+ auto></core-ajax>
27
+
28
+ <!--
29
+ Test that when core-ajax fires multiple times as requests are updated,
30
+ only the response from the most recent request is used to update the response
31
+ object.
32
+ -->
33
+ <script>
34
+ test('race-condition', function(done) {
35
+ var ajax = document.querySelector("core-ajax");
36
+ var xhr = sinon.useFakeXMLHttpRequest();
37
+ var headers = {
38
+ "Content-Type": "text/json"
39
+ };
40
+ var body = function(url) {
41
+ return '{"url": "' + url + '"}';
42
+ };
43
+ var requests = [];
44
+ xhr.onCreate = function (xhr) {
45
+ requests.push(xhr);
46
+ };
47
+
48
+ // Make request1, then request2. request2 returns first, followed by request1.
49
+ async.series([
50
+ function(cb) {
51
+ ajax.url="http://example.org/request1"
52
+ cb();
53
+ },
54
+ animationFrameFlush,
55
+ function(cb) {
56
+ ajax.url="http://example.org/request2"
57
+ cb();
58
+ },
59
+ animationFrameFlush,
60
+ function(cb) {
61
+ requests[0].respond(200, headers, body("http://example.org/request2"));
62
+ cb();
63
+ },
64
+ flush,
65
+ function(cb) {
66
+ requests[1].respond(200, headers, body("http://example.org/request1"));
67
+ cb();
68
+ },
69
+ flush,
70
+ function(cb) {
71
+ assert(ajax.response.url.match('request1'),
72
+ "Race condition detected. An earlier request's delayed response " +
73
+ "caused the more recent request's response to be overwritten.");
74
+ done();
75
+ cb();
76
+ }
77
+ ], function(){});
78
+ });
79
+ </script>
80
+ </body>
81
+ </html>
@@ -0,0 +1,287 @@
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.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
+ <html>
11
+ <head>
12
+ <title>core-ajax</title>
13
+
14
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
15
+ <script src="../../web-component-tester/browser.js"></script>
16
+
17
+ <link rel="import" href="../core-ajax.html">
18
+
19
+ </head>
20
+ <body>
21
+ <core-ajax></core-ajax>
22
+
23
+ <script>
24
+ suite('core-ajax', function() {
25
+ var xhr, requests, ajax;
26
+ suiteSetup(function() {
27
+ xhr = sinon.useFakeXMLHttpRequest();
28
+ ajax = document.querySelector("core-ajax");
29
+ xhr.onCreate = function (xhr) {
30
+ requests.push(xhr);
31
+ };
32
+ // Reset the core-ajax element before each test.
33
+ ajax.auto = false;
34
+ ajax.url = '';
35
+ ajax.params = '';
36
+ ajax.handleAs = 'text';
37
+ ajax.body = '';
38
+ });
39
+ setup(function() {
40
+ requests = [];
41
+ });
42
+ suite('handleAs', function() {
43
+ suite('text', function(){
44
+ var headers = {
45
+ "Content-Type": "text/plain"
46
+ };
47
+ setup(function(done){
48
+ async.series([
49
+ function(cb){
50
+ ajax.handleAs = 'text';
51
+ ajax.url = "http://example.com/text"
52
+ ajax.auto = true;
53
+ cb();
54
+ },
55
+ animationFrameFlush,
56
+ function(cb){
57
+ requests[0].respond(200, headers, "test text");
58
+ cb();
59
+ }
60
+ ], done);
61
+ });
62
+ test('Raw text should pass through', function(){
63
+ assert.equal(ajax.response, "test text")
64
+ });
65
+ });
66
+ suite('xml', function(){
67
+ var headers = {
68
+ "Content-Type": "text/xml"
69
+ };
70
+ setup(function(done){
71
+ async.series([
72
+ function(cb){
73
+ ajax.handleAs = 'xml';
74
+ ajax.url = "http://example.com/xml"
75
+ ajax.auto = true;
76
+ cb();
77
+ },
78
+ animationFrameFlush,
79
+ function(cb){
80
+ requests[0].respond(200, headers,
81
+ "<note>" +
82
+ "<to>AJ</to>" +
83
+ "<from>Dog</from>" +
84
+ "<subject>Reminder</subject>" +
85
+ "<body><q>Feed me!</q></body>" +
86
+ "</note>");
87
+ cb();
88
+ }
89
+ ], done);
90
+ });
91
+ test('XML should be returned with queryable structure', function(){
92
+ var q = ajax.response.querySelector("note body q");
93
+ assert.equal(q.childNodes[0].textContent, "Feed me!");
94
+ var to = ajax.response.querySelector("to");
95
+ assert.equal(to.childNodes[0].textContent, "AJ");
96
+ })});
97
+ suite('json', function(){
98
+ var headers = {
99
+ "Content-Type": "text/json"
100
+ };
101
+ setup(function(done){
102
+ async.series([
103
+ function(cb){
104
+ ajax.handleAs = 'json';
105
+ ajax.url = "http://example.com/json"
106
+ ajax.auto = true;
107
+ cb();
108
+ },
109
+ animationFrameFlush,
110
+ function(cb){
111
+ requests[0].respond(200, headers,
112
+ '{"object" : {"list" : [2, 3, {"key": "value"}]}}');
113
+ cb();
114
+ }
115
+ ], done);
116
+ });
117
+ test('JSON should be returned as an Object', function(){
118
+ var r = ajax.response;
119
+ assert.equal(r.object.list[1], 3);
120
+ assert.equal(r.object.list[2].key, "value");
121
+ });
122
+ });
123
+ suite('arraybuffer', function(){
124
+ var headers = {
125
+ "Content-Type": "text/plain"
126
+ };
127
+ setup(function(done){
128
+ async.series([
129
+ function(cb){
130
+ ajax.handleAs = 'arraybuffer';
131
+ ajax.url = "http://example.com/data"
132
+ ajax.auto = true;
133
+ cb();
134
+ },
135
+ animationFrameFlush,
136
+ function(cb){
137
+ var buf = new ArrayBuffer(8*4);
138
+ var resp = new Int32Array(buf);
139
+ resp[3] = 12;
140
+ resp[6] = 21;
141
+ requests[0].response = buf;
142
+ requests[0].respond(200, headers, 'blahblahblah');
143
+ cb();
144
+ }
145
+ ], done);
146
+ });
147
+ test('arraybuffer response should be passed through', function(){
148
+ var r = ajax.response;
149
+ var ints = new Int32Array(r);
150
+ assert.equal(ints[3], 12);
151
+ assert.equal(ints[6], 21);
152
+ });
153
+ });
154
+ suite('blob', function(){});
155
+ suite('document', function(){});
156
+ });
157
+ suite('auto', function() {
158
+ suiteSetup(function(){
159
+ ajax.url = "http://example.com/"
160
+ ajax.auto = true;
161
+ });
162
+ test('url change should trigger request', function(done){
163
+ async.series([
164
+ function(cb){
165
+ ajax.url = "http://example.com/auto";
166
+ cb();
167
+ },
168
+ animationFrameFlush,
169
+ function(cb){
170
+ assert.equal(requests.length, 1);
171
+ cb();
172
+ }
173
+ ], done);
174
+ });
175
+ test('params change should trigger request', function(done){
176
+ async.series([
177
+ function(cb){
178
+ ajax.params = {param: "value"};
179
+ cb();
180
+ },
181
+ animationFrameFlush,
182
+ function(cb){
183
+ assert.equal(requests.length, 1);
184
+ cb();
185
+ }
186
+ ], done);
187
+ });
188
+ test('body change should trigger request', function(done){
189
+ async.series([
190
+ function(cb){
191
+ ajax.method = "POST";
192
+ ajax.body = "bodystuff";
193
+ cb();
194
+ },
195
+ animationFrameFlush,
196
+ function(cb){
197
+ assert.equal(requests.length, 1);
198
+ cb();
199
+ }
200
+ ], done);
201
+ });
202
+ });
203
+ suite('events', function(){
204
+ var headers = {
205
+ "Content-Type": "text/plain"
206
+ };
207
+ var body = "somebodytext";
208
+ var responded;
209
+ setup(function(done){
210
+ async.series([
211
+ function(cb){
212
+ ajax.auto = false;
213
+ cb();
214
+ },
215
+ animationFrameFlush,
216
+ function(cb){;
217
+ ajax.handleAs = 'text';
218
+ ajax.url = "http://example.com/text"
219
+ ajax.auto = true;
220
+ cb();
221
+ },
222
+ animationFrameFlush,
223
+ ], done);
224
+ responded = false;
225
+ });
226
+ suite('core-response', function(){
227
+ test('core-response should be fired on success', function(done){
228
+ window.addEventListener('core-response', function(response, xhr){
229
+ responded = true;
230
+ });
231
+ requests[0].respond(200, headers, body);
232
+ assert.isTrue(responded);
233
+ done();
234
+ });
235
+ test('core-response should not be fired on failure', function(done){
236
+ window.addEventListener('core-response', function(response, xhr){
237
+ responded = true;
238
+ });
239
+ requests[0].respond(404, headers, body);
240
+ assert.isFalse(responded);
241
+ done();
242
+ });
243
+ });
244
+ suite('core-error', function(){
245
+ test('core-error should be fired on failure', function(done){
246
+ window.addEventListener('core-error', function(response, xhr){
247
+ responded = true;
248
+ });
249
+ requests[0].respond(404, headers, body);
250
+ assert.isTrue(responded);
251
+ done();
252
+ });
253
+ test('core-error should not be fired on success', function(done){
254
+ var responded = false;
255
+ window.addEventListener('core-error', function(response, xhr){
256
+ responded = true;
257
+ });
258
+ requests[0].respond(200, headers, body);
259
+ assert.isFalse(responded);
260
+ done();
261
+ });
262
+ });
263
+ suite('core-complete', function(){
264
+ test('core-complete should be fired on success', function(done){
265
+ window.addEventListener('core-complete', function(response, xhr){
266
+ responded = true;
267
+ });
268
+ requests[0].respond(200, headers, body);
269
+ assert.isTrue(responded);
270
+ done();
271
+ });
272
+ test('core-complete should be fired on failure', function(done){
273
+ var responded = false;
274
+ window.addEventListener('core-complete', function(response, xhr){
275
+ responded = true;
276
+ });
277
+ requests[0].respond(404, headers, body);
278
+ assert.isTrue(responded);
279
+ done();
280
+ });
281
+ });
282
+ });
283
+ });
284
+ </script>
285
+
286
+ </body>
287
+ </html>
@@ -0,0 +1,17 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
6
+ <script src="../../web-component-tester/browser.js"></script>
7
+ </head>
8
+ <body>
9
+ <script>
10
+ WCT.loadSuites([
11
+ 'core-ajax-progress.html',
12
+ 'core-ajax-race.html',
13
+ 'core-ajax.html'
14
+ ]);
15
+ </script>
16
+ </body>
17
+ </html>
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "core-collapse",
3
+ "private": true,
4
+ "dependencies": {
5
+ "polymer": "Polymer/polymer#^0.5"
6
+ },
7
+ "devDependencies": {
8
+ "web-component-tester": "Polymer/web-component-tester#^1.1.0"
9
+ },
10
+ "version": "0.5.5",
11
+ "homepage": "https://github.com/Polymer/core-collapse",
12
+ "_release": "0.5.5",
13
+ "_resolution": {
14
+ "type": "version",
15
+ "tag": "0.5.5",
16
+ "commit": "388ea0355dd67baf0ca5bbd5205e12e6e243e3ed"
17
+ },
18
+ "_source": "git://github.com/Polymer/core-collapse.git",
19
+ "_target": "^0.5",
20
+ "_originalSource": "Polymer/core-collapse"
21
+ }
@@ -0,0 +1,4 @@
1
+ core-collapse
2
+ =============
3
+
4
+ See the [component page](http://polymer-project.org/docs/elements/core-elements.html#core-collapse) for more information.
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "core-collapse",
3
+ "private": true,
4
+ "dependencies": {
5
+ "polymer": "Polymer/polymer#^0.5"
6
+ },
7
+ "devDependencies": {
8
+ "web-component-tester": "Polymer/web-component-tester#^1.1.0"
9
+ },
10
+ "version": "0.5.5"
11
+ }
@@ -0,0 +1,16 @@
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
+ html /deep/ core-collapse {
11
+ display: block;
12
+ }
13
+
14
+ html /deep/ .core-collapse-closed {
15
+ display: none;
16
+ }