Commit graph

3003 commits

Author SHA1 Message Date
Matt Rogers
66827d0640 add test coverage for when we don't have any users
It wasn't being covered in the functional test for this controller.
2013-03-03 13:56:24 -06:00
Matt Rogers
7c5028f227 add the mocha stubbing and mocking library 2013-03-03 13:56:18 -06:00
Reinier Balt
0f7ed245c6 Merge pull request #169 from kytrinyx/index-page
Encapsulate dependencies of stats index page
2013-03-03 06:35:29 -08:00
Matt Rogers
31d32614e2 restore the french locale file 2013-03-02 23:19:30 -06:00
Katrina Owen
d5a555fbac Encapsulate dependencies of stats index page
This may be a bit extreme.

It's modeled after the ideal "rails way".

In the controller, we now know the name of a single resource. It
doesn't happen to be backed by a database table, but it does know all
about the task of collecting stats, leaving the controller concerned
with just munging params and rendering stuff.

I called the resource `IndexPage`, to avoid the temptation of trying to
reuse it, which can get pretty messy.

Later, if a better abstraction appears, it should be fairly painless to
alter.
2013-03-02 17:35:19 -07:00
Katrina Owen
6df3534baf Inline last pieces into StatsController#index
We can now skip the before filter that sets instance variables.
2013-03-02 17:27:38 -07:00
Katrina Owen
ac4a483b18 Inline helper method 2013-03-02 17:24:05 -07:00
Katrina Owen
615a9e46c9 Encapsulate counts and totals into a class.
Move queries out of the view and into the model layer.
2013-03-02 17:22:15 -07:00
Katrina Owen
6ccb9a81fb Group context-related pieces in a class 2013-03-02 17:21:03 -07:00
Katrina Owen
8b1f0a34a0 Group project-related stats into a class.
Reduce number of instance variables available to the views.
Replace raw SQL with AR-type query.
2013-03-02 17:12:14 -07:00
Reinier Balt
1e3782ce67 Merge pull request #168 from kytrinyx/stats-actions
Encapsulate the stats for actions on the stats index page
2013-03-02 13:58:32 -08:00
Matt Rogers
9e4ec67dd2 Merge pull request #167 from kytrinyx/stats-contexts-view
Simplify context partial in stats
2013-03-02 13:52:52 -08:00
Matt Rogers
0ab7e2101f Merge pull request #166 from kytrinyx/tag-cloud-columns
Add spaces so tag cloud columns can wrap.
2013-03-02 13:47:44 -08:00
Katrina Owen
e56fa5740a Make test name reflect actual data 2013-03-02 16:20:57 -05:00
Katrina Owen
c4433a5ea9 Don't round in ttc.min_sec method
This fixes a bug where it would round 1.8 days up to
2 days, and still display the extra hours in addition.
2013-03-02 16:16:45 -05:00
Katrina Owen
03282638af Move calculation out of view 2013-03-02 16:16:45 -05:00
Katrina Owen
27ba50b460 Extract time to complete partial 2013-03-02 16:16:45 -05:00
Katrina Owen
62336f94cd Move time to complete stats into separate class
This separates out the calculations from the queries so we can get
decent tests around them.
2013-03-02 16:16:45 -05:00
Katrina Owen
0ebb98d49f Encapsulate action stats
This gets rid of a bunch of instance variables in the view/controller
layer.
2013-03-02 16:16:45 -05:00
Katrina Owen
2d2e5fd133 Simplify context partial in stats 2013-03-02 16:15:18 -05:00
Katrina Owen
d4fb1f95d8 Add spaces so tag cloud columns can wrap. 2013-03-02 15:52:39 -05:00
Reinier Balt
6c3f447d8e remove two unused translation keys 2013-03-02 16:44:38 +01:00
Reinier Balt
f649c6ce0c fix js for contexts and add i18n keys for closed contexts 2013-03-02 16:33:38 +01:00
Reinier Balt
2719cb87c7 use state machine from controller and handle exception 2013-03-02 14:52:21 +01:00
Matt Rogers
004339a2ca Merge pull request #164 from kytrinyx/adjust-font-size
Split up the font size calculation
2013-03-02 05:40:38 -08:00
Matt Rogers
d518fe6eb0 Merge pull request #165 from kytrinyx/more-context-sql
Fold two more SQL queries into the query object
2013-03-02 05:39:06 -08:00
Katrina Owen
1b7ed32024 Fold two more SQL queries into the query object 2013-03-02 07:54:13 -05:00
Katrina Owen
3f496db4b4 Split up the font size calculation
The font size is a view concern, but the relative size belongs in the
model layer.
2013-03-02 07:14:52 -05:00
Reinier Balt
fbfc9c7086 do a small sleep to hopefully aviod an Element not found error 2013-03-02 11:44:54 +01:00
Reinier Balt
4aa5933946 return aruba to Gemfile and fix aruba scenarios 2013-03-02 11:36:46 +01:00
Dan Rice
257b969aff Fix code formatting in AddStateToContext migration 2013-03-02 03:19:40 -05:00
Dan Rice
560f2ff538 Give the Context.state column a default value of 'active'
SQLite does not permit a NOT NULL column to have default value NULL.
2013-03-02 03:02:05 -05:00
Matt Rogers
ae42f9c076 Merge pull request #163 from kytrinyx/stats-project-view
Simplify stats project view
2013-03-01 22:02:39 -08:00
Matt Rogers
3365b7e79f Merge pull request #162 from kytrinyx/projects-stats
Extract duplicate top projects query from stats controller
2013-03-01 21:58:34 -08:00
Matt Rogers
77df6483da Merge pull request #161 from kytrinyx/contexts-stats
Extract duplicate context query from controller
2013-03-01 21:57:49 -08:00
Katrina Owen
a41704b72f Collapse duplication in stats project view 2013-03-02 00:48:59 -05:00
Katrina Owen
254179b4c8 Simplify stats projects view
Use `each_with_index` instead of hand-wrought index to loop through
projects, and use a partial for the duplicated empty list items.
2013-03-02 00:38:54 -05:00
Katrina Owen
2686a0d3b5 Don't link to null projects
If you have fewer than 10 projects, then empty running projects were
linked to with the path `/projects/-1`.

