prosperity 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/prosperity/application.js.coffee +5 -24
  3. data/app/assets/javascripts/prosperity/dashboards.js.coffee +17 -0
  4. data/app/assets/javascripts/prosperity/graph.js.coffee +89 -0
  5. data/app/assets/stylesheets/prosperity/application.css.scss +1 -1
  6. data/app/assets/stylesheets/prosperity/dashboards.css +4 -0
  7. data/app/assets/stylesheets/prosperity/graph.css +4 -0
  8. data/app/controllers/prosperity/application_controller.rb +30 -0
  9. data/app/controllers/prosperity/dashboard_graphs_controller.rb +24 -0
  10. data/app/controllers/prosperity/dashboards_controller.rb +33 -0
  11. data/app/controllers/prosperity/graphs_controller.rb +72 -0
  12. data/app/controllers/prosperity/metrics_controller.rb +57 -0
  13. data/app/helpers/prosperity/application_helper.rb +4 -0
  14. data/app/helpers/prosperity/dashboard_graphs_helper.rb +4 -0
  15. data/app/helpers/prosperity/dashboards_helper.rb +4 -0
  16. data/app/helpers/prosperity/graph_helper.rb +7 -0
  17. data/app/models/prosperity/dashboard.rb +8 -0
  18. data/app/models/prosperity/dashboard_graph.rb +6 -0
  19. data/app/models/prosperity/graph.rb +20 -0
  20. data/app/models/prosperity/graph_line.rb +8 -0
  21. data/app/views/layouts/prosperity/application.html.erb +56 -0
  22. data/app/views/prosperity/dashboards/edit.html.erb +24 -0
  23. data/app/views/prosperity/dashboards/index.html.erb +15 -0
  24. data/app/views/prosperity/dashboards/new.html.erb +8 -0
  25. data/app/views/prosperity/dashboards/show.html.erb +14 -0
  26. data/app/views/prosperity/graphs/edit.html.erb +41 -0
  27. data/app/views/prosperity/graphs/new.html.erb +15 -0
  28. data/app/views/prosperity/metrics/index.html.erb +8 -0
  29. data/app/views/prosperity/metrics/show.html.erb +23 -0
  30. data/app/views/prosperity/shared/_date_range.html.erb +9 -0
  31. data/config/routes.rb +12 -2
  32. data/db/migrate/20131127042251_dashboards.rb +34 -0
  33. data/lib/generators/metric/USAGE +8 -0
  34. data/lib/generators/metric/metric_generator.rb +7 -0
  35. data/lib/generators/metric/templates/metric.rb.erb +3 -0
  36. data/lib/prosperity/aggregate/aggregate_builder.rb +42 -0
  37. data/lib/prosperity/aggregate/average.rb +12 -0
  38. data/lib/prosperity/aggregate/base.rb +5 -0
  39. data/lib/prosperity/aggregate/count.rb +12 -0
  40. data/lib/prosperity/aggregate/maximum.rb +12 -0
  41. data/lib/prosperity/aggregate/minimum.rb +12 -0
  42. data/lib/prosperity/aggregate/sql.rb +12 -0
  43. data/lib/prosperity/aggregate/sum.rb +12 -0
  44. data/lib/prosperity/aggregate/with_column.rb +10 -0
  45. data/lib/prosperity/aggregate.rb +5 -0
  46. data/lib/prosperity/engine.rb +14 -0
  47. data/lib/prosperity/exception.rb +19 -1
  48. data/lib/prosperity/extractors/base.rb +33 -5
  49. data/lib/prosperity/extractors/change.rb +35 -0
  50. data/lib/prosperity/extractors/interval.rb +51 -0
  51. data/lib/prosperity/extractors/total.rb +23 -0
  52. data/lib/prosperity/helpers/time.rb +12 -0
  53. data/lib/prosperity/metric.rb +90 -5
  54. data/lib/prosperity/metric_finder.rb +10 -0
  55. data/lib/prosperity/metrics/option.rb +2 -0
  56. data/lib/prosperity/period.rb +4 -3
  57. data/lib/prosperity/periods.rb +13 -2
  58. data/lib/prosperity/version.rb +1 -1
  59. data/spec/controllers/prosperity/dashboard_graphs_controller_spec.rb +45 -0
  60. data/spec/controllers/prosperity/dashboards_controller_spec.rb +54 -0
  61. data/spec/controllers/prosperity/graphs_controller_spec.rb +145 -0
  62. data/spec/controllers/prosperity/metrics_controller_spec.rb +78 -0
  63. data/spec/dummy/app/models/user.rb +1 -0
  64. data/spec/dummy/app/prosperity/user_value_sum_metric.rb +4 -0
  65. data/spec/dummy/app/prosperity/user_value_sum_sql_metric.rb +4 -0
  66. data/spec/dummy/app/prosperity/users_metric.rb +8 -0
  67. data/spec/dummy/app/prosperity/users_sql_metric.rb +4 -0
  68. data/spec/dummy/config/database.yml +0 -8
  69. data/spec/dummy/config/routes.rb +1 -1
  70. data/spec/dummy/db/migrate/20140217005117_add_value_to_users.rb +5 -0
  71. data/spec/dummy/db/schema.rb +37 -1
  72. data/spec/dummy/db/seeds.rb +3 -1
  73. data/spec/dummy/log/development.log +76950 -0
  74. data/spec/dummy/log/test.log +111316 -0
  75. data/spec/dummy/tmp/cache/assets/development/sass/34a577735054231563e7022ea73e1468db9203ba/application.css.scssc +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sprockets/07e8fb2db7d85e29590a6b05160ca825 +0 -0
  77. data/spec/dummy/tmp/cache/assets/development/sprockets/1533bcf4a8f5a745dfda80cebd88d217 +0 -0
  78. data/spec/dummy/tmp/cache/assets/development/sprockets/1643e7f9f85637df140a850af6674f10 +0 -0
  79. data/spec/dummy/tmp/cache/assets/development/sprockets/197492ed379339e17a0f5d01d3b01b8c +0 -0
  80. data/spec/dummy/tmp/cache/assets/development/sprockets/1c55cf24465f311353197ce336df0178 +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sprockets/210050da208fb75a75b701bfa4e8470f +0 -0
  82. data/spec/dummy/tmp/cache/assets/development/sprockets/2733033a48e2e8a6fdd6e4ab371689ee +0 -0
  83. data/spec/dummy/tmp/cache/assets/development/sprockets/27a59e08207d3ae723f2b2b3d22264c3 +0 -0
  84. data/spec/dummy/tmp/cache/assets/development/sprockets/3e21790900d62ae3954585f08a1cb28a +0 -0
  85. data/spec/dummy/tmp/cache/assets/development/sprockets/3f76425644a701b85db3d385f077052d +0 -0
  86. data/spec/dummy/tmp/cache/assets/development/sprockets/448c1e44da04c20f27eaa31ad8c4391e +0 -0
  87. data/spec/dummy/tmp/cache/assets/development/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5 +0 -0
  88. data/spec/dummy/tmp/cache/assets/development/sprockets/566fbede2036fd06a20e7e52e30ddc7d +0 -0
  89. data/spec/dummy/tmp/cache/assets/development/sprockets/5f1aaf22720701db690538726e896a39 +0 -0
  90. data/spec/dummy/tmp/cache/assets/development/sprockets/647038c58f26163a9217646e1e5f09ae +0 -0
  91. data/spec/dummy/tmp/cache/assets/development/sprockets/6882b260ae69f1594eff540d803e5ac3 +0 -0
  92. data/spec/dummy/tmp/cache/assets/development/sprockets/69f4b83d363269ee4122bbbaaa1325d1 +0 -0
  93. data/spec/dummy/tmp/cache/assets/development/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb +0 -0
  94. data/spec/dummy/tmp/cache/assets/development/sprockets/72c0d4a0eeedae5e79ae49abb24f6d32 +0 -0
  95. data/spec/dummy/tmp/cache/assets/development/sprockets/828a046f0e7dc2dad0eecfe49d31e14d +0 -0
  96. data/spec/dummy/tmp/cache/assets/development/sprockets/91ae0bd43f98b4f1f111e0bdc178302c +0 -0
  97. data/spec/dummy/tmp/cache/assets/development/sprockets/97d99b466bedb69706f4815fa26b69f3 +0 -0
  98. data/spec/dummy/tmp/cache/assets/development/sprockets/990cf740a7968767a327f6186313badb +0 -0
  99. data/spec/dummy/tmp/cache/assets/development/sprockets/a2b14d5c46db32da9183354fb3fcd0bf +0 -0
  100. data/spec/dummy/tmp/cache/assets/development/sprockets/a6d6196cfd275dea0718553a95f997a5 +0 -0
  101. data/spec/dummy/tmp/cache/assets/development/sprockets/bb1f5ffb0ccbeec2c6499044b356f7c6 +0 -0
  102. data/spec/dummy/tmp/cache/assets/development/sprockets/bc83340720a76d8208112f6aecbff08e +0 -0
  103. data/spec/dummy/tmp/cache/assets/development/sprockets/be67cef79122a71f7432c2f984f1f258 +0 -0
  104. data/spec/dummy/tmp/cache/assets/development/sprockets/c83e71ece967e80f8df838874c130431 +0 -0
  105. data/spec/dummy/tmp/cache/assets/development/sprockets/cad26971ff72bbf5aa5f4e6a469389eb +0 -0
  106. data/spec/dummy/tmp/cache/assets/development/sprockets/d0d5517256edcd1f83b11a13c6ca040f +0 -0
  107. data/spec/dummy/tmp/cache/assets/development/sprockets/d0f0c5e105bfb1d6e5cd7295fbd1f65d +0 -0
  108. data/spec/dummy/tmp/cache/assets/development/sprockets/d3087f7df919b7f0d8142ee163db6c79 +0 -0
  109. data/spec/dummy/tmp/cache/assets/development/sprockets/decc27a1fa9ea32fe0dcc18619e32587 +0 -0
  110. data/spec/dummy/tmp/cache/assets/development/sprockets/df796f7ea525be06a82ebc3a4f97ffec +0 -0
  111. data/spec/dummy/tmp/cache/assets/development/sprockets/e02b5049cf477b43a72b4a00e2fceb46 +0 -0
  112. data/spec/dummy/tmp/cache/assets/development/sprockets/e2a9bdd87a2d19256837fce6544a122c +0 -0
  113. data/spec/dummy/tmp/cache/assets/development/sprockets/e378dcebf3c529db0d6e57d0c8dc3904 +0 -0
  114. data/spec/dummy/tmp/cache/assets/development/sprockets/ee3031bd54230ddf2addb5fa5718c86b +0 -0
  115. data/spec/dummy/tmp/cache/assets/development/sprockets/f4648036e284d9aa3468f4f7b9bbb967 +0 -0
  116. data/spec/dummy/tmp/cache/assets/development/sprockets/f9bbf698d099ead559e5ba4a5a4c5538 +0 -0
  117. data/spec/dummy/tmp/cache/assets/development/sprockets/fb8d3825617fcc11dfa614a51effee0e +0 -0
  118. data/spec/dummy/tmp/cache/assets/test/sass/34a577735054231563e7022ea73e1468db9203ba/application.css.scssc +0 -0
  119. data/spec/dummy/tmp/cache/assets/test/sprockets/07e8fb2db7d85e29590a6b05160ca825 +0 -0
  120. data/spec/dummy/tmp/cache/assets/test/sprockets/0a40fa5e0d6c0de40a8a698dcd697305 +0 -0
  121. data/spec/dummy/tmp/cache/assets/test/sprockets/1533bcf4a8f5a745dfda80cebd88d217 +0 -0
  122. data/spec/dummy/tmp/cache/assets/test/sprockets/1643e7f9f85637df140a850af6674f10 +0 -0
  123. data/spec/dummy/tmp/cache/assets/test/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc +0 -0
  124. data/spec/dummy/tmp/cache/assets/test/sprockets/197492ed379339e17a0f5d01d3b01b8c +0 -0
  125. data/spec/dummy/tmp/cache/assets/test/sprockets/1c55cf24465f311353197ce336df0178 +0 -0
  126. data/spec/dummy/tmp/cache/assets/test/sprockets/1cb94582c835e73b3fd3c276f9a7de56 +0 -0
  127. data/spec/dummy/tmp/cache/assets/test/sprockets/203047a4141cf08162077e7290421bbb +0 -0
  128. data/spec/dummy/tmp/cache/assets/test/sprockets/210050da208fb75a75b701bfa4e8470f +0 -0
  129. data/spec/dummy/tmp/cache/assets/test/sprockets/2733033a48e2e8a6fdd6e4ab371689ee +0 -0
  130. data/spec/dummy/tmp/cache/assets/test/sprockets/27a59e08207d3ae723f2b2b3d22264c3 +0 -0
  131. data/spec/dummy/tmp/cache/assets/test/sprockets/29a6c93aeb91d07a5533b3adba7697d0 +0 -0
  132. data/spec/dummy/tmp/cache/assets/test/sprockets/29ac2be474969468157245a7f8737fa4 +0 -0
  133. data/spec/dummy/tmp/cache/assets/test/sprockets/314e44d29ecc7449c9ca3b754329c245 +0 -0
  134. data/spec/dummy/tmp/cache/assets/test/sprockets/3162d1398d6940ee5e933b7ab4d2273d +0 -0
  135. data/spec/dummy/tmp/cache/assets/test/sprockets/3d80e2a5faaf2bd987d804c17aead745 +0 -0
  136. data/spec/dummy/tmp/cache/assets/test/sprockets/4155a156cc6ffb880b56dbc34346fbc0 +0 -0
  137. data/spec/dummy/tmp/cache/assets/test/sprockets/4166fe47cddf4ba18c53b843d69b4c5f +0 -0
  138. data/spec/dummy/tmp/cache/assets/test/sprockets/441f922b26aae90d40e319b6ed0a3bc8 +0 -0
  139. data/spec/dummy/tmp/cache/assets/test/sprockets/4432a4b71ce9551df8d4b3860f4b9be3 +0 -0
  140. data/spec/dummy/tmp/cache/assets/test/sprockets/448c1e44da04c20f27eaa31ad8c4391e +0 -0
  141. data/spec/dummy/tmp/cache/assets/test/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5 +0 -0
  142. data/spec/dummy/tmp/cache/assets/test/sprockets/5479c7b4fba9179d4d1dc59ae64964c1 +0 -0
  143. data/spec/dummy/tmp/cache/assets/test/sprockets/566fbede2036fd06a20e7e52e30ddc7d +0 -0
  144. data/spec/dummy/tmp/cache/assets/test/sprockets/5a3ab9afd151c265cf11c621c0ddbe00 +0 -0
  145. data/spec/dummy/tmp/cache/assets/test/sprockets/647038c58f26163a9217646e1e5f09ae +0 -0
  146. data/spec/dummy/tmp/cache/assets/test/sprockets/64e0150fafbd9aaa3822efa1abb0211d +0 -0
  147. data/spec/dummy/tmp/cache/assets/test/sprockets/65c2d908dbca1bc833ae0b552f6c27fa +0 -0
  148. data/spec/dummy/tmp/cache/assets/test/sprockets/6882b260ae69f1594eff540d803e5ac3 +0 -0
  149. data/spec/dummy/tmp/cache/assets/test/sprockets/69f4b83d363269ee4122bbbaaa1325d1 +0 -0
  150. data/spec/dummy/tmp/cache/assets/test/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb +0 -0
  151. data/spec/dummy/tmp/cache/assets/test/sprockets/726d3f6850549a59954f0bf5584cfd9f +0 -0
  152. data/spec/dummy/tmp/cache/assets/test/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f +0 -0
  153. data/spec/dummy/tmp/cache/assets/test/sprockets/7bac3aca131c870ad5b07d8ccdc86e06 +0 -0
  154. data/spec/dummy/tmp/cache/assets/test/sprockets/80392355fc6e00cf69b2cd46978ebcbe +0 -0
  155. data/spec/dummy/tmp/cache/assets/test/sprockets/874b42463fefbb0bce47775722ebb4ae +0 -0
  156. data/spec/dummy/tmp/cache/assets/test/sprockets/87ef8ddd2847d19f22a16d726b88b433 +0 -0
  157. data/spec/dummy/tmp/cache/assets/test/sprockets/91ae0bd43f98b4f1f111e0bdc178302c +0 -0
  158. data/spec/dummy/tmp/cache/assets/test/sprockets/97d99b466bedb69706f4815fa26b69f3 +0 -0
  159. data/spec/dummy/tmp/cache/assets/test/sprockets/990cf740a7968767a327f6186313badb +0 -0
  160. data/spec/dummy/tmp/cache/assets/test/sprockets/9a690664139b0393787d6454b4697183 +0 -0
  161. data/spec/dummy/tmp/cache/assets/test/sprockets/a2b14d5c46db32da9183354fb3fcd0bf +0 -0
  162. data/spec/dummy/tmp/cache/assets/test/sprockets/a6d6196cfd275dea0718553a95f997a5 +0 -0
  163. data/spec/dummy/tmp/cache/assets/test/sprockets/bc83340720a76d8208112f6aecbff08e +0 -0
  164. data/spec/dummy/tmp/cache/assets/test/sprockets/c29c465933e7e86d6f6224f5e78c5baf +0 -0
  165. data/spec/dummy/tmp/cache/assets/test/sprockets/c975834a35907ecd2d314bbd6844ee88 +0 -0
  166. data/spec/dummy/tmp/cache/assets/test/sprockets/cad26971ff72bbf5aa5f4e6a469389eb +0 -0
  167. data/spec/dummy/tmp/cache/assets/test/sprockets/cf4affc50c6303e717d6514380d1f417 +0 -0
  168. data/spec/dummy/tmp/cache/assets/test/sprockets/d0d5517256edcd1f83b11a13c6ca040f +0 -0
  169. data/spec/dummy/tmp/cache/assets/test/sprockets/d3087f7df919b7f0d8142ee163db6c79 +0 -0
  170. data/spec/dummy/tmp/cache/assets/test/sprockets/d8b357d5741711da2dd710af0e15d268 +0 -0
  171. data/spec/dummy/tmp/cache/assets/test/sprockets/decc27a1fa9ea32fe0dcc18619e32587 +0 -0
  172. data/spec/dummy/tmp/cache/assets/test/sprockets/df796f7ea525be06a82ebc3a4f97ffec +0 -0
  173. data/spec/dummy/tmp/cache/assets/test/sprockets/e22a1b318499e7f06ea9274e18ab004f +0 -0
  174. data/spec/dummy/tmp/cache/assets/test/sprockets/e298cc3a8203ab1fb6978a90254f8926 +0 -0
  175. data/spec/dummy/tmp/cache/assets/test/sprockets/e378dcebf3c529db0d6e57d0c8dc3904 +0 -0
  176. data/spec/dummy/tmp/cache/assets/test/sprockets/e868f358fe87542c483951a2d9f532b6 +0 -0
  177. data/spec/dummy/tmp/cache/assets/test/sprockets/e8a6adf580ebd1942f4aabe6738678c2 +0 -0
  178. data/spec/dummy/tmp/cache/assets/test/sprockets/ed71f99e0a9653296abd5d6f501dd898 +0 -0
  179. data/spec/dummy/tmp/cache/assets/test/sprockets/efe6f2d16d3a1819817efb8734daf8af +0 -0
  180. data/spec/dummy/tmp/cache/assets/test/sprockets/f03e99bdb4159ae3485ca2858716e19b +0 -0
  181. data/spec/dummy/tmp/cache/assets/test/sprockets/f4648036e284d9aa3468f4f7b9bbb967 +0 -0
  182. data/spec/dummy/tmp/cache/assets/test/sprockets/f961f7434a28c0fe24bf4ffe6cba75fb +0 -0
  183. data/spec/dummy/tmp/cache/assets/test/sprockets/f9bbf698d099ead559e5ba4a5a4c5538 +0 -0
  184. data/spec/dummy/tmp/cache/assets/test/sprockets/fb8d3825617fcc11dfa614a51effee0e +0 -0
  185. data/spec/helpers/prosperity/dashboard_graphs_helper_spec.rb +6 -0
  186. data/spec/helpers/prosperity/dashboards_helper_spec.rb +6 -0
  187. data/spec/helpers/prosperity/{metrics_helper_spec.rb → graph_helper_spec.rb} +1 -1
  188. data/spec/lib/prosperity/aggregate/aggregate_builder_spec.rb +65 -0
  189. data/spec/lib/prosperity/aggregate/average_spec.rb +7 -0
  190. data/spec/lib/prosperity/aggregate/base_spec.rb +7 -0
  191. data/spec/lib/prosperity/aggregate/count_spec.rb +7 -0
  192. data/spec/lib/prosperity/aggregate/maximum_spec.rb +7 -0
  193. data/spec/lib/prosperity/aggregate/minimum_spec.rb +7 -0
  194. data/spec/lib/prosperity/aggregate/sql_spec.rb +7 -0
  195. data/spec/lib/prosperity/aggregate/sum_spec.rb +7 -0
  196. data/spec/lib/prosperity/aggregate/with_column_spec.rb +7 -0
  197. data/spec/lib/prosperity/aggregate_spec.rb +7 -0
  198. data/spec/lib/prosperity/extractors/base_spec.rb +27 -2
  199. data/spec/lib/prosperity/extractors/change_spec.rb +72 -0
  200. data/spec/lib/prosperity/extractors/interval_spec.rb +153 -0
  201. data/spec/lib/prosperity/extractors/total_spec.rb +79 -0
  202. data/spec/lib/prosperity/helpers/time_spec.rb +7 -0
  203. data/spec/lib/prosperity/metric_finder_spec.rb +7 -0
  204. data/spec/lib/prosperity/metric_spec.rb +126 -1
  205. data/spec/lib/prosperity/periods_spec.rb +14 -0
  206. data/spec/models/prosperity/dashboard_graph_spec.rb +6 -0
  207. data/spec/models/prosperity/dashboard_spec.rb +6 -0
  208. data/spec/models/prosperity/graph_line_spec.rb +6 -0
  209. data/spec/models/prosperity/graph_spec.rb +6 -0
  210. data/spec/spec_helper.rb +5 -2
  211. data/spec/support/shared/extractors.rb +64 -0
  212. data/spec/support/test_database.rb +1 -0
  213. data/vendor/assets/javascripts/highcharts.js +285 -0
  214. metadata +317 -62
  215. data/app/helpers/prosperity/metrics_helper.rb +0 -11
  216. data/app/views/layouts/prosperity/application.html.haml +0 -37
  217. data/app/views/prosperity/metrics/index.html.haml +0 -7
  218. data/db/migrate/20131026214127_test.rb +0 -4
  219. data/lib/prosperity/extractors/count.rb +0 -18
  220. data/lib/prosperity/extractors/group.rb +0 -23
  221. data/spec/lib/prosperity/extractors/count_spec.rb +0 -35
  222. data/spec/lib/prosperity/extractors/group_spec.rb +0 -34
  223. data/vendor/assets/javascripts/chart.js +0 -1426
