factbase 0.9.2 → 0.9.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/Gemfile.lock +5 -5
- data/lib/factbase/sync/sync_factbase.rb +10 -1
- data/lib/factbase.rb +1 -1
- data/test/factbase/sync/test_sync_factbase.rb +22 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20eec19cec2db862d93eb5efc62e1eda1bb01dcc5edc2e96318d6536afcfffd3
|
4
|
+
data.tar.gz: 63ce57fb3245985e615abd82c10a1c61e72fe4fbd1987c5781b1937ab8bf4ed4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6dd94399d95fd3b6e3654786436d63f37ab650d47261b79ea09c5012e81273579afc53285310dc57e877018faffd40609dea2156597d49157b2caa2eeac91353
|
7
|
+
data.tar.gz: eaea23931db92c65643e0617617246b8d7b7aebca40c11f4eae158fefe9ad0cb169bae5cac05155288e62b112d52eae407e2ced76043f76e24d7091ec64efa28
|
data/Gemfile.lock
CHANGED
@@ -83,13 +83,13 @@ GEM
|
|
83
83
|
builder
|
84
84
|
minitest (>= 5.0)
|
85
85
|
ruby-progressbar
|
86
|
-
nokogiri (1.18.
|
86
|
+
nokogiri (1.18.4-arm64-darwin)
|
87
87
|
racc (~> 1.4)
|
88
|
-
nokogiri (1.18.
|
88
|
+
nokogiri (1.18.4-x64-mingw-ucrt)
|
89
89
|
racc (~> 1.4)
|
90
|
-
nokogiri (1.18.
|
90
|
+
nokogiri (1.18.4-x86_64-darwin)
|
91
91
|
racc (~> 1.4)
|
92
|
-
nokogiri (1.18.
|
92
|
+
nokogiri (1.18.4-x86_64-linux-gnu)
|
93
93
|
racc (~> 1.4)
|
94
94
|
os (1.1.4)
|
95
95
|
others (0.0.3)
|
@@ -168,7 +168,7 @@ GEM
|
|
168
168
|
rubocop-ast (>= 1.38.0, < 2.0)
|
169
169
|
ruby-progressbar (~> 1.7)
|
170
170
|
unicode-display_width (>= 2.4.0, < 4.0)
|
171
|
-
rubocop-ast (1.
|
171
|
+
rubocop-ast (1.39.0)
|
172
172
|
parser (>= 3.3.1.0)
|
173
173
|
rubocop-minitest (0.37.1)
|
174
174
|
lint_roller (~> 1.1)
|
@@ -25,7 +25,7 @@ class Factbase::SyncFactbase
|
|
25
25
|
# Insert a new fact and return it.
|
26
26
|
# @return [Factbase::Fact] The fact just inserted
|
27
27
|
def insert
|
28
|
-
|
28
|
+
try_lock do
|
29
29
|
@origin.insert
|
30
30
|
end
|
31
31
|
end
|
@@ -54,4 +54,13 @@ class Factbase::SyncFactbase
|
|
54
54
|
yield Factbase::SyncFactbase.new(fbt, @mutex)
|
55
55
|
end
|
56
56
|
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def try_lock
|
61
|
+
locked = @mutex.try_lock
|
62
|
+
r = yield
|
63
|
+
@mutex.unlock if locked
|
64
|
+
r
|
65
|
+
end
|
57
66
|
end
|
data/lib/factbase.rb
CHANGED
@@ -82,7 +82,7 @@ require 'yaml'
|
|
82
82
|
# License:: MIT
|
83
83
|
class Factbase
|
84
84
|
# Current version of the gem (changed by .rultor.yml on every release)
|
85
|
-
VERSION = '0.9.
|
85
|
+
VERSION = '0.9.3' unless const_defined?(:VERSION)
|
86
86
|
|
87
87
|
# An exception that may be thrown in a transaction, to roll it back.
|
88
88
|
class Rollback < StandardError; end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
|
4
|
+
# SPDX-License-Identifier: MIT
|
5
|
+
|
6
|
+
require_relative '../../test__helper'
|
7
|
+
require_relative '../../../lib/factbase'
|
8
|
+
require_relative '../../../lib/factbase/sync/sync_factbase'
|
9
|
+
|
10
|
+
# Sync factbase test.
|
11
|
+
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
12
|
+
# Copyright:: Copyright (c) 2024-2025 Yegor Bugayenko
|
13
|
+
# License:: MIT
|
14
|
+
class TestSyncFactbase < Factbase::Test
|
15
|
+
def test_queries_and_inserts
|
16
|
+
fb = Factbase::SyncFactbase.new(Factbase.new)
|
17
|
+
fb.insert.foo = 42
|
18
|
+
fb.query('(exists foo)').each do
|
19
|
+
fb.insert
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: factbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-03-
|
10
|
+
date: 2025-03-17 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: backtrace
|
@@ -219,6 +219,7 @@ files:
|
|
219
219
|
- test/factbase/cached/test_cached_factbase.rb
|
220
220
|
- test/factbase/cached/test_cached_query.rb
|
221
221
|
- test/factbase/indexed/test_indexed_query.rb
|
222
|
+
- test/factbase/sync/test_sync_factbase.rb
|
222
223
|
- test/factbase/sync/test_sync_query.rb
|
223
224
|
- test/factbase/terms/test_aggregates.rb
|
224
225
|
- test/factbase/terms/test_aliases.rb
|