Katrina Owen
3479585991
Use a more appropriate name for stats domain object
2013-03-05 07:49:44 -07: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
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
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
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
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
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
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
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
Katrina Owen
a81f5b76f3
Separate query from cloud
...
This will make testing easier
2013-03-01 13:14:27 -05:00
Reinier Balt
4df340bd7b
add ui for changing state of context to closed. This fixes #645
2013-03-01 16:22:30 +01:00
Reinier Balt
acab98d4c7
fix failing tests
2013-03-01 16:22:29 +01:00
Reinier Balt
bf3a1e653a
increate test coverage for user and project model
2013-03-01 16:22:29 +01:00
Reinier Balt
188baa938d
remove unused method from tag model
2013-03-01 16:22:29 +01:00
Reinier Balt
1e7e925c39
fix failing test
2013-03-01 16:22:29 +01:00
Reinier Balt
1e84adc91b
get tests running and fix editing context state
2013-03-01 16:22:29 +01:00
Reinier Balt
99eed9f638
add state machine to context including a closed state
2013-03-01 16:22:29 +01:00
Katrina Owen
0f5b402427
Use minimum of tag count for tag cloud
...
The tag cloud minimum used to start at 0, then repeatedly compared to
the lowest count and chose the smallest, which is bound to be zero in
every case.
Discussed
[here](8c26ea7cb5 (commitcomment-2719199) ).
2013-03-01 00:13:41 -05:00
Katrina Owen
8f42b25e68
Use lowest tag count as minimum
2013-02-28 23:36:08 -05:00
Matt Rogers
14a47f0480
Merge pull request #156 from kytrinyx/min-max
...
Swap min/max variables in i18n translation
2013-02-28 19:36:33 -08:00
Katrina Owen
d577dd9201
Completely whimsical whitespace adjustment.
2013-02-28 22:32:24 -05:00
Katrina Owen
d478efdd01
Move font calculation into tag cloud
2013-02-28 22:30:34 -05:00
Katrina Owen
2321d1f2a3
Call the cloud partial twice
...
Delete half the partial, and use each of the cloud objects to call it.
2013-02-28 22:03:39 -05:00
Katrina Owen
b5868d5c70
Use tag cloud objects in view
...
This allows us to not set the individual instance variables for the tag
cloud attributes.
2013-02-28 22:00:23 -05:00