metadata CHANGED
@@ -1,83 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prosperity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Mathieu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-12 00:00:00.000000000 Z
11
+ date: 2014-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>'
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>'
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.2.0
27
- - !ruby/object:Gem::Dependency
28
- name: haml-rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: jquery-rails
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - '>='
31
+ - - ">="
46
32
  - !ruby/object:Gem::Version
47
33
  version: '0'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - '>='
38
+ - - ">="
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: pg
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: pry-debugger
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
45
+ - - ">="
74
46
  - !ruby/object:Gem::Version
75
47
  version: '0'
76
48
  type: :development
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
- - - '>='
52
+ - - ">="
81
53
  - !ruby/object:Gem::Version
82
54
  version: '0'
83
55
  description: Prosperity easily lets you add a dashboard of arbitrary time series data
@@ -88,36 +60,74 @@ executables: []
88
60
  extensions: []
89
61
  extra_rdoc_files: []
90
62
  files:
63
+ - MIT-LICENSE
64
+ - Rakefile
91
65
  - app/assets/javascripts/prosperity/application.js.coffee
66
+ - app/assets/javascripts/prosperity/dashboards.js.coffee
67
+ - app/assets/javascripts/prosperity/graph.js.coffee
92
68
  - app/assets/stylesheets/prosperity/application.css.scss
