factbase 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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