ballot_box 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module BallotBox
3
- VERSION = "0.1.5".freeze
3
+ VERSION = "0.1.6"
4
4
  end
@@ -38,17 +38,35 @@ module BallotBox
38
38
  end
39
39
 
40
40
  def chart(mode)
41
- result = case mode.to_s.downcase
42
- when 'dates' then chart_dates
43
- when 'browsers' then chart_browsers
44
- when 'platforms' then chart_platforms
41
+ case mode.to_s.downcase
42
+ when 'dates' then [chart_dates]
43
+ when 'browsers' then [chart_browsers]
44
+ when 'platforms' then [chart_platforms]
45
+ when 'dates_browsers' then chart_dates_browsers
45
46
  end
46
-
47
- [ result ].to_json
48
47
  end
49
48
 
50
49
  protected
51
-
50
+
51
+ def chart_dates_browsers
52
+ result = []
53
+ data = scoped.select("DATE(created_at) AS created_at, SUM(value) AS rating, browser_name").group("DATE(created_at), browser_name").all
54
+
55
+ result << {
56
+ :name => "total",
57
+ :data => data.group_by(&:created_at).collect { |created_at, items| [created_at, items.sum(&:rating) ] }
58
+ }
59
+
60
+ data.group_by(&:browser_name).each do |browser_name, items|
61
+ result << {
62
+ :name => browser_name,
63
+ :data => items.collect { |item| [ item.created_at, item.rating.to_i ] }
64
+ }
65
+ end
66
+
67
+ result
68
+ end
69
+
52
70
  def chart_dates
53
71
  data = scoped.select("DATE(created_at) AS created_at, SUM(value) AS rating").group("DATE(created_at)").all
54
72
  data.collect { |item| [ item.created_at, item.rating.to_i ] }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ballot_box
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Igor Galeta
@@ -15,7 +15,8 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-17 00:00:00 Z
18
+ date: 2011-11-01 00:00:00 +02:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: browser
@@ -57,23 +58,24 @@ extra_rdoc_files:
57
58
  - README.rdoc
58
59
  files:
59
60
  - app/models/ballot_box/vote.rb
60
- - lib/generators/ballot_box/install_generator.rb
61
- - lib/generators/ballot_box/USAGE
62
- - lib/generators/ballot_box/templates/migrate/create_votes.rb
61
+ - lib/ballot_box/engine.rb
63
62
  - lib/ballot_box/base.rb
64
63
  - lib/ballot_box/config.rb
65
- - lib/ballot_box/callbacks.rb
66
64
  - lib/ballot_box/manager.rb
67
65
  - lib/ballot_box/version.rb
68
- - lib/ballot_box/engine.rb
69
- - lib/ballot_box/voting.rb
70
- - lib/ballot_box/strategies/base.rb
71
66
  - lib/ballot_box/strategies/authenticated.rb
67
+ - lib/ballot_box/strategies/base.rb
68
+ - lib/ballot_box/voting.rb
69
+ - lib/ballot_box/callbacks.rb
72
70
  - lib/ballot_box.rb
71
+ - lib/generators/ballot_box/install_generator.rb
72
+ - lib/generators/ballot_box/templates/migrate/create_votes.rb
73
+ - lib/generators/ballot_box/USAGE
73
74
  - MIT-LICENSE
74
75
  - Rakefile
75
76
  - Gemfile
76
77
  - README.rdoc
78
+ has_rdoc: true
77
79
  homepage: https://github.com/galetahub/ballot_box
78
80
  licenses: []
79
81
 
@@ -103,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
105
  requirements: []
104
106
 
105
107
  rubyforge_project: ballot_box
106
- rubygems_version: 1.8.11
108
+ rubygems_version: 1.6.2
107
109
  signing_key:
108
110
  specification_version: 3
109
111
  summary: The BallotBox gem enables visitors to vote for and against voteable objects