factbase 0.16.0 → 0.16.2
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/Gemfile.lock +2 -2
- data/lib/factbase/indexed/indexed_term.rb +2 -0
- data/lib/factbase/terms/lists.rb +15 -0
- data/lib/factbase/terms/ordering.rb +0 -8
- data/lib/factbase/version.rb +1 -1
- data/lib/factbase.rb +1 -1
- 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: 7ba34d6b5b9a1744ae6600684ad71297a340dced1caa385d85bc1f46790cf200
|
4
|
+
data.tar.gz: 2cb3a384559e9d7451adcef94891d97f4314532611a83d55b1bde2f124124930
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8399dd7490033d036d092121216f9d58c07bd402b40ea7014445c2f215f2e6a6db8e206461dc6ef0aee47225b81d77c792acdf88652d7f79016e596c457cf61c
|
7
|
+
data.tar.gz: 5cccc18f353a9a93866d624ac4b3f03b6a32b820f7c83d6179f23b6f72b0a5b791f94382f61546d7910cea85aafde7b6fe824c5ae92e58bbf02f2e97a6d4c458
|
data/Gemfile.lock
CHANGED
@@ -90,10 +90,10 @@ GEM
|
|
90
90
|
lint_roller (~> 1.1)
|
91
91
|
rubocop (>= 1.75.0, < 2.0)
|
92
92
|
rubocop-ast (>= 1.38.0, < 2.0)
|
93
|
-
rubocop-performance (1.
|
93
|
+
rubocop-performance (1.26.0)
|
94
94
|
lint_roller (~> 1.1)
|
95
95
|
rubocop (>= 1.75.0, < 2.0)
|
96
|
-
rubocop-ast (>= 1.
|
96
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
97
97
|
rubocop-rake (0.7.1)
|
98
98
|
lint_roller (~> 1.1)
|
99
99
|
rubocop (>= 1.72.1)
|
@@ -20,6 +20,8 @@ module Factbase::IndexedTerm
|
|
20
20
|
# @param [Hash] params Key/value params to use
|
21
21
|
# @return [Array<Hash>|nil] Returns a new array, or NIL if the original array must be used
|
22
22
|
def predict(maps, fb, params)
|
23
|
+
m = :"#{@op}_predict"
|
24
|
+
return send(m, maps, fb, params) if respond_to?(m)
|
23
25
|
key = [maps.object_id, @operands.first, @op]
|
24
26
|
case @op
|
25
27
|
when :one
|
data/lib/factbase/terms/lists.rb
CHANGED
@@ -39,4 +39,19 @@ module Factbase::Lists
|
|
39
39
|
.reverse
|
40
40
|
.map { |m| m.all_properties.to_h { |k| [k, m[k]] } }
|
41
41
|
end
|
42
|
+
|
43
|
+
def head(_fact, _maps, _fb)
|
44
|
+
true
|
45
|
+
end
|
46
|
+
|
47
|
+
def head_predict(maps, fb, params)
|
48
|
+
assert_args(2)
|
49
|
+
max = @operands[0]
|
50
|
+
raise "An integer is expected as first argument of 'sorted'" unless max.is_a?(Integer)
|
51
|
+
term = @operands[1]
|
52
|
+
raise "A term is expected, but '#{term}' provided" unless term.is_a?(Factbase::Term)
|
53
|
+
fb.query(term, maps).each(fb, params).to_a
|
54
|
+
.take(max)
|
55
|
+
.map { |m| m.all_properties.to_h { |k| [k, m[k]] } }
|
56
|
+
end
|
42
57
|
end
|
@@ -31,12 +31,4 @@ module Factbase::Ordering
|
|
31
31
|
end
|
32
32
|
pass
|
33
33
|
end
|
34
|
-
|
35
|
-
def head(*)
|
36
|
-
max = @operands[0]
|
37
|
-
raise "An integer is expected as first argument of 'head'" unless max.is_a?(Integer)
|
38
|
-
@passed = 0 if @passed.nil?
|
39
|
-
@passed += 1
|
40
|
-
@passed <= max
|
41
|
-
end
|
42
34
|
end
|
data/lib/factbase/version.rb
CHANGED
data/lib/factbase.rb
CHANGED