69
+ - app/assets/stylesheets/prosperity/dashboards.css
70
+ - app/assets/stylesheets/prosperity/graph.css
93
71
  - app/controllers/prosperity/application_controller.rb
72
+ - app/controllers/prosperity/dashboard_graphs_controller.rb
73
+ - app/controllers/prosperity/dashboards_controller.rb
74
+ - app/controllers/prosperity/graphs_controller.rb
94
75
  - app/controllers/prosperity/metrics_controller.rb
95
76
  - app/helpers/prosperity/application_helper.rb
96
- - app/helpers/prosperity/metrics_helper.rb
97
- - app/views/layouts/prosperity/application.html.haml
98
- - app/views/prosperity/metrics/index.html.haml
77
+ - app/helpers/prosperity/dashboard_graphs_helper.rb
78
+ - app/helpers/prosperity/dashboards_helper.rb
79
+ - app/helpers/prosperity/graph_helper.rb
80
+ - app/models/prosperity/dashboard.rb
81
+ - app/models/prosperity/dashboard_graph.rb
82
+ - app/models/prosperity/graph.rb
83
+ - app/models/prosperity/graph_line.rb
84
+ - app/views/layouts/prosperity/application.html.erb
85
+ - app/views/prosperity/dashboards/edit.html.erb
86
+ - app/views/prosperity/dashboards/index.html.erb
87
+ - app/views/prosperity/dashboards/new.html.erb
88
+ - app/views/prosperity/dashboards/show.html.erb
89
+ - app/views/prosperity/graphs/edit.html.erb
90
+ - app/views/prosperity/graphs/new.html.erb
91
+ - app/views/prosperity/metrics/index.html.erb
92
+ - app/views/prosperity/metrics/show.html.erb
93
+ - app/views/prosperity/shared/_date_range.html.erb
99
94
  - config/routes.rb
100
- - db/migrate/20131026214127_test.rb
95
+ - db/migrate/20131127042251_dashboards.rb
96
+ - lib/generators/metric/USAGE
97
+ - lib/generators/metric/metric_generator.rb
98
+ - lib/generators/metric/templates/metric.rb.erb
99
+ - lib/prosperity.rb
100
+ - lib/prosperity/aggregate.rb
101
+ - lib/prosperity/aggregate/aggregate_builder.rb
102
+ - lib/prosperity/aggregate/average.rb
103
+ - lib/prosperity/aggregate/base.rb
104
+ - lib/prosperity/aggregate/count.rb
105
+ - lib/prosperity/aggregate/maximum.rb
106
+ - lib/prosperity/aggregate/minimum.rb
107
+ - lib/prosperity/aggregate/sql.rb
108
+ - lib/prosperity/aggregate/sum.rb
109
+ - lib/prosperity/aggregate/with_column.rb
101
110
  - lib/prosperity/engine.rb
102
111
  - lib/prosperity/exception.rb
103
112
  - lib/prosperity/extractors/base.rb
104
- - lib/prosperity/extractors/count.rb
105
- - lib/prosperity/extractors/group.rb
113
+ - lib/prosperity/extractors/change.rb
114
+ - lib/prosperity/extractors/interval.rb
115
+ - lib/prosperity/extractors/total.rb
116
+ - lib/prosperity/helpers/time.rb
106
117
  - lib/prosperity/metric.rb
107
118
  - lib/prosperity/metric_finder.rb
108
- - lib/prosperity/metrics/option.rb
109
119
  - lib/prosperity/metrics.rb
120
+ - lib/prosperity/metrics/option.rb
110
121
  - lib/prosperity/period.rb
111
122
  - lib/prosperity/periods.rb
112
123
  - lib/prosperity/version.rb
113
- - lib/prosperity.rb
114
124
  - lib/tasks/prosperity_tasks.rake
115
- - vendor/assets/javascripts/chart.js
116
- - vendor/assets/stylesheets/bootstrap-theme.min.css
117
- - vendor/assets/stylesheets/bootstrap.min.css
118
- - MIT-LICENSE
119
- - Rakefile
125
+ - spec/controllers/prosperity/dashboard_graphs_controller_spec.rb
126
+ - spec/controllers/prosperity/dashboards_controller_spec.rb
127
+ - spec/controllers/prosperity/graphs_controller_spec.rb
120
128
  - spec/controllers/prosperity/metrics_controller_spec.rb
129
+ - spec/dummy/README.rdoc
130
+ - spec/dummy/Rakefile
121
131
  - spec/dummy/app/assets/javascripts/application.js
122
132
  - spec/dummy/app/assets/javascripts/users.js
123
133
  - spec/dummy/app/assets/stylesheets/application.css
@@ -128,7 +138,10 @@ files:
128
138
  - spec/dummy/app/helpers/application_helper.rb
129
139
  - spec/dummy/app/helpers/users_helper.rb
130
140
  - spec/dummy/app/models/user.rb
141
+ - spec/dummy/app/prosperity/user_value_sum_metric.rb
142
+ - spec/dummy/app/prosperity/user_value_sum_sql_metric.rb
131
143
  - spec/dummy/app/prosperity/users_metric.rb
144
+ - spec/dummy/app/prosperity/users_sql_metric.rb
132
145
  - spec/dummy/app/views/layouts/application.html.erb
133
146
  - spec/dummy/app/views/users/_form.html.erb
134
147
  - spec/dummy/app/views/users/edit.html.erb
@@ -138,6 +151,7 @@ files:
138
151
  - spec/dummy/bin/bundle
