factbase 0.16.0 → 0.16.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96133055dc92095960ab4b258f4a144105393d2a86e11f96c3199ff24d35653a
4
- data.tar.gz: f93590d550bf7b54aaa235e43557173d57af37abdc9e0a37491cf68c654e2c1e
3
+ metadata.gz: 8fa39d2285106eb0a074d6dbb21bf2d25c5f2307be35e12496bac61cb130e67b
4
+ data.tar.gz: 61081f7b97fd49dfbd92c4960b02eee002cbc3bd14db718d07b7c789fb6d690e
5
5
  SHA512:
6
- metadata.gz: 2a532d7b59b0fa32d5662c420fb1d0de409d1c9cdf52fd6cf42c3020fd20a2008679019cf853a49e7ac1b0c9207d87134ffe1f23693f652a99188c8c6bd518f2
7
- data.tar.gz: 67df97f44bdfbbcdba5cb5b7cec6a2f62cf9b4049f0a3d643382d797d9ec2997160ac231e871a18642c8fbd903387412e6c741d367f4e4362019d3a45a4cf6e3
6
+ metadata.gz: ab0927194278acc74075b9abc96d3a05a284ba05b8296680b79c2e7e8a2ed12b3cc73e303ce97c1471b29e3bc47b8db46590fe256dc948853acee675f5813062
7
+ data.tar.gz: d17d7750750e46eba2dfe73c6622ceb894f97425c97912c1cdcabf3821cd7f9822fd094d478dafd58fa546fb83c8a8efe5a5c12dc816c832f347da2d4ea0d156
@@ -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
@@ -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
@@ -9,5 +9,5 @@
9
9
  # License:: MIT
10
10
  class Factbase
11
11
  # Current version of the gem (changed by .rultor.yml on every release)
12
- VERSION = '0.16.0' unless const_defined?(:VERSION)
12
+ VERSION = '0.16.1' unless const_defined?(:VERSION)
13
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko