factbase 0.0.47 → 0.0.48
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/factbase/flatten.rb +2 -1
- data/lib/factbase/term.rb +1 -0
- data/lib/factbase/to_json.rb +1 -1
- data/lib/factbase/to_xml.rb +1 -1
- data/lib/factbase/to_yaml.rb +1 -1
- data/lib/factbase.rb +1 -1
- data/test/factbase/test_query.rb +2 -1
- data/test/factbase/test_term.rb +1 -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: 56a6a221e2344538c324a601f49ad655f4d5e3b6682b5e717e8f798a6eb46030
|
4
|
+
data.tar.gz: 94bb595173fbea968c4a8e8af2b8d6cf08689127e2dfd2c2c296420659da5304
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe4eb95604ae3ba22d24ef01a4c86b1dcdf4c9b3ff38969cbc459653a6a72a201d317bdf86f71c22206c771deebb5511ba1c64ce014c77fdf995e18926646fa2
|
7
|
+
data.tar.gz: b48c9c7243f74713bcf5b9fbad3f0ef901aa79d107d7be78e3d08d9970e898a21f9bb4938cfaac5057edc11c53150b0934a46b125019c132906114a702c90d89
|
data/lib/factbase/flatten.rb
CHANGED
data/lib/factbase/term.rb
CHANGED
data/lib/factbase/to_json.rb
CHANGED
@@ -45,6 +45,6 @@ class Factbase::ToJSON
|
|
45
45
|
# Convert the entire factbase into JSON.
|
46
46
|
# @return [String] The factbase in JSON format
|
47
47
|
def json
|
48
|
-
Factbase::Flatten.new(Marshal.load(@fb.export)).it.to_json
|
48
|
+
Factbase::Flatten.new(Marshal.load(@fb.export), @sorter).it.to_json
|
49
49
|
end
|
50
50
|
end
|
data/lib/factbase/to_xml.rb
CHANGED
@@ -53,7 +53,7 @@ class Factbase::ToXML
|
|
53
53
|
}
|
54
54
|
Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
|
55
55
|
xml.fb(meta) do
|
56
|
-
Factbase::Flatten.new(Marshal.load(bytes)).it.each do |m|
|
56
|
+
Factbase::Flatten.new(Marshal.load(bytes), @sorter).it.each do |m|
|
57
57
|
xml.f_ do
|
58
58
|
m.sort.to_h.each do |k, vv|
|
59
59
|
if vv.is_a?(Array)
|
data/lib/factbase/to_yaml.rb
CHANGED
@@ -45,6 +45,6 @@ class Factbase::ToYAML
|
|
45
45
|
# Convert the entire factbase into YAML.
|
46
46
|
# @return [String] The factbase in YAML format
|
47
47
|
def yaml
|
48
|
-
YAML.dump(Factbase::Flatten.new(Marshal.load(@fb.export)).it)
|
48
|
+
YAML.dump(Factbase::Flatten.new(Marshal.load(@fb.export), @sorter).it)
|
49
49
|
end
|
50
50
|
end
|
data/lib/factbase.rb
CHANGED
@@ -79,7 +79,7 @@ require 'yaml'
|
|
79
79
|
# License:: MIT
|
80
80
|
class Factbase
|
81
81
|
# Current version of the gem (changed by .rultor.yml on every release)
|
82
|
-
VERSION = '0.0.
|
82
|
+
VERSION = '0.0.48'
|
83
83
|
|
84
84
|
# An exception that may be thrown in a transaction, to roll it back.
|
85
85
|
class Rollback < StandardError; end
|
data/test/factbase/test_query.rb
CHANGED
@@ -46,7 +46,7 @@ class TestQuery < Minitest::Test
|
|
46
46
|
maps = []
|
47
47
|
maps << { 'num' => 42, 'name' => 'Jeff' }
|
48
48
|
maps << { 'pi' => 3.14, 'num' => [42, 66, 0], 'name' => 'peter' }
|
49
|
-
maps << { 'time' => Time.now - 100, 'num' => 0 }
|
49
|
+
maps << { 'time' => Time.now - 100, 'num' => 0, 'hi' => [4] }
|
50
50
|
{
|
51
51
|
'(eq num 444)' => 0,
|
52
52
|
'(eq time 0)' => 0,
|
@@ -56,6 +56,7 @@ class TestQuery < Minitest::Test
|
|
56
56
|
'(eq pi +3.14)' => 1,
|
57
57
|
'(not (exists hello))' => 3,
|
58
58
|
'(eq "Integer" (type num))' => 2,
|
59
|
+
'(eq "Integer" (type hi))' => 1,
|
59
60
|
'(when (eq num 0) (exists time))' => 2,
|
60
61
|
'(unique num)' => 2,
|
61
62
|
'(unique name)' => 2,
|
data/test/factbase/test_term.rb
CHANGED
@@ -120,6 +120,7 @@ class TestTerm < Minitest::Test
|
|
120
120
|
def test_type_matching
|
121
121
|
t = Factbase::Term.new(:type, [:foo])
|
122
122
|
assert_equal('Integer', t.evaluate(fact('foo' => 42), []))
|
123
|
+
assert_equal('Integer', t.evaluate(fact('foo' => [42]), []))
|
123
124
|
assert_equal('Array', t.evaluate(fact('foo' => [1, 2, 3]), []))
|
124
125
|
assert_equal('String', t.evaluate(fact('foo' => 'Hello, world!'), []))
|
125
126
|
assert_equal('Float', t.evaluate(fact('foo' => 3.14), []))
|