139
152
  - spec/dummy/bin/rails
140
153
  - spec/dummy/bin/rake
154
+ - spec/dummy/config.ru
141
155
  - spec/dummy/config/application.rb
142
156
  - spec/dummy/config/boot.rb
143
157
  - spec/dummy/config/database.yml
@@ -154,9 +168,9 @@ files:
154
168
  - spec/dummy/config/initializers/wrap_parameters.rb
155
169
  - spec/dummy/config/locales/en.yml
156
170
  - spec/dummy/config/routes.rb
157
- - spec/dummy/config.ru
158
171
  - spec/dummy/db/development.sqlite3
159
172
  - spec/dummy/db/migrate/20131026214807_create_users.rb
173
+ - spec/dummy/db/migrate/20140217005117_add_value_to_users.rb
160
174
  - spec/dummy/db/schema.rb
161
175
  - spec/dummy/db/seeds.rb
162
176
  - spec/dummy/db/test.sqlite3
@@ -166,8 +180,6 @@ files:
166
180
  - spec/dummy/public/422.html
167
181
  - spec/dummy/public/500.html
168
182
  - spec/dummy/public/favicon.ico
169
- - spec/dummy/Rakefile
170
- - spec/dummy/README.rdoc
171
183
  - spec/dummy/tmp/cache/assets/development/sass/34a577735054231563e7022ea73e1468db9203ba/application.css.scssc
172
184
  - spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_alerts.scssc
173
185
  - spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_badges.scssc
@@ -219,6 +231,7 @@ files:
219
231
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
220
232
  - spec/dummy/tmp/cache/assets/development/sprockets/1502b34f91cda1f4222490f78c0fea39
221
233
  - spec/dummy/tmp/cache/assets/development/sprockets/1533bcf4a8f5a745dfda80cebd88d217
234
+ - spec/dummy/tmp/cache/assets/development/sprockets/1643e7f9f85637df140a850af6674f10
222
235
  - spec/dummy/tmp/cache/assets/development/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc
223
236
  - spec/dummy/tmp/cache/assets/development/sprockets/18d7d771937643bc7e9210b1a80e5763
224
237
  - spec/dummy/tmp/cache/assets/development/sprockets/197492ed379339e17a0f5d01d3b01b8c
@@ -226,6 +239,8 @@ files:
226
239
  - spec/dummy/tmp/cache/assets/development/sprockets/1cb94582c835e73b3fd3c276f9a7de56
227
240
  - spec/dummy/tmp/cache/assets/development/sprockets/203047a4141cf08162077e7290421bbb
228
241
  - spec/dummy/tmp/cache/assets/development/sprockets/210050da208fb75a75b701bfa4e8470f
242
+ - spec/dummy/tmp/cache/assets/development/sprockets/2733033a48e2e8a6fdd6e4ab371689ee
243
+ - spec/dummy/tmp/cache/assets/development/sprockets/27a59e08207d3ae723f2b2b3d22264c3
229
244
  - spec/dummy/tmp/cache/assets/development/sprockets/29a6c93aeb91d07a5533b3adba7697d0
230
245
  - spec/dummy/tmp/cache/assets/development/sprockets/29ac2be474969468157245a7f8737fa4
231
246
  - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
@@ -234,21 +249,30 @@ files:
234
249
  - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
235
250
  - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
236
251
  - spec/dummy/tmp/cache/assets/development/sprockets/3d80e2a5faaf2bd987d804c17aead745
252
+ - spec/dummy/tmp/cache/assets/development/sprockets/3e21790900d62ae3954585f08a1cb28a
253
+ - spec/dummy/tmp/cache/assets/development/sprockets/3f76425644a701b85db3d385f077052d
237
254
  - spec/dummy/tmp/cache/assets/development/sprockets/4050a4e5062ab95c9f32e9b6940821ea
238
255
  - spec/dummy/tmp/cache/assets/development/sprockets/4155a156cc6ffb880b56dbc34346fbc0
239
256
  - spec/dummy/tmp/cache/assets/development/sprockets/4166fe47cddf4ba18c53b843d69b4c5f
240
257
  - spec/dummy/tmp/cache/assets/development/sprockets/4432a4b71ce9551df8d4b3860f4b9be3
258
+ - spec/dummy/tmp/cache/assets/development/sprockets/448c1e44da04c20f27eaa31ad8c4391e
259
+ - spec/dummy/tmp/cache/assets/development/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5
241
260
  - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
242
261
  - spec/dummy/tmp/cache/assets/development/sprockets/5479c7b4fba9179d4d1dc59ae64964c1
262
+ - spec/dummy/tmp/cache/assets/development/sprockets/566fbede2036fd06a20e7e52e30ddc7d
243
263
  - spec/dummy/tmp/cache/assets/development/sprockets/5a3ab9afd151c265cf11c621c0ddbe00
244
264
  - spec/dummy/tmp/cache/assets/development/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174
265
+ - spec/dummy/tmp/cache/assets/development/sprockets/5f1aaf22720701db690538726e896a39
245
266
  - spec/dummy/tmp/cache/assets/development/sprockets/647038c58f26163a9217646e1e5f09ae
246
267
  - spec/dummy/tmp/cache/assets/development/sprockets/64e0150fafbd9aaa3822efa1abb0211d
247
268
  - spec/dummy/tmp/cache/assets/development/sprockets/6536a3eb4b5d05368d260a46f2485ead
248
269
  - spec/dummy/tmp/cache/assets/development/sprockets/65c2d908dbca1bc833ae0b552f6c27fa
249
270
  - spec/dummy/tmp/cache/assets/development/sprockets/6882b260ae69f1594eff540d803e5ac3
271
+ - spec/dummy/tmp/cache/assets/development/sprockets/69f4b83d363269ee4122bbbaaa1325d1
272
+ - spec/dummy/tmp/cache/assets/development/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb
250
273
  - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
251
274
  - spec/dummy/tmp/cache/assets/development/sprockets/726d3f6850549a59954f0bf5584cfd9f
275
+ - spec/dummy/tmp/cache/assets/development/sprockets/72c0d4a0eeedae5e79ae49abb24f6d32
252
276
  - spec/dummy/tmp/cache/assets/development/sprockets/75f2f1e32219e0b89c069e43b49e0e49
253
277
  - spec/dummy/tmp/cache/assets/development/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f
254
278
  - spec/dummy/tmp/cache/assets/development/sprockets/7abbc975e6786a54d660e0cf19aab1f0
@@ -256,10 +280,13 @@ files:
256
280
  - spec/dummy/tmp/cache/assets/development/sprockets/7ffb7c821c008cd2a390dc7aba74361f
257
281
  - spec/dummy/tmp/cache/assets/development/sprockets/80392355fc6e00cf69b2cd46978ebcbe
258
282
  - spec/dummy/tmp/cache/assets/development/sprockets/8084620ce7f95d2b2aeb65c977c62af1
283
+ - spec/dummy/tmp/cache/assets/development/sprockets/828a046f0e7dc2dad0eecfe49d31e14d
259
284
  - spec/dummy/tmp/cache/assets/development/sprockets/874b42463fefbb0bce47775722ebb4ae
260
285
  - spec/dummy/tmp/cache/assets/development/sprockets/87b209c0c9da28094a8d5581a21262c6
261
286
  - spec/dummy/tmp/cache/assets/development/sprockets/87ef8ddd2847d19f22a16d726b88b433
262
287
  - spec/dummy/tmp/cache/assets/development/sprockets/91ae0bd43f98b4f1f111e0bdc178302c
288
+ - spec/dummy/tmp/cache/assets/development/sprockets/97d99b466bedb69706f4815fa26b69f3
289
+ - spec/dummy/tmp/cache/assets/development/sprockets/990cf740a7968767a327f6186313badb
263
290
  - spec/dummy/tmp/cache/assets/development/sprockets/9a7970620504bfe92af14fd57ee08365
264
291
  - spec/dummy/tmp/cache/assets/development/sprockets/9c8440c4efec99d4a380eeda42f089c7
265
292
  - spec/dummy/tmp/cache/assets/development/sprockets/9e4cf41800946fd32bcfa3591b304eb6
@@ -268,48 +295,153 @@ files:
268
295
  - spec/dummy/tmp/cache/assets/development/sprockets/a7a8652a3fb42ef81fac3ab77949f82d
269
296
  - spec/dummy/tmp/cache/assets/development/sprockets/a9d839f632f9ce73fc221b79b39b0924
270
297
  - spec/dummy/tmp/cache/assets/development/sprockets/bae0ea1201e2ec9420712ff54b3254aa
298
+ - spec/dummy/tmp/cache/assets/development/sprockets/bb1f5ffb0ccbeec2c6499044b356f7c6
299
+ - spec/dummy/tmp/cache/assets/development/sprockets/bc83340720a76d8208112f6aecbff08e
300
+ - spec/dummy/tmp/cache/assets/development/sprockets/be67cef79122a71f7432c2f984f1f258
271
301
  - spec/dummy/tmp/cache/assets/development/sprockets/c05c4a514cf0b61ad7b223ee732cd6df
272
302
  - spec/dummy/tmp/cache/assets/development/sprockets/c29c465933e7e86d6f6224f5e78c5baf
303
+ - spec/dummy/tmp/cache/assets/development/sprockets/c83e71ece967e80f8df838874c130431
273
304
  - spec/dummy/tmp/cache/assets/development/sprockets/c975834a35907ecd2d314bbd6844ee88
305
+ - spec/dummy/tmp/cache/assets/development/sprockets/cad26971ff72bbf5aa5f4e6a469389eb
274
306
  - spec/dummy/tmp/cache/assets/development/sprockets/cebc6db0bbb8120f430da3970b173d2f
275
307
  - spec/dummy/tmp/cache/assets/development/sprockets/cf4affc50c6303e717d6514380d1f417
276
308
  - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
277
309
  - spec/dummy/tmp/cache/assets/development/sprockets/d0194b0fba4290072cfff0be06b348fd
