statisfy 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/statisfy/model.rb +5 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6383d7143334e6448a05a5afb28b751f35afc830e04a2ad93dfe58a31a63a55f
|
4
|
+
data.tar.gz: eaf65b189c72a4fa77a439d4aff01bd6eeacf653036194e70085823433476e4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff8563a77a395cee961fbed96a2b58df75d9d284f737b30341f448cd0cd6f5e7c46b9dd64f3fc077f1c1dafc3ee8de7228f6c48d8bc195fcd5af15f22bd374ac
|
7
|
+
data.tar.gz: dfb1216d2ffb054c81f9055da931bb8d0e766ff148a95cb090afbccdffd36d27c8fd72fd55d8f5b73f5f0b54e8d381e23ab8392681cf9ea4cf337aac39f5e153
|
data/lib/statisfy/model.rb
CHANGED
@@ -11,24 +11,25 @@ module Statisfy
|
|
11
11
|
|
12
12
|
module ClassMethods
|
13
13
|
def count(params)
|
14
|
-
|
15
|
-
source = a_bloc&.source
|
14
|
+
raise ArgumentError, "Missing :as parameter" unless params[:as]
|
16
15
|
|
17
16
|
class_name = params[:as].to_s.camelize
|
18
17
|
|
19
18
|
eval <<-RUBY, binding, __FILE__, __LINE__ + 1
|
20
19
|
class ::Statisfy::#{class_name}
|
21
20
|
include Statisfy::Counter
|
22
|
-
|
23
|
-
#{source || "count(#{params})"}
|
24
21
|
end
|
25
22
|
RUBY
|
23
|
+
|
26
24
|
class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
27
25
|
def self.#{params[:as]}
|
28
26
|
::Statisfy::#{class_name}
|
29
27
|
end
|
30
28
|
RUBY
|
29
|
+
|
30
|
+
"::Statisfy::#{class_name}".constantize.send(__method__, **params)
|
31
31
|
end
|
32
|
+
alias aggregate count
|
32
33
|
end
|
33
34
|
end
|
34
35
|
end
|