factbase 0.0.9 → 0.0.10

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: 38ebbf43ee181a50bc4ca45d32ac3ba1394180e25ea719b41917606c2d00a6c9
4
- data.tar.gz: f2e71d19bd3523a4db543b410989f88708e3120cbebde21682080b822e11c7d7
3
+ metadata.gz: eb59210ccd84c6ea917eddcc142535615c2ff1e08e3a1dcf2e1236de4e2e5c24
4
+ data.tar.gz: dc410950e07629cb29e3d5795508e8bf4504a983adb8887ba3f375d52f87d598
5
5
  SHA512:
6
- metadata.gz: 802e11490eda7455f3d00ecce17c70e73f6520c5f06a25ea1ad7393ceb98a8ca67858343d4ee544183f10b695c872f140855037f091623ba057296c755fe6c13
7
- data.tar.gz: d58f72e6aeabd5e99fe7424c769f56074c2f9dc95593dd76c3373ee770dcfd96c1f05dd51731c25660bfcb2aedfde2ffe8f7842679e6e46ef95532b090c3428c
6
+ metadata.gz: 81a0cfd3732fbd9ae30e867a0633cd1497c3df52a84461c4cbadaeca44414226c4c5be727b54823d1ee7dd5ee51e1a7397b1e0d3ddbee59339c013cf5493b603
7
+ data.tar.gz: 35e0e6d12f83c995e05bfc3ab4709dfe0476a5e8f36b2c772ff97b13477fc8210638259408dc9cee2e2aa86e499fc8a773d7ce63adcb0443c99ff56b2d04f9c0
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.9'
29
+ s.version = '0.0.10'
30
30
  s.license = 'MIT'
31
31
  s.summary = 'Factbase'
32
32
  s.description = 'Fact base in memory and on disc'
data/lib/factbase/fact.rb CHANGED
@@ -41,7 +41,7 @@ class Factbase::Fact
41
41
  k = args[0].to_s
42
42
  if k.end_with?('=')
43
43
  kk = k[0..-2]
44
- raise "Invalid prop name '#{kk}'" unless kk.match?(/^[a-z][a-zA-Z0-9]+$/)
44
+ raise "Invalid prop name '#{kk}'" unless kk.match?(/^[a-z][a-zA-Z0-9]*$/)
45
45
  v = args[1]
46
46
  raise "Prop value can't be empty" if v == ''
47
47
  @mutex.synchronize do
data/lib/factbase.rb CHANGED
@@ -101,13 +101,13 @@ class Factbase
101
101
  xml.f do
102
102
  m.each do |k, vv|
103
103
  if vv.is_a?(Array)
104
- xml.send(:"#{k}") do
104
+ xml.send(:"#{k}_") do
105
105
  vv.each do |v|
106
106
  xml.send(:v, v)
107
107
  end
108
108
  end
109
109
  else
110
- xml.send(:"#{k}", vv)
110
+ xml.send(:"#{k}_", vv)
111
111
  end
112
112
  end
113
113
  end
@@ -71,12 +71,24 @@ class TestFactbase < Minitest::Test
71
71
  f = fb.insert
72
72
  f.foo = 42
73
73
  f.foo = 256
74
- fb.insert
74
+ fb.insert.bar = 5
75
75
  xml = Nokogiri::XML.parse(fb.to_xml)
76
76
  assert(!xml.xpath('/fb[count(f) = 2]').empty?)
77
77
  assert(!xml.xpath('/fb/f/foo[v="42"]').empty?)
78
78
  end
79
79
 
80
+ def test_to_xml_with_short_names
81
+ fb = Factbase.new
82
+ f = fb.insert
83
+ f.type = 1
84
+ f.f = 2
85
+ f.class = 3
86
+ xml = Nokogiri::XML.parse(fb.to_xml)
87
+ assert(!xml.xpath('/fb/f/type').empty?)
88
+ assert(!xml.xpath('/fb/f/f').empty?)
89
+ assert(!xml.xpath('/fb/f/class').empty?)
90
+ end
91
+
80
92
  def test_to_yaml
81
93
  fb = Factbase.new
82
94
  f = fb.insert
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.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko