ballot_box 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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