onoma 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/db/reference.xml +3 -3
- data/lib/onoma/item.rb +1 -0
- data/lib/onoma/migration/actions/property_change.rb +36 -0
- data/lib/onoma/migrator/reference.rb +1 -1
- data/lib/onoma/nomenclature.rb +16 -0
- data/lib/onoma/nomenclature_set.rb +3 -2
- data/lib/onoma/property_nature.rb +2 -1
- data/lib/onoma/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb4d80adfacee042ec4c281d7559e02c1dbb4f9c
|
4
|
+
data.tar.gz: 0f4dd57daf53ec7eb7af7a6d5fd5b5a844558fa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f84232fae7225678bb85671d6376fa8564c1c07ffc1ff8e462dbedada396e91f498efee4026cc577d7c9b7ca21763b597b68c0d257b46a38b33d3695a7b48a1
|
7
|
+
data.tar.gz: e0218b2acd21e4285d363d54d2c04f915a2e2ade7f46ba9f271c3dfc942df5dffc537bf33b00b3bec6b483a66352590c4fa829409984fc6c035affe2be266ee4
|
data/db/reference.xml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
|
-
<nomenclatures xmlns="http://www.ekylibre.org/XML/2013/nomenclatures" version="
|
2
|
+
<nomenclatures xmlns="http://www.ekylibre.org/XML/2013/nomenclatures" version="20220704161519">
|
3
3
|
<nomenclature name="abilities" translateable="true">
|
4
4
|
<properties>
|
5
5
|
<property name="parameters" type="choice_list" choices="variety, issue_nature"/>
|
@@ -1719,7 +1719,7 @@
|
|
1719
1719
|
<property name="countries" type="item_list" choices="countries"/>
|
1720
1720
|
<property name="number" type="string" required="true" default="2"/>
|
1721
1721
|
<property name="precision" type="integer" required="true" default="2"/>
|
1722
|
-
<property name="symbol" type="string"/>
|
1722
|
+
<property name="symbol" type="string" fallbacks="name"/>
|
1723
1723
|
</properties>
|
1724
1724
|
<items>
|
1725
1725
|
<item name="AED" precision="2" active="true" countries="ae" number="784"/>
|
@@ -1821,7 +1821,7 @@
|
|
1821
1821
|
<item name="MNT" precision="2" active="true" countries="mn" number="496"/>
|
1822
1822
|
<item name="MOP" precision="2" active="true" countries="mo" number="446"/>
|
1823
1823
|
<item name="MRO" precision="2" active="true" countries="mr" number="478"/>
|
1824
|
-
<item name="MUR" precision="2" active="true" countries="mu" number="480"/>
|
1824
|
+
<item name="MUR" precision="2" active="true" countries="mu" number="480" symbol="Rs"/>
|
1825
1825
|
<item name="MVR" precision="2" active="true" countries="mv" number="462"/>
|
1826
1826
|
<item name="MWK" precision="2" active="true" countries="mw" number="454"/>
|
1827
1827
|
<item name="MXN" precision="2" active="true" countries="mx" number="484"/>
|
data/lib/onoma/item.rb
CHANGED
@@ -0,0 +1,36 @@
|
|
1
|
+
module Onoma
|
2
|
+
module Migration
|
3
|
+
module Actions
|
4
|
+
class PropertyChange < Onoma::Migration::Actions::Base
|
5
|
+
attr_reader :nomenclature, :name, :changes
|
6
|
+
def initialize(element)
|
7
|
+
name = element['property'].split('.')
|
8
|
+
@nomenclature = name.first
|
9
|
+
@name = name.second
|
10
|
+
|
11
|
+
@changes = {}
|
12
|
+
if element.has_attribute?('type')
|
13
|
+
changes[:type] = element.attr('type').to_sym
|
14
|
+
end
|
15
|
+
if element.has_attribute?('fallbacks')
|
16
|
+
@changes[:fallbacks] = element.attr('fallbacks').to_s.strip.split(/[[:space:]]*\,[[:space:]]*/).map(&:to_sym)
|
17
|
+
end
|
18
|
+
if element.has_attribute?('default')
|
19
|
+
@changes[:default] = element.attr('default').to_sym
|
20
|
+
end
|
21
|
+
if element.has_attribute?('required')
|
22
|
+
@changes[:required] = element.attr('required').to_s == 'true'
|
23
|
+
end
|
24
|
+
# @changes[:inherit] = !!(element.attr('inherit').to_s == 'true')
|
25
|
+
if element.has_attribute?('choices')
|
26
|
+
if type == :choice || type == :choice_list
|
27
|
+
@changes[:choices] = element.attr('choices').to_s.strip.split(/[[:space:]]*\,[[:space:]]*/).map(&:to_sym)
|
28
|
+
elsif type == :item || type == :item_list
|
29
|
+
@changes[:choices] = element.attr('choices').to_s.strip.to_sym
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/onoma/nomenclature.rb
CHANGED
@@ -256,6 +256,22 @@ module Onoma
|
|
256
256
|
p
|
257
257
|
end
|
258
258
|
|
259
|
+
def change_property(name, updates = {})
|
260
|
+
property = property_natures[name]
|
261
|
+
|
262
|
+
unless property
|
263
|
+
raise "Property #{p.name} doesn't exist in nomenclature #{@name}"
|
264
|
+
end
|
265
|
+
|
266
|
+
updates.each do |k, v|
|
267
|
+
begin
|
268
|
+
property.send("#{k}=", v)
|
269
|
+
rescue NoMethodError => e
|
270
|
+
"#{k} attribute doesn't exist for property nature"
|
271
|
+
end
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
259
275
|
def sibling(name)
|
260
276
|
@set.find(name)
|
261
277
|
end
|
@@ -151,8 +151,9 @@ module Onoma
|
|
151
151
|
nomenclature.add_property(property_name, type, options)
|
152
152
|
end
|
153
153
|
|
154
|
-
def change_property(
|
155
|
-
|
154
|
+
def change_property(nomenclature_name, property_name, updates = {})
|
155
|
+
nomenclature = find!(nomenclature_name)
|
156
|
+
nomenclature.change_property(property_name, updates)
|
156
157
|
end
|
157
158
|
|
158
159
|
def remove_property(_nomenclature_name, _property_name, _options = {})
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Onoma
|
2
2
|
class PropertyNature
|
3
|
-
attr_reader :nomenclature
|
3
|
+
attr_reader :nomenclature
|
4
|
+
attr_accessor :name, :type, :fallbacks, :default, :source
|
4
5
|
|
5
6
|
# New item
|
6
7
|
def initialize(nomenclature, name, type, options = {})
|
data/lib/onoma/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onoma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ekylibre developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -153,6 +153,7 @@ files:
|
|
153
153
|
- lib/onoma/migration/actions/nomenclature_change.rb
|
154
154
|
- lib/onoma/migration/actions/nomenclature_creation.rb
|
155
155
|
- lib/onoma/migration/actions/nomenclature_removal.rb
|
156
|
+
- lib/onoma/migration/actions/property_change.rb
|
156
157
|
- lib/onoma/migration/actions/property_creation.rb
|
157
158
|
- lib/onoma/migration/base.rb
|
158
159
|
- lib/onoma/migrator.rb
|