factbase 0.0.9 → 0.0.11

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: e8bff50d3bbf6091d04d5a543128fbbcb766d9352b0bf7131da00b23c0b7e386
4
+ data.tar.gz: 9000722057ac1e68aaeaae95cd158de16b5933665f75febe2715c1b86ce08e4c
5
5
  SHA512:
6
- metadata.gz: 802e11490eda7455f3d00ecce17c70e73f6520c5f06a25ea1ad7393ceb98a8ca67858343d4ee544183f10b695c872f140855037f091623ba057296c755fe6c13
7
- data.tar.gz: d58f72e6aeabd5e99fe7424c769f56074c2f9dc95593dd76c3373ee770dcfd96c1f05dd51731c25660bfcb2aedfde2ffe8f7842679e6e46ef95532b090c3428c
6
+ metadata.gz: 1c5a6012115da274249887ee4580c593947e0785a7d3b621783d4233f4c318283df78059c33035537bc34bf3a8d8f2a97b0ad537f81115e9b2c8e9638cb62661
7
+ data.tar.gz: 32226c6b9a22249da0c720c178e2a8a36541dc93f83fcdbcefc4be9f9c6fced74bf7937ee3f5732d1ed389e795a62c196253f377d8d3b4a02e749a14c3cd51f9
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.11'
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
@@ -98,16 +98,16 @@ class Factbase
98
98
  Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
99
99
  xml.fb do
100
100
  @maps.each do |m|
101
- xml.f do
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.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko