factbase 0.0.19 → 0.0.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/factbase.gemspec +1 -1
- data/lib/factbase/looged.rb +22 -7
- data/test/factbase/test_looged.rb +12 -0
- 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: fd5f2d977ba317805b5306d1a7a04c6f26e8cd6be228c254fdcd6ae322c9ecfb
|
4
|
+
data.tar.gz: a0f30e312586a23952f0df00a2ddf16de2818cafca8043d03acce21a0fbfa29b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 056656b1a3034c5e5e7025de734767d5c42957ba02e2f276a55a4257f4adaf3e01bf15b28488a8fd7727718f9d36980872d80cb5f63c0cf0a85675c93d6e712c
|
7
|
+
data.tar.gz: 1639980c0f9de4db14857068f97f5b3931027aa1ec49b3bdbe402828c017dc4c8b0bcd0469f6d17f0329cd3008748e06d044a0448fef4f2af4f6dce6e930f4c6
|
data/factbase.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
27
27
|
s.required_ruby_version = '>=2.3'
|
28
28
|
s.name = 'factbase'
|
29
|
-
s.version = '0.0.
|
29
|
+
s.version = '0.0.20'
|
30
30
|
s.license = 'MIT'
|
31
31
|
s.summary = 'Factbase'
|
32
32
|
s.description = 'Fact base in memory and on disc'
|
data/lib/factbase/looged.rb
CHANGED
@@ -109,19 +109,34 @@ class Factbase::Looged
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def each(&)
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
112
|
+
if block_given?
|
113
|
+
r = @query.each(&)
|
114
|
+
raise ".each of #{@query.class} returned #{r.class}" unless r.is_a?(Integer)
|
115
|
+
if r.zero?
|
116
|
+
@loog.debug("Nothing found by '#{@expr}'")
|
117
|
+
else
|
118
|
+
@loog.debug("Found #{r} fact(s) by '#{@expr}'")
|
119
|
+
end
|
120
|
+
r
|
116
121
|
else
|
117
|
-
|
122
|
+
array = []
|
123
|
+
# rubocop:disable Style/MapIntoArray
|
124
|
+
@query.each do |f|
|
125
|
+
array << f
|
126
|
+
end
|
127
|
+
# rubocop:enable Style/MapIntoArray
|
128
|
+
if array.empty?
|
129
|
+
@loog.debug("Nothing found by '#{@expr}'")
|
130
|
+
else
|
131
|
+
@loog.debug("Found #{array.size} fact(s) by '#{@expr}'")
|
132
|
+
end
|
133
|
+
array
|
118
134
|
end
|
119
|
-
r
|
120
135
|
end
|
121
136
|
|
122
137
|
def delete!
|
123
138
|
r = @query.delete!
|
124
|
-
raise
|
139
|
+
raise ".delete! of #{@query.class} returned #{r.class}" unless r.is_a?(Integer)
|
125
140
|
if r.zero?
|
126
141
|
@loog.debug("Nothing deleted by '#{@expr}'")
|
127
142
|
else
|
@@ -51,6 +51,18 @@ class TestLooged < Minitest::Test
|
|
51
51
|
assert_equal(2, Factbase::Looged.new(fb, Loog::NULL).query('()').each(&:to_s))
|
52
52
|
end
|
53
53
|
|
54
|
+
def test_returns_int_when_empty
|
55
|
+
fb = Factbase.new
|
56
|
+
assert_equal(0, Factbase::Looged.new(fb, Loog::NULL).query('()').each(&:to_s))
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_logs_when_enumerator
|
60
|
+
fb = Factbase::Looged.new(Factbase.new, Loog::NULL)
|
61
|
+
assert_equal(0, fb.query('()').each.to_a.size)
|
62
|
+
fb.insert
|
63
|
+
assert_equal(1, fb.query('()').each.to_a.size)
|
64
|
+
end
|
65
|
+
|
54
66
|
def test_proper_logging
|
55
67
|
log = Loog::Buffer.new
|
56
68
|
fb = Factbase::Looged.new(Factbase.new, log)
|