Copy/pasted the list strategy from the other project sections in the
same partial so the duplication becomes explicit.
2013-03-02 00:19:47 -05:00
Katrina Owen
6385059de8 Increment list counter in project view
This fixes a bug where if you have fewer than 10 projects, your top 10
projects were listed as:

6 - n/a (n/a)
6 - n/a (n/a)
6 - n/a (n/a)
6 - n/a (n/a)

rather than

7 - n/a (n/a)
8 - n/a (n/a)
9 - n/a (n/a)
10 - n/a (n/a)
2013-03-02 00:11:31 -05:00
Katrina Owen
a23d2eb070 Extract duplicate context query from controller 2013-03-01 23:29:54 -05:00
Katrina Owen
6de4713d38 Extract top projects query object
This removed a bit of duplication from the stats controller.
2013-03-01 23:11:44 -05:00
Matt Rogers
f375c06964 Merge pull request #160 from kytrinyx/tag-counts
Extract duplicated query from stats controller
2013-03-01 18:52:52 -08:00
Matt Rogers
2b2a090173 Merge pull request #159 from kytrinyx/charts
Extract chart value object
2013-03-01 18:48:15 -08:00
Katrina Owen
4dff7538ea Extract duplicated query
This includes a bit of a simplification which assumes that there aren't
any orphan taggings for a user.
2013-03-01 21:27:58 -05:00
Katrina Owen
0aa6ea183b Extract chart value object
This simplifies the views (slightly).
2013-03-01 20:38:24 -05:00
Matt Rogers
8b0f3e986a Merge branch 'tag-cloud' of https://github.com/kytrinyx/tracks 2013-03-01 16:49:53 -06:00
Dan Rice
a8810bbcd3 Move badges below meta in README 2013-03-02 00:13:44 +02:00
Dan Rice
4a3f2c048a Update Code Climate badge in README 2013-03-02 00:12:01 +02:00
Katrina Owen
cd7a5e0866 Delete redundant casting in tag cloud 2013-03-01 16:12:00 -05:00
Katrina Owen
a13199cdda Add unit test for tag cloud 2013-03-01 16:03:35 -05:00