livelist-rails 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -76,8 +76,26 @@ module Livelist
76
76
  end
77
77
  end
78
78
 
79
+ define_method "#{filter_slug}_counts_group_by" do
80
+ filter_slug
81
+ end
82
+
83
+ define_method "#{filter_slug}_join" do
84
+ scoped
85
+ end
86
+
87
+ define_method "#{filter_slug}_where" do |values|
88
+ where(model_name.to_s.tableize => { filter_slug => values })
89
+ end
90
+
79
91
  define_method "#{filter_slug}_filter_counts" do
80
- @@filter_relation.group(filter_slug).count
92
+ query = scoped.except(:order)
93
+ @@filter_slugs.each do |slug|
94
+ query = query.send("#{slug}_join")
95
+ query = query.send("#{slug}_where", @@filter_params[slug]) unless slug.to_s == filter_slug
96
+ end
97
+ group_by = send("#{filter_slug}_counts_group_by")
98
+ query.group(group_by).count
81
99
  end
82
100
 
83
101
  define_method "#{filter_slug}_filter_option_slug" do |option|
@@ -135,7 +153,7 @@ module Livelist
135
153
  end
136
154
 
137
155
  define_method "#{filter_slug}_relation" do |values|
138
- where(model_name.to_s.tableize => { filter_slug => values })
156
+ send("#{filter_slug}_join").send("#{filter_slug}_where", values)
139
157
  end
140
158
  end
141
159
  end
@@ -1,6 +1,6 @@
1
1
  module Livelist
2
2
  module Rails
3
- VERSION = '0.0.7'
3
+ VERSION = '0.0.8'
4
4
  LIVELIST_VERSION = '0.0.3'
5
5
  MUSTACHE_VERSION = 'db5f5ece0b6c87bbb2d0584010b97f8723dde69d'
6
6
  UNDERSCORE_VERSION = '1.2.3'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livelist-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-26 00:00:00.000000000Z
12
+ date: 2012-01-27 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &12360240 !ruby/object:Gem::Requirement
16
+ requirement: &17388780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *12360240
24
+ version_requirements: *17388780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
27
- requirement: &12359820 !ruby/object:Gem::Requirement
27
+ requirement: &17388360 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *12359820
35
+ version_requirements: *17388360
36
36
  description: ! 'livelist-rails is a Rails 3.1 Engine/Extensiont incorporating the
37
37
  following javascript libraries: Mustache.js, underscore.js, jQuery and livelist.js,
38
38
  and providing ActiveRecord filtering extenstions.'