310
+ - spec/dummy/tmp/cache/assets/development/sprockets/d0d5517256edcd1f83b11a13c6ca040f
311
+ - spec/dummy/tmp/cache/assets/development/sprockets/d0f0c5e105bfb1d6e5cd7295fbd1f65d
312
+ - spec/dummy/tmp/cache/assets/development/sprockets/d3087f7df919b7f0d8142ee163db6c79
278
313
  - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
279
314
  - spec/dummy/tmp/cache/assets/development/sprockets/d8487b3a1dc72a1361b96fbbc93255c6
280
315
  - spec/dummy/tmp/cache/assets/development/sprockets/d8b357d5741711da2dd710af0e15d268
316
+ - spec/dummy/tmp/cache/assets/development/sprockets/decc27a1fa9ea32fe0dcc18619e32587
317
+ - spec/dummy/tmp/cache/assets/development/sprockets/df796f7ea525be06a82ebc3a4f97ffec
281
318
  - spec/dummy/tmp/cache/assets/development/sprockets/e02b5049cf477b43a72b4a00e2fceb46
282
319
  - spec/dummy/tmp/cache/assets/development/sprockets/e0be9bf6ab486a790bda60b51224b404
283
320
  - spec/dummy/tmp/cache/assets/development/sprockets/e22a1b318499e7f06ea9274e18ab004f
284
321
  - spec/dummy/tmp/cache/assets/development/sprockets/e298cc3a8203ab1fb6978a90254f8926
285
322
  - spec/dummy/tmp/cache/assets/development/sprockets/e2a9bdd87a2d19256837fce6544a122c
323
+ - spec/dummy/tmp/cache/assets/development/sprockets/e378dcebf3c529db0d6e57d0c8dc3904
286
324
  - spec/dummy/tmp/cache/assets/development/sprockets/e868f358fe87542c483951a2d9f532b6
287
325
  - spec/dummy/tmp/cache/assets/development/sprockets/e8a6adf580ebd1942f4aabe6738678c2
288
326
  - spec/dummy/tmp/cache/assets/development/sprockets/ea081ed20ad78a3e8f41a529b6baa2e1
289
327
  - spec/dummy/tmp/cache/assets/development/sprockets/ec956e1f28c818063bb61958fe5ae855
290
328
  - spec/dummy/tmp/cache/assets/development/sprockets/ed71f99e0a9653296abd5d6f501dd898
329
+ - spec/dummy/tmp/cache/assets/development/sprockets/ee3031bd54230ddf2addb5fa5718c86b
291
330
  - spec/dummy/tmp/cache/assets/development/sprockets/eee3cb53f216eaa12dd927f144640d0d
292
331
  - spec/dummy/tmp/cache/assets/development/sprockets/efe6f2d16d3a1819817efb8734daf8af
293
332
  - spec/dummy/tmp/cache/assets/development/sprockets/f03e99bdb4159ae3485ca2858716e19b
294
333
  - spec/dummy/tmp/cache/assets/development/sprockets/f29bc513eb7c7d4b79d53d51363f7f1f
334
+ - spec/dummy/tmp/cache/assets/development/sprockets/f4648036e284d9aa3468f4f7b9bbb967
295
335
  - spec/dummy/tmp/cache/assets/development/sprockets/f56253b5f374fff1a33fbbc9881c9124
296
336
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
337
+ - spec/dummy/tmp/cache/assets/development/sprockets/f9bbf698d099ead559e5ba4a5a4c5538
338
+ - spec/dummy/tmp/cache/assets/development/sprockets/fb8d3825617fcc11dfa614a51effee0e
297
339
  - spec/dummy/tmp/cache/assets/development/sprockets/fc2c22310cbb7abb26ae64d4aafa37cb
340
+ - spec/dummy/tmp/cache/assets/test/sass/34a577735054231563e7022ea73e1468db9203ba/application.css.scssc
341
+ - spec/dummy/tmp/cache/assets/test/sprockets/07e8fb2db7d85e29590a6b05160ca825
342
+ - spec/dummy/tmp/cache/assets/test/sprockets/0a40fa5e0d6c0de40a8a698dcd697305
343
+ - spec/dummy/tmp/cache/assets/test/sprockets/1533bcf4a8f5a745dfda80cebd88d217
344
+ - spec/dummy/tmp/cache/assets/test/sprockets/1643e7f9f85637df140a850af6674f10
345
+ - spec/dummy/tmp/cache/assets/test/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc
346
+ - spec/dummy/tmp/cache/assets/test/sprockets/197492ed379339e17a0f5d01d3b01b8c
347
+ - spec/dummy/tmp/cache/assets/test/sprockets/1c55cf24465f311353197ce336df0178
348
+ - spec/dummy/tmp/cache/assets/test/sprockets/1cb94582c835e73b3fd3c276f9a7de56
349
+ - spec/dummy/tmp/cache/assets/test/sprockets/203047a4141cf08162077e7290421bbb
350
+ - spec/dummy/tmp/cache/assets/test/sprockets/210050da208fb75a75b701bfa4e8470f
351
+ - spec/dummy/tmp/cache/assets/test/sprockets/2733033a48e2e8a6fdd6e4ab371689ee
352
+ - spec/dummy/tmp/cache/assets/test/sprockets/27a59e08207d3ae723f2b2b3d22264c3
353
+ - spec/dummy/tmp/cache/assets/test/sprockets/29a6c93aeb91d07a5533b3adba7697d0
354
+ - spec/dummy/tmp/cache/assets/test/sprockets/29ac2be474969468157245a7f8737fa4
355
+ - spec/dummy/tmp/cache/assets/test/sprockets/314e44d29ecc7449c9ca3b754329c245
356
+ - spec/dummy/tmp/cache/assets/test/sprockets/3162d1398d6940ee5e933b7ab4d2273d
357
+ - spec/dummy/tmp/cache/assets/test/sprockets/3d80e2a5faaf2bd987d804c17aead745
358
+ - spec/dummy/tmp/cache/assets/test/sprockets/4155a156cc6ffb880b56dbc34346fbc0
359
+ - spec/dummy/tmp/cache/assets/test/sprockets/4166fe47cddf4ba18c53b843d69b4c5f
360
+ - spec/dummy/tmp/cache/assets/test/sprockets/441f922b26aae90d40e319b6ed0a3bc8
361
+ - spec/dummy/tmp/cache/assets/test/sprockets/4432a4b71ce9551df8d4b3860f4b9be3
362
+ - spec/dummy/tmp/cache/assets/test/sprockets/448c1e44da04c20f27eaa31ad8c4391e
363
+ - spec/dummy/tmp/cache/assets/test/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5
364
+ - spec/dummy/tmp/cache/assets/test/sprockets/5479c7b4fba9179d4d1dc59ae64964c1
365
+ - spec/dummy/tmp/cache/assets/test/sprockets/566fbede2036fd06a20e7e52e30ddc7d
366
+ - spec/dummy/tmp/cache/assets/test/sprockets/5a3ab9afd151c265cf11c621c0ddbe00
367
+ - spec/dummy/tmp/cache/assets/test/sprockets/647038c58f26163a9217646e1e5f09ae
368
+ - spec/dummy/tmp/cache/assets/test/sprockets/64e0150fafbd9aaa3822efa1abb0211d
369
+ - spec/dummy/tmp/cache/assets/test/sprockets/65c2d908dbca1bc833ae0b552f6c27fa
370
+ - spec/dummy/tmp/cache/assets/test/sprockets/6882b260ae69f1594eff540d803e5ac3
371
+ - spec/dummy/tmp/cache/assets/test/sprockets/69f4b83d363269ee4122bbbaaa1325d1
372
+ - spec/dummy/tmp/cache/assets/test/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb
373
+ - spec/dummy/tmp/cache/assets/test/sprockets/726d3f6850549a59954f0bf5584cfd9f
374
+ - spec/dummy/tmp/cache/assets/test/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f
375
+ - spec/dummy/tmp/cache/assets/test/sprockets/7bac3aca131c870ad5b07d8ccdc86e06
376
+ - spec/dummy/tmp/cache/assets/test/sprockets/80392355fc6e00cf69b2cd46978ebcbe
377
+ - spec/dummy/tmp/cache/assets/test/sprockets/874b42463fefbb0bce47775722ebb4ae
378
+ - spec/dummy/tmp/cache/assets/test/sprockets/87ef8ddd2847d19f22a16d726b88b433
379
+ - spec/dummy/tmp/cache/assets/test/sprockets/91ae0bd43f98b4f1f111e0bdc178302c
380
+ - spec/dummy/tmp/cache/assets/test/sprockets/97d99b466bedb69706f4815fa26b69f3
381
+ - spec/dummy/tmp/cache/assets/test/sprockets/990cf740a7968767a327f6186313badb
382
+ - spec/dummy/tmp/cache/assets/test/sprockets/9a690664139b0393787d6454b4697183
383
+ - spec/dummy/tmp/cache/assets/test/sprockets/a2b14d5c46db32da9183354fb3fcd0bf
384
+ - spec/dummy/tmp/cache/assets/test/sprockets/a6d6196cfd275dea0718553a95f997a5
385
+ - spec/dummy/tmp/cache/assets/test/sprockets/bc83340720a76d8208112f6aecbff08e
386
+ - spec/dummy/tmp/cache/assets/test/sprockets/c29c465933e7e86d6f6224f5e78c5baf
387
+ - spec/dummy/tmp/cache/assets/test/sprockets/c975834a35907ecd2d314bbd6844ee88
388
+ - spec/dummy/tmp/cache/assets/test/sprockets/cad26971ff72bbf5aa5f4e6a469389eb
389
+ - spec/dummy/tmp/cache/assets/test/sprockets/cf4affc50c6303e717d6514380d1f417
390
+ - spec/dummy/tmp/cache/assets/test/sprockets/d0d5517256edcd1f83b11a13c6ca040f
391
+ - spec/dummy/tmp/cache/assets/test/sprockets/d3087f7df919b7f0d8142ee163db6c79
392
+ - spec/dummy/tmp/cache/assets/test/sprockets/d8b357d5741711da2dd710af0e15d268
393
+ - spec/dummy/tmp/cache/assets/test/sprockets/decc27a1fa9ea32fe0dcc18619e32587
394
+ - spec/dummy/tmp/cache/assets/test/sprockets/df796f7ea525be06a82ebc3a4f97ffec
395
+ - spec/dummy/tmp/cache/assets/test/sprockets/e22a1b318499e7f06ea9274e18ab004f
396
+ - spec/dummy/tmp/cache/assets/test/sprockets/e298cc3a8203ab1fb6978a90254f8926
397
+ - spec/dummy/tmp/cache/assets/test/sprockets/e378dcebf3c529db0d6e57d0c8dc3904
398
+ - spec/dummy/tmp/cache/assets/test/sprockets/e868f358fe87542c483951a2d9f532b6
399
+ - spec/dummy/tmp/cache/assets/test/sprockets/e8a6adf580ebd1942f4aabe6738678c2
400
+ - spec/dummy/tmp/cache/assets/test/sprockets/ed71f99e0a9653296abd5d6f501dd898
401
+ - spec/dummy/tmp/cache/assets/test/sprockets/efe6f2d16d3a1819817efb8734daf8af
402
+ - spec/dummy/tmp/cache/assets/test/sprockets/f03e99bdb4159ae3485ca2858716e19b
403
+ - spec/dummy/tmp/cache/assets/test/sprockets/f4648036e284d9aa3468f4f7b9bbb967
404
+ - spec/dummy/tmp/cache/assets/test/sprockets/f961f7434a28c0fe24bf4ffe6cba75fb
405
+ - spec/dummy/tmp/cache/assets/test/sprockets/f9bbf698d099ead559e5ba4a5a4c5538
406
+ - spec/dummy/tmp/cache/assets/test/sprockets/fb8d3825617fcc11dfa614a51effee0e
298
407
  - spec/dummy/tmp/restart.txt
