factbase 0.0.47 → 0.0.48
Sign up to get free protection for your applications and to get access to all the features.
- 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), []))
|