reductor 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/lib/reductor/converted_field.rb +9 -1
- data/lib/reductor/reductions/count.rb +7 -7
- data/lib/reductor/reductions/sum.rb +12 -8
- data/reductor.gemspec +1 -1
- metadata +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dde906879143006942304767f5f824e78d04e2b
|
4
|
+
data.tar.gz: 72a82858450bf80dacabdd141885d96494da883c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2fa1af943c38a7f83dbeba8726231756e343d234a8ae9abe0ee4b72eb26554576cf33edac1bed04597297d3dc2d3c97fe5999e0299710bfa86ae5d1253749a0b
|
7
|
+
data.tar.gz: 5fdcaa682a1573b20926b10bfc9d874afa48b934016d2a9cbcd5b86e7c723fd5e9d15fbff34925007ec215a30c2f0275ba7cbeb5fc7eaa2a4e21a4e33fcc74d1
|
@@ -6,7 +6,11 @@ class Reductor
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def translated
|
9
|
-
|
9
|
+
if translation_type.respond_to?(:call)
|
10
|
+
translation_type.call(field_name)
|
11
|
+
else
|
12
|
+
send(translation_type, field_name)
|
13
|
+
end
|
10
14
|
end
|
11
15
|
|
12
16
|
private
|
@@ -27,5 +31,9 @@ class Reductor
|
|
27
31
|
"this.#{field_name} ? new Date(this.#{field_name}.getFullYear()) : this.#{field_name}"
|
28
32
|
end
|
29
33
|
|
34
|
+
def presence(field_names)
|
35
|
+
[field_names].flatten.map{|e| "(this.#{e} ? true : false)" }.join(" && ")
|
36
|
+
end
|
37
|
+
|
30
38
|
end
|
31
39
|
end
|
@@ -14,8 +14,8 @@ class Reductor
|
|
14
14
|
@as = options[:as]
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
18
|
-
@as
|
17
|
+
def as
|
18
|
+
@as
|
19
19
|
end
|
20
20
|
|
21
21
|
def reduce
|
@@ -28,11 +28,11 @@ class Reductor
|
|
28
28
|
|
29
29
|
|
30
30
|
def finalize
|
31
|
-
|
32
|
-
function(key, values) {
|
33
|
-
|
34
|
-
}
|
35
|
-
|
31
|
+
if as
|
32
|
+
"function(key, values) { return { #{as}: values }; }"
|
33
|
+
else
|
34
|
+
"function(key, values) { return values; }"
|
35
|
+
end
|
36
36
|
end
|
37
37
|
|
38
38
|
end
|
@@ -4,9 +4,9 @@ class Reductor
|
|
4
4
|
|
5
5
|
def emit
|
6
6
|
if fields.size > 1
|
7
|
-
"emit({
|
7
|
+
"emit({#{fields.join(", ")} }, #{translated_sum_field});"
|
8
8
|
else
|
9
|
-
"emit(
|
9
|
+
"emit(#{fields.first.translated}, #{translated_sum_field});"
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,11 @@ class Reductor
|
|
16
16
|
|
17
17
|
def sum field, options = {}
|
18
18
|
@sum_field = field
|
19
|
-
@
|
19
|
+
@as = options[:as]
|
20
|
+
end
|
21
|
+
|
22
|
+
def as
|
23
|
+
@as
|
20
24
|
end
|
21
25
|
|
22
26
|
def reduce
|
@@ -28,11 +32,11 @@ class Reductor
|
|
28
32
|
end
|
29
33
|
|
30
34
|
def finalize
|
31
|
-
|
32
|
-
function(key, values) {
|
33
|
-
|
34
|
-
}
|
35
|
-
|
35
|
+
if as
|
36
|
+
"function(key, values) { return { #{as}: values }; }"
|
37
|
+
else
|
38
|
+
"function(key, values) { return values; }"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
|
38
42
|
end
|
data/reductor.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reductor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcin Stecki
|
@@ -49,4 +49,3 @@ signing_key:
|
|
49
49
|
specification_version: 4
|
50
50
|
summary: Map-reduce with ease.
|
51
51
|
test_files: []
|
52
|
-
has_rdoc:
|