299
- - spec/helpers/prosperity/metrics_helper_spec.rb
408
+ - spec/helpers/prosperity/dashboard_graphs_helper_spec.rb
409
+ - spec/helpers/prosperity/dashboards_helper_spec.rb
410
+ - spec/helpers/prosperity/graph_helper_spec.rb
411
+ - spec/lib/prosperity/aggregate/aggregate_builder_spec.rb
412
+ - spec/lib/prosperity/aggregate/average_spec.rb
413
+ - spec/lib/prosperity/aggregate/base_spec.rb
414
+ - spec/lib/prosperity/aggregate/count_spec.rb
415
+ - spec/lib/prosperity/aggregate/maximum_spec.rb
416
+ - spec/lib/prosperity/aggregate/minimum_spec.rb
417
+ - spec/lib/prosperity/aggregate/sql_spec.rb
418
+ - spec/lib/prosperity/aggregate/sum_spec.rb
419
+ - spec/lib/prosperity/aggregate/with_column_spec.rb
420
+ - spec/lib/prosperity/aggregate_spec.rb
300
421
  - spec/lib/prosperity/extractors/base_spec.rb
301
- - spec/lib/prosperity/extractors/count_spec.rb
302
- - spec/lib/prosperity/extractors/group_spec.rb
422
+ - spec/lib/prosperity/extractors/change_spec.rb
423
+ - spec/lib/prosperity/extractors/interval_spec.rb
424
+ - spec/lib/prosperity/extractors/total_spec.rb
425
+ - spec/lib/prosperity/helpers/time_spec.rb
303
426
  - spec/lib/prosperity/metric_finder_spec.rb
304
427
  - spec/lib/prosperity/metric_spec.rb
305
428
  - spec/lib/prosperity/metrics/option_spec.rb
306
429
  - spec/lib/prosperity/period_spec.rb
307
430
  - spec/lib/prosperity/periods_spec.rb
431
+ - spec/models/prosperity/dashboard_graph_spec.rb
432
+ - spec/models/prosperity/dashboard_spec.rb
433
+ - spec/models/prosperity/graph_line_spec.rb
434
+ - spec/models/prosperity/graph_spec.rb
308
435
  - spec/spec_helper.rb
436
+ - spec/support/shared/extractors.rb
309
437
  - spec/support/test_database.rb
310
438
  - spec/test_files/metrics/users_metric.rb
439
+ - vendor/assets/javascripts/highcharts.js
440
+ - vendor/assets/stylesheets/bootstrap-theme.min.css
441
+ - vendor/assets/stylesheets/bootstrap.min.css
311
442
  homepage: https://github.com/smathieu/prosperity
312
- licenses: []
443
+ licenses:
444
+ - MIT
313
445
  metadata: {}
314
446
  post_install_message:
315
447
  rdoc_options: []
@@ -317,22 +449,25 @@ require_paths:
317
449
  - lib
318
450
  required_ruby_version: !ruby/object:Gem::Requirement
319
451
  requirements:
320
- - - '>='
452
+ - - ">="
321
453
  - !ruby/object:Gem::Version
322
454
  version: '0'
323
455
  required_rubygems_version: !ruby/object:Gem::Requirement
324
456
  requirements:
325
- - - '>='
457
+ - - ">="
326
458
  - !ruby/object:Gem::Version
327
459
  version: '0'
328
460
  requirements: []
329
461
  rubyforge_project:
330
- rubygems_version: 2.0.4
462
+ rubygems_version: 2.2.2
331
463
  signing_key:
332
464
  specification_version: 4
333
465
  summary: Prosperity easily lets you add a dashboard of arbitrary time series data
334
466
  to your rails app.
335
467
  test_files:
468
+ - spec/controllers/prosperity/dashboard_graphs_controller_spec.rb
469
+ - spec/controllers/prosperity/dashboards_controller_spec.rb
470
+ - spec/controllers/prosperity/graphs_controller_spec.rb
336
471
  - spec/controllers/prosperity/metrics_controller_spec.rb
337
472
  - spec/dummy/app/assets/javascripts/application.js
338
473
  - spec/dummy/app/assets/javascripts/users.js
@@ -344,7 +479,10 @@ test_files:
344
479
  - spec/dummy/app/helpers/application_helper.rb
345
480
  - spec/dummy/app/helpers/users_helper.rb
346
481
  - spec/dummy/app/models/user.rb
482
+ - spec/dummy/app/prosperity/user_value_sum_metric.rb
483
+ - spec/dummy/app/prosperity/user_value_sum_sql_metric.rb
347
484
  - spec/dummy/app/prosperity/users_metric.rb
485
+ - spec/dummy/app/prosperity/users_sql_metric.rb
348
486
  - spec/dummy/app/views/layouts/application.html.erb
349
487
  - spec/dummy/app/views/users/_form.html.erb
350
488
  - spec/dummy/app/views/users/edit.html.erb
@@ -373,6 +511,7 @@ test_files:
373
511
  - spec/dummy/config.ru
374
512
  - spec/dummy/db/development.sqlite3
375
513
  - spec/dummy/db/migrate/20131026214807_create_users.rb
514
+ - spec/dummy/db/migrate/20140217005117_add_value_to_users.rb
376
515
  - spec/dummy/db/schema.rb
377
516
  - spec/dummy/db/seeds.rb
378
517
  - spec/dummy/db/test.sqlite3
@@ -435,6 +574,7 @@ test_files:
435
574
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
436
575
  - spec/dummy/tmp/cache/assets/development/sprockets/1502b34f91cda1f4222490f78c0fea39
437
576
  - spec/dummy/tmp/cache/assets/development/sprockets/1533bcf4a8f5a745dfda80cebd88d217
577
+ - spec/dummy/tmp/cache/assets/development/sprockets/1643e7f9f85637df140a850af6674f10
438
578
  - spec/dummy/tmp/cache/assets/development/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc
439
579
  - spec/dummy/tmp/cache/assets/development/sprockets/18d7d771937643bc7e9210b1a80e5763
440
580
  - spec/dummy/tmp/cache/assets/development/sprockets/197492ed379339e17a0f5d01d3b01b8c
@@ -442,6 +582,8 @@ test_files:
442
582
  - spec/dummy/tmp/cache/assets/development/sprockets/1cb94582c835e73b3fd3c276f9a7de56
443
583
  - spec/dummy/tmp/cache/assets/development/sprockets/203047a4141cf08162077e7290421bbb
444
584
  - spec/dummy/tmp/cache/assets/development/sprockets/210050da208fb75a75b701bfa4e8470f
585
+ - spec/dummy/tmp/cache/assets/development/sprockets/2733033a48e2e8a6fdd6e4ab371689ee
586
+ - spec/dummy/tmp/cache/assets/development/sprockets/27a59e08207d3ae723f2b2b3d22264c3
445
587
  - spec/dummy/tmp/cache/assets/development/sprockets/29a6c93aeb91d07a5533b3adba7697d0
446
588
  - spec/dummy/tmp/cache/assets/development/sprockets/29ac2be474969468157245a7f8737fa4
447
589
  - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
@@ -450,21 +592,30 @@ test_files:
450
592
  - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
451
593
  - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
452
594
  - spec/dummy/tmp/cache/assets/development/sprockets/3d80e2a5faaf2bd987d804c17aead745
595
+ - spec/dummy/tmp/cache/assets/development/sprockets/3e21790900d62ae3954585f08a1cb28a
596
+ - spec/dummy/tmp/cache/assets/development/sprockets/3f76425644a701b85db3d385f077052d
453
597
  - spec/dummy/tmp/cache/assets/development/sprockets/4050a4e5062ab95c9f32e9b6940821ea
454
598
  - spec/dummy/tmp/cache/assets/development/sprockets/4155a156cc6ffb880b56dbc34346fbc0
455
599
  - spec/dummy/tmp/cache/assets/development/sprockets/4166fe47cddf4ba18c53b843d69b4c5f
456
600
  - spec/dummy/tmp/cache/assets/development/sprockets/4432a4b71ce9551df8d4b3860f4b9be3
601
+ - spec/dummy/tmp/cache/assets/development/sprockets/448c1e44da04c20f27eaa31ad8c4391e
602
+ - spec/dummy/tmp/cache/assets/development/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5
457
603
  - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
458
604
  - spec/dummy/tmp/cache/assets/development/sprockets/5479c7b4fba9179d4d1dc59ae64964c1
605
+ - spec/dummy/tmp/cache/assets/development/sprockets/566fbede2036fd06a20e7e52e30ddc7d
459
606
  - spec/dummy/tmp/cache/assets/development/sprockets/5a3ab9afd151c265cf11c621c0ddbe00
460
607
  - spec/dummy/tmp/cache/assets/development/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174
608
+ - spec/dummy/tmp/cache/assets/development/sprockets/5f1aaf22720701db690538726e896a39
461
609
  - spec/dummy/tmp/cache/assets/development/sprockets/647038c58f26163a9217646e1e5f09ae
462
610
  - spec/dummy/tmp/cache/assets/development/sprockets/64e0150fafbd9aaa3822efa1abb0211d
463
611
  - spec/dummy/tmp/cache/assets/development/sprockets/6536a3eb4b5d05368d260a46f2485ead
464
612
  - spec/dummy/tmp/cache/assets/development/sprockets/65c2d908dbca1bc833ae0b552f6c27fa
465
613
  - spec/dummy/tmp/cache/assets/development/sprockets/6882b260ae69f1594eff540d803e5ac3
614
+ - spec/dummy/tmp/cache/assets/development/sprockets/69f4b83d363269ee4122bbbaaa1325d1
615
+ - spec/dummy/tmp/cache/assets/development/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb
466
616
  - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
467
617
  - spec/dummy/tmp/cache/assets/development/sprockets/726d3f6850549a59954f0bf5584cfd9f
618
+ - spec/dummy/tmp/cache/assets/development/sprockets/72c0d4a0eeedae5e79ae49abb24f6d32
468
619
  - spec/dummy/tmp/cache/assets/development/sprockets/75f2f1e32219e0b89c069e43b49e0e49
469
620
  - spec/dummy/tmp/cache/assets/development/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f
470
621
  - spec/dummy/tmp/cache/assets/development/sprockets/7abbc975e6786a54d660e0cf19aab1f0
@@ -472,10 +623,13 @@ test_files:
472
623
  - spec/dummy/tmp/cache/assets/development/sprockets/7ffb7c821c008cd2a390dc7aba74361f
473
624
  - spec/dummy/tmp/cache/assets/development/sprockets/80392355fc6e00cf69b2cd46978ebcbe
474
625
  - spec/dummy/tmp/cache/assets/development/sprockets/8084620ce7f95d2b2aeb65c977c62af1
626
+ - spec/dummy/tmp/cache/assets/development/sprockets/828a046f0e7dc2dad0eecfe49d31e14d
475
627
  - spec/dummy/tmp/cache/assets/development/sprockets/874b42463fefbb0bce47775722ebb4ae
476
628
  - spec/dummy/tmp/cache/assets/development/sprockets/87b209c0c9da28094a8d5581a21262c6
477
629
  - spec/dummy/tmp/cache/assets/development/sprockets/87ef8ddd2847d19f22a16d726b88b433
478
630
  - spec/dummy/tmp/cache/assets/development/sprockets/91ae0bd43f98b4f1f111e0bdc178302c
631
+ - spec/dummy/tmp/cache/assets/development/sprockets/97d99b466bedb69706f4815fa26b69f3
632
+ - spec/dummy/tmp/cache/assets/development/sprockets/990cf740a7968767a327f6186313badb
479
633
  - spec/dummy/tmp/cache/assets/development/sprockets/9a7970620504bfe92af14fd57ee08365
480
634
  - spec/dummy/tmp/cache/assets/development/sprockets/9c8440c4efec99d4a380eeda42f089c7
481
635
  - spec/dummy/tmp/cache/assets/development/sprockets/9e4cf41800946fd32bcfa3591b304eb6
@@ -484,43 +638,144 @@ test_files:
484
638
  - spec/dummy/tmp/cache/assets/development/sprockets/a7a8652a3fb42ef81fac3ab77949f82d
485
639
  - spec/dummy/tmp/cache/assets/development/sprockets/a9d839f632f9ce73fc221b79b39b0924
486
640
  - spec/dummy/tmp/cache/assets/development/sprockets/bae0ea1201e2ec9420712ff54b3254aa
641
+ - spec/dummy/tmp/cache/assets/development/sprockets/bb1f5ffb0ccbeec2c6499044b356f7c6
642
+ - spec/dummy/tmp/cache/assets/development/sprockets/bc83340720a76d8208112f6aecbff08e
643
+ - spec/dummy/tmp/cache/assets/development/sprockets/be67cef79122a71f7432c2f984f1f258
487
644
  - spec/dummy/tmp/cache/assets/development/sprockets/c05c4a514cf0b61ad7b223ee732cd6df
488
645
  - spec/dummy/tmp/cache/assets/development/sprockets/c29c465933e7e86d6f6224f5e78c5baf
646
+ - spec/dummy/tmp/cache/assets/development/sprockets/c83e71ece967e80f8df838874c130431
489
647
  - spec/dummy/tmp/cache/assets/development/sprockets/c975834a35907ecd2d314bbd6844ee88
648
+ - spec/dummy/tmp/cache/assets/development/sprockets/cad26971ff72bbf5aa5f4e6a469389eb
490
649
  - spec/dummy/tmp/cache/assets/development/sprockets/cebc6db0bbb8120f430da3970b173d2f
491
650
  - spec/dummy/tmp/cache/assets/development/sprockets/cf4affc50c6303e717d6514380d1f417
492
651
  - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
493
652
  - spec/dummy/tmp/cache/assets/development/sprockets/d0194b0fba4290072cfff0be06b348fd
653
+ - spec/dummy/tmp/cache/assets/development/sprockets/d0d5517256edcd1f83b11a13c6ca040f
654
+ - spec/dummy/tmp/cache/assets/development/sprockets/d0f0c5e105bfb1d6e5cd7295fbd1f65d
655
+ - spec/dummy/tmp/cache/assets/development/sprockets/d3087f7df919b7f0d8142ee163db6c79
494
656
  - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
495
657
  - spec/dummy/tmp/cache/assets/development/sprockets/d8487b3a1dc72a1361b96fbbc93255c6
496
658
  - spec/dummy/tmp/cache/assets/development/sprockets/d8b357d5741711da2dd710af0e15d268
659
+ - spec/dummy/tmp/cache/assets/development/sprockets/decc27a1fa9ea32fe0dcc18619e32587
660
+ - spec/dummy/tmp/cache/assets/development/sprockets/df796f7ea525be06a82ebc3a4f97ffec
497
661
  - spec/dummy/tmp/cache/assets/development/sprockets/e02b5049cf477b43a72b4a00e2fceb46
498
662
  - spec/dummy/tmp/cache/assets/development/sprockets/e0be9bf6ab486a790bda60b51224b404
499
663
  - spec/dummy/tmp/cache/assets/development/sprockets/e22a1b318499e7f06ea9274e18ab004f
500
664
  - spec/dummy/tmp/cache/assets/development/sprockets/e298cc3a8203ab1fb6978a90254f8926
501
665
  - spec/dummy/tmp/cache/assets/development/sprockets/e2a9bdd87a2d19256837fce6544a122c
666
+ - spec/dummy/tmp/cache/assets/development/sprockets/e378dcebf3c529db0d6e57d0c8dc3904
502
667
  - spec/dummy/tmp/cache/assets/development/sprockets/e868f358fe87542c483951a2d9f532b6
503
668
  - spec/dummy/tmp/cache/assets/development/sprockets/e8a6adf580ebd1942f4aabe6738678c2
504
669
  - spec/dummy/tmp/cache/assets/development/sprockets/ea081ed20ad78a3e8f41a529b6baa2e1
505
670
  - spec/dummy/tmp/cache/assets/development/sprockets/ec956e1f28c818063bb61958fe5ae855
506
671
  - spec/dummy/tmp/cache/assets/development/sprockets/ed71f99e0a9653296abd5d6f501dd898
672
+ - spec/dummy/tmp/cache/assets/development/sprockets/ee3031bd54230ddf2addb5fa5718c86b
507
673
  - spec/dummy/tmp/cache/assets/development/sprockets/eee3cb53f216eaa12dd927f144640d0d
508
674
  - spec/dummy/tmp/cache/assets/development/sprockets/efe6f2d16d3a1819817efb8734daf8af
509
675
  - spec/dummy/tmp/cache/assets/development/sprockets/f03e99bdb4159ae3485ca2858716e19b
510
676
  - spec/dummy/tmp/cache/assets/development/sprockets/f29bc513eb7c7d4b79d53d51363f7f1f
677
+ - spec/dummy/tmp/cache/assets/development/sprockets/f4648036e284d9aa3468f4f7b9bbb967
511
678
  - spec/dummy/tmp/cache/assets/development/sprockets/f56253b5f374fff1a33fbbc9881c9124
512
679
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
680
+ - spec/dummy/tmp/cache/assets/development/sprockets/f9bbf698d099ead559e5ba4a5a4c5538
681
+ - spec/dummy/tmp/cache/assets/development/sprockets/fb8d3825617fcc11dfa614a51effee0e
513
682
  - spec/dummy/tmp/cache/assets/development/sprockets/fc2c22310cbb7abb26ae64d4aafa37cb
683
+ - spec/dummy/tmp/cache/assets/test/sass/34a577735054231563e7022ea73e1468db9203ba/application.css.scssc
684
+ - spec/dummy/tmp/cache/assets/test/sprockets/07e8fb2db7d85e29590a6b05160ca825
685
+ - spec/dummy/tmp/cache/assets/test/sprockets/0a40fa5e0d6c0de40a8a698dcd697305
686
+ - spec/dummy/tmp/cache/assets/test/sprockets/1533bcf4a8f5a745dfda80cebd88d217
687
+ - spec/dummy/tmp/cache/assets/test/sprockets/1643e7f9f85637df140a850af6674f10
688
+ - spec/dummy/tmp/cache/assets/test/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc
689
+ - spec/dummy/tmp/cache/assets/test/sprockets/197492ed379339e17a0f5d01d3b01b8c
690
+ - spec/dummy/tmp/cache/assets/test/sprockets/1c55cf24465f311353197ce336df0178
691
+ - spec/dummy/tmp/cache/assets/test/sprockets/1cb94582c835e73b3fd3c276f9a7de56
692
+ - spec/dummy/tmp/cache/assets/test/sprockets/203047a4141cf08162077e7290421bbb
693
+ - spec/dummy/tmp/cache/assets/test/sprockets/210050da208fb75a75b701bfa4e8470f
694
+ - spec/dummy/tmp/cache/assets/test/sprockets/2733033a48e2e8a6fdd6e4ab371689ee
695
+ - spec/dummy/tmp/cache/assets/test/sprockets/27a59e08207d3ae723f2b2b3d22264c3
696
+ - spec/dummy/tmp/cache/assets/test/sprockets/29a6c93aeb91d07a5533b3adba7697d0
697
+ - spec/dummy/tmp/cache/assets/test/sprockets/29ac2be474969468157245a7f8737fa4
698
+ - spec/dummy/tmp/cache/assets/test/sprockets/314e44d29ecc7449c9ca3b754329c245
699
+ - spec/dummy/tmp/cache/assets/test/sprockets/3162d1398d6940ee5e933b7ab4d2273d
700
+ - spec/dummy/tmp/cache/assets/test/sprockets/3d80e2a5faaf2bd987d804c17aead745
701
+ - spec/dummy/tmp/cache/assets/test/sprockets/4155a156cc6ffb880b56dbc34346fbc0
702
+ - spec/dummy/tmp/cache/assets/test/sprockets/4166fe47cddf4ba18c53b843d69b4c5f
703
+ - spec/dummy/tmp/cache/assets/test/sprockets/441f922b26aae90d40e319b6ed0a3bc8
704
+ - spec/dummy/tmp/cache/assets/test/sprockets/4432a4b71ce9551df8d4b3860f4b9be3
705
+ - spec/dummy/tmp/cache/assets/test/sprockets/448c1e44da04c20f27eaa31ad8c4391e
706
+ - spec/dummy/tmp/cache/assets/test/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5
707
+ - spec/dummy/tmp/cache/assets/test/sprockets/5479c7b4fba9179d4d1dc59ae64964c1
708
+ - spec/dummy/tmp/cache/assets/test/sprockets/566fbede2036fd06a20e7e52e30ddc7d
709
+ - spec/dummy/tmp/cache/assets/test/sprockets/5a3ab9afd151c265cf11c621c0ddbe00
710
+ - spec/dummy/tmp/cache/assets/test/sprockets/647038c58f26163a9217646e1e5f09ae
711
+ - spec/dummy/tmp/cache/assets/test/sprockets/64e0150fafbd9aaa3822efa1abb0211d
712
+ - spec/dummy/tmp/cache/assets/test/sprockets/65c2d908dbca1bc833ae0b552f6c27fa
713
+ - spec/dummy/tmp/cache/assets/test/sprockets/6882b260ae69f1594eff540d803e5ac3
714
+ - spec/dummy/tmp/cache/assets/test/sprockets/69f4b83d363269ee4122bbbaaa1325d1
715
+ - spec/dummy/tmp/cache/assets/test/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb
716
+ - spec/dummy/tmp/cache/assets/test/sprockets/726d3f6850549a59954f0bf5584cfd9f
717
+ - spec/dummy/tmp/cache/assets/test/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f
718
+ - spec/dummy/tmp/cache/assets/test/sprockets/7bac3aca131c870ad5b07d8ccdc86e06
719
+ - spec/dummy/tmp/cache/assets/test/sprockets/80392355fc6e00cf69b2cd46978ebcbe
720
+ - spec/dummy/tmp/cache/assets/test/sprockets/874b42463fefbb0bce47775722ebb4ae
721
+ - spec/dummy/tmp/cache/assets/test/sprockets/87ef8ddd2847d19f22a16d726b88b433
722
+ - spec/dummy/tmp/cache/assets/test/sprockets/91ae0bd43f98b4f1f111e0bdc178302c
723
+ - spec/dummy/tmp/cache/assets/test/sprockets/97d99b466bedb69706f4815fa26b69f3
724
+ - spec/dummy/tmp/cache/assets/test/sprockets/990cf740a7968767a327f6186313badb
725
+ - spec/dummy/tmp/cache/assets/test/sprockets/9a690664139b0393787d6454b4697183
726
+ - spec/dummy/tmp/cache/assets/test/sprockets/a2b14d5c46db32da9183354fb3fcd0bf
727
+ - spec/dummy/tmp/cache/assets/test/sprockets/a6d6196cfd275dea0718553a95f997a5
728
+ - spec/dummy/tmp/cache/assets/test/sprockets/bc83340720a76d8208112f6aecbff08e
729
+ - spec/dummy/tmp/cache/assets/test/sprockets/c29c465933e7e86d6f6224f5e78c5baf
730
+ - spec/dummy/tmp/cache/assets/test/sprockets/c975834a35907ecd2d314bbd6844ee88
731
+ - spec/dummy/tmp/cache/assets/test/sprockets/cad26971ff72bbf5aa5f4e6a469389eb
732
+ - spec/dummy/tmp/cache/assets/test/sprockets/cf4affc50c6303e717d6514380d1f417
733
+ - spec/dummy/tmp/cache/assets/test/sprockets/d0d5517256edcd1f83b11a13c6ca040f
734
+ - spec/dummy/tmp/cache/assets/test/sprockets/d3087f7df919b7f0d8142ee163db6c79
735
+ - spec/dummy/tmp/cache/assets/test/sprockets/d8b357d5741711da2dd710af0e15d268
736
+ - spec/dummy/tmp/cache/assets/test/sprockets/decc27a1fa9ea32fe0dcc18619e32587
737
+ - spec/dummy/tmp/cache/assets/test/sprockets/df796f7ea525be06a82ebc3a4f97ffec
738
+ - spec/dummy/tmp/cache/assets/test/sprockets/e22a1b318499e7f06ea9274e18ab004f
739
+ - spec/dummy/tmp/cache/assets/test/sprockets/e298cc3a8203ab1fb6978a90254f8926
740
+ - spec/dummy/tmp/cache/assets/test/sprockets/e378dcebf3c529db0d6e57d0c8dc3904
741
+ - spec/dummy/tmp/cache/assets/test/sprockets/e868f358fe87542c483951a2d9f532b6
742
+ - spec/dummy/tmp/cache/assets/test/sprockets/e8a6adf580ebd1942f4aabe6738678c2
743
+ - spec/dummy/tmp/cache/assets/test/sprockets/ed71f99e0a9653296abd5d6f501dd898
744
+ - spec/dummy/tmp/cache/assets/test/sprockets/efe6f2d16d3a1819817efb8734daf8af
745
+ - spec/dummy/tmp/cache/assets/test/sprockets/f03e99bdb4159ae3485ca2858716e19b
746
+ - spec/dummy/tmp/cache/assets/test/sprockets/f4648036e284d9aa3468f4f7b9bbb967
747
+ - spec/dummy/tmp/cache/assets/test/sprockets/f961f7434a28c0fe24bf4ffe6cba75fb
748
+ - spec/dummy/tmp/cache/assets/test/sprockets/f9bbf698d099ead559e5ba4a5a4c5538
749
+ - spec/dummy/tmp/cache/assets/test/sprockets/fb8d3825617fcc11dfa614a51effee0e
514
750
  - spec/dummy/tmp/restart.txt
515
- - spec/helpers/prosperity/metrics_helper_spec.rb
751
+ - spec/helpers/prosperity/dashboard_graphs_helper_spec.rb
752
+ - spec/helpers/prosperity/dashboards_helper_spec.rb
753
+ - spec/helpers/prosperity/graph_helper_spec.rb
754
+ - spec/lib/prosperity/aggregate/aggregate_builder_spec.rb
755
+ - spec/lib/prosperity/aggregate/average_spec.rb
756
+ - spec/lib/prosperity/aggregate/base_spec.rb
757
+ - spec/lib/prosperity/aggregate/count_spec.rb
758
+ - spec/lib/prosperity/aggregate/maximum_spec.rb
759
+ - spec/lib/prosperity/aggregate/minimum_spec.rb
760
+ - spec/lib/prosperity/aggregate/sql_spec.rb
761
+ - spec/lib/prosperity/aggregate/sum_spec.rb
762
+ - spec/lib/prosperity/aggregate/with_column_spec.rb
763
+ - spec/lib/prosperity/aggregate_spec.rb
516
764
  - spec/lib/prosperity/extractors/base_spec.rb
517
- - spec/lib/prosperity/extractors/count_spec.rb
518
- - spec/lib/prosperity/extractors/group_spec.rb
765
+ - spec/lib/prosperity/extractors/change_spec.rb
766
+ - spec/lib/prosperity/extractors/interval_spec.rb
767
+ - spec/lib/prosperity/extractors/total_spec.rb
768
+ - spec/lib/prosperity/helpers/time_spec.rb
519
769
  - spec/lib/prosperity/metric_finder_spec.rb
520
770
  - spec/lib/prosperity/metric_spec.rb
521
771
  - spec/lib/prosperity/metrics/option_spec.rb
522
772
  - spec/lib/prosperity/period_spec.rb
523
773
  - spec/lib/prosperity/periods_spec.rb
774
+ - spec/models/prosperity/dashboard_graph_spec.rb
775
+ - spec/models/prosperity/dashboard_spec.rb
776
+ - spec/models/prosperity/graph_line_spec.rb
777
+ - spec/models/prosperity/graph_spec.rb
524
778
  - spec/spec_helper.rb
779
+ - spec/support/shared/extractors.rb
525
780
  - spec/support/test_database.rb
526
781
  - spec/test_files/metrics/users_metric.rb