onoma 0.2.2 → 0.4.1

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.
Files changed (154) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +3 -0
  3. data/.gitlab-ci.yml +14 -0
  4. data/Gemfile +2 -0
  5. data/Rakefile +3 -6
  6. data/bin/rake +29 -0
  7. data/config/locales/arb.yml +77 -293
  8. data/config/locales/cmn.yml +69 -193
  9. data/config/locales/deu.yml +61 -1113
  10. data/config/locales/eng.yml +3146 -2987
  11. data/config/locales/fra.yml +629 -478
  12. data/config/locales/ita.yml +63 -1168
  13. data/config/locales/jpn.yml +80 -232
  14. data/config/locales/por.yml +63 -975
  15. data/config/locales/spa.yml +70 -616
  16. data/db/migrate/20170904223101_add_cultivable_zone_registry.xml +4 -0
  17. data/db/migrate/20171106085357_update_account_numbers.xml +431 -0
  18. data/db/migrate/20171212081801_add_fiscal_positions.xml +12 -0
  19. data/db/migrate/20180408190101_add_new_plant_variants.xml +7 -0
  20. data/db/migrate/20180409130101_add_common_crop.xml +4 -0
  21. data/db/migrate/20180418085027_add-hour-counter-indicator.xml +9 -0
  22. data/db/migrate/20180709134310_add_centralizing_field_to_accounts.xml +22 -0
  23. data/db/migrate/20180711093131_review_all_accounts_number_and_fallbacks.xml +431 -0
  24. data/db/migrate/20180806080646_edit_centralizing_field_accounts.xml +17 -0
  25. data/db/migrate/20180814184001_add_missing_categories.xml +12 -0
  26. data/db/migrate/20180907160001_edit_accounts_to_unlock_first_run.xml +21 -0
  27. data/db/migrate/20181004220301_add_journal_ledger.xml +4 -0
  28. data/db/migrate/20181205162401_add_intra_vat.xml +6 -0
  29. data/db/migrate/20181213153405_fix_accounting_systems.xml +7 -0
  30. data/db/migrate/20181217155149_fiscal_position_refers_to_accounting_system.xml +10 -0
  31. data/db/migrate/20181217173101_fiscal_position_reference_typo.xml +4 -0
  32. data/db/migrate/20190315154040_add_suspense_account.xml +4 -0
  33. data/db/migrate/20190326110849_add_asset_fixable_to_product_nature_categories.xml +25 -0
  34. data/db/migrate/20190326135443_change_product_nature_category_cultivable_zone_into_land.xml +21 -0
  35. data/db/migrate/20190329133808_change_land_fixed_assets_account_usage.xml +7 -0
  36. data/db/migrate/20190405120711_delete_land_sales_account_and_assign_land_parcels_sell_revenues_to_land.xml +5 -0
  37. data/db/migrate/20190412071057_add_new_fixed_assets_andn_depreciable_accounts.xml +22 -0
  38. data/db/migrate/20190509092804_add_account_exceptional_depreciations_imputations_expenses_for_fixed_assets.xml +4 -0
  39. data/db/migrate/20190514084753_add_approved_input_volume.xml +9 -0
  40. data/db/migrate/20190520072403_add_new_accounts.xml +58 -0
  41. data/db/migrate/20190521170601_add_missing_taxes.xml +7 -0
  42. data/db/migrate/20190611101014_change_deductible_vat_account.xml +5 -0
  43. data/db/migrate/20190620092151_fix_conflicts_in_new_accounts.xml +6 -0
  44. data/db/migrate/20190625152636_change_mixture_seed_product_nature_variant.xml +4 -0
  45. data/db/migrate/20190718130243_remove_services_expenses.xml +5 -0
  46. data/db/migrate/20190801142431_remove_accounts_from_pcg82.xml +5 -0
  47. data/db/migrate/20190807125202_add_nature_to_product_natures.xml +326 -0
  48. data/db/migrate/20190823091727_fix-cubic-meter-per-hectare-symbol.xml +5 -0
  49. data/db/migrate/20190909150402_add_staff_supply_stock_account.xml +4 -0
  50. data/db/migrate/20190913102036_add_caliber_indicator.xml +4 -0
  51. data/db/migrate/20190917161215_add_missing_mass_area_density_units.xml +21 -0
  52. data/db/migrate/20190917161216_update_quintal_symbol.xml +4 -0
  53. data/db/migrate/20190917161217_adds_more_info_to_units.xml +133 -0
  54. data/db/migrate/20190918074757_add_new_accounts.xml +8 -0
  55. data/db/migrate/20191001122750_add_accounts_fixed_assets_related.xml +10 -0
  56. data/db/migrate/20191016152118_add_missing_document_templates.xml +6 -0
  57. data/db/migrate/20191028175001_add_short_balance_sheet.xml +4 -0
  58. data/db/migrate/20191029131921_add_vine_equipments.xml +117 -0
  59. data/db/migrate/20191112132413_remove_roller_from_product_natures.xml +5 -0
  60. data/db/migrate/20191113134626_add_nature_to_new_product_natures.xml +11 -0
  61. data/db/migrate/20191125133327_add_missing_units_and_indicators.xml +5 -0
  62. data/db/migrate/20200107095554_add_signed_field_to_document_nature.xml +9 -0
  63. data/db/migrate/20200305160358_add_varieties_for_phytosanitary.xml +11 -0
  64. data/db/migrate/20200421123503_add_type_to_categories_and_variants.xml +1136 -0
  65. data/db/migrate/20200514092205_add_liter_per_hectoliter_unit.xml +4 -0
  66. data/db/migrate/20200722091859_triticale_derivative_of.xml +5 -0
  67. data/db/reference.xml +1934 -1676
  68. data/lib/onoma.rb +82 -24
  69. data/lib/onoma/item.rb +19 -3
  70. data/lib/onoma/migration/actions/base.rb +1 -5
  71. data/lib/onoma/migration/actions/item_change.rb +1 -5
  72. data/lib/onoma/migration/actions/item_creation.rb +2 -6
  73. data/lib/onoma/migration/actions/item_merging.rb +1 -5
  74. data/lib/onoma/migration/actions/item_removal.rb +1 -1
  75. data/lib/onoma/migration/actions/nomenclature_change.rb +1 -1
  76. data/lib/onoma/migration/actions/nomenclature_creation.rb +1 -1
  77. data/lib/onoma/migration/actions/nomenclature_removal.rb +1 -5
  78. data/lib/onoma/migration/actions/property_creation.rb +4 -4
  79. data/lib/onoma/migration/base.rb +38 -0
  80. data/lib/onoma/migrator.rb +13 -0
  81. data/lib/onoma/migrator/reference.rb +71 -0
  82. data/lib/onoma/migrator/translation.rb +76 -0
  83. data/lib/onoma/models/ability.rb +4 -0
  84. data/lib/onoma/models/account.rb +4 -0
  85. data/lib/onoma/models/accounting_system.rb +12 -0
  86. data/lib/onoma/models/activity_family.rb +4 -0
  87. data/lib/onoma/models/administrative_area.rb +4 -0
  88. data/lib/onoma/models/administrative_area_nature.rb +4 -0
  89. data/lib/onoma/models/analysis_nature.rb +4 -0
  90. data/lib/onoma/models/animal_life_state.rb +4 -0
  91. data/lib/onoma/models/cation_exchange_capacity_analysis_method.rb +4 -0
  92. data/lib/onoma/models/certification.rb +4 -0
  93. data/lib/onoma/models/certification_label.rb +4 -0
  94. data/lib/onoma/models/chemical_classification.rb +4 -0
  95. data/lib/onoma/models/chemical_element.rb +4 -0
  96. data/lib/onoma/models/country.rb +4 -0
  97. data/lib/onoma/models/crop_set.rb +4 -0
  98. data/lib/onoma/models/currency.rb +4 -0
  99. data/lib/onoma/models/delivery_mode.rb +4 -0
  100. data/lib/onoma/models/dimension.rb +4 -0
  101. data/lib/onoma/models/document_category.rb +4 -0
  102. data/lib/onoma/models/document_nature.rb +4 -0
  103. data/lib/onoma/models/entity_link_nature.rb +4 -0
  104. data/lib/onoma/models/event_nature.rb +4 -0
  105. data/lib/onoma/models/fence_perimeter.rb +4 -0
  106. data/lib/onoma/models/figure.rb +4 -0
  107. data/lib/onoma/models/fiscal_position.rb +4 -0
  108. data/lib/onoma/models/guide_nature.rb +4 -0
  109. data/lib/onoma/models/identifier_nature.rb +4 -0
  110. data/lib/onoma/models/indicator.rb +7 -0
  111. data/lib/onoma/models/issue_nature.rb +4 -0
  112. data/lib/onoma/models/land.rb +4 -0
  113. data/lib/onoma/models/language.rb +4 -0
  114. data/lib/onoma/models/mammalia_birth_condition.rb +4 -0
  115. data/lib/onoma/models/mammalia_reproduction_state.rb +4 -0
  116. data/lib/onoma/models/molecule.rb +4 -0
  117. data/lib/onoma/models/net_service.rb +4 -0
  118. data/lib/onoma/models/opportunity_origin.rb +4 -0
  119. data/lib/onoma/models/phosphorus_analysis_method.rb +4 -0
  120. data/lib/onoma/models/plant_life_state.rb +4 -0
  121. data/lib/onoma/models/plant_reproduction_state.rb +4 -0
  122. data/lib/onoma/models/plants_growth_level.rb +4 -0
  123. data/lib/onoma/models/procedure_action.rb +4 -0
  124. data/lib/onoma/models/procedure_category.rb +4 -0
  125. data/lib/onoma/models/procedure_nature.rb +4 -0
  126. data/lib/onoma/models/procedure_role.rb +4 -0
  127. data/lib/onoma/models/product_nature.rb +4 -0
  128. data/lib/onoma/models/product_nature_category.rb +4 -0
  129. data/lib/onoma/models/product_nature_variant.rb +4 -0
  130. data/lib/onoma/models/production_nature.rb +4 -0
  131. data/lib/onoma/models/production_system.rb +4 -0
  132. data/lib/onoma/models/production_usage.rb +4 -0
  133. data/lib/onoma/models/residue_elimination_method.rb +4 -0
  134. data/lib/onoma/models/role.rb +4 -0
  135. data/lib/onoma/models/running_cost.rb +4 -0
  136. data/lib/onoma/models/sex.rb +4 -0
  137. data/lib/onoma/models/soil_cultural_state.rb +4 -0
  138. data/lib/onoma/models/soil_nature.rb +4 -0
  139. data/lib/onoma/models/spatial_reference_system.rb +4 -0
  140. data/lib/onoma/models/tax.rb +4 -0
  141. data/lib/onoma/models/tax_nature.rb +4 -0
  142. data/lib/onoma/models/unit.rb +4 -0
  143. data/lib/onoma/models/variety.rb +31 -0
  144. data/lib/onoma/models/working_set.rb +4 -0
  145. data/lib/onoma/nomenclature.rb +19 -23
  146. data/lib/onoma/{database.rb → nomenclature_set.rb} +25 -57
  147. data/lib/onoma/{property.rb → property_nature.rb} +5 -8
  148. data/lib/onoma/record/base.rb +15 -0
  149. data/lib/onoma/reflection.rb +3 -3
  150. data/lib/onoma/version.rb +3 -1
  151. data/onoma.gemspec +19 -20
  152. metadata +156 -39
  153. data/lib/onoma/migration.rb +0 -122
  154. data/lib/onoma/migration/actions.rb +0 -9
@@ -1,122 +0,0 @@
1
- require 'active_support/core_ext/string'
2
- require 'active_support/core_ext/array'
3
- require 'benchmark'
4
-
5
- class ::Hash
6
- def simple_print
7
- map { |k, v| "#{k}: #{v.inspect}" }.join(', ')
8
- end
9
- end
10
-
11
- module Onoma
12
- # Migration instance represents a migration file
13
- class Migration
14
- class << self
15
- # Parse en XML migration to a Onoma::Migration object
16
- def parse(file)
17
- # puts "Parse #{file}"
18
- f = File.open(file, 'rb')
19
- document = Nokogiri::XML(f) do |config|
20
- config.strict.nonet.noblanks.noent
21
- end
22
- f.close
23
- root = document.root
24
- number = file.basename.to_s.split('_').first.to_i
25
- new(number, root['name']) do |m|
26
- root.children.each do |child|
27
- next unless child.is_a? Nokogiri::XML::Element
28
- m.add "Onoma::Migration::Actions::#{child.name.underscore.classify}".constantize.new(child)
29
- end
30
- end
31
- end
32
- end
33
-
34
- attr_reader :number, :name
35
-
36
- def initialize(number, name)
37
- @number = number
38
- @name = name
39
- @actions = []
40
- yield self if block_given?
41
- end
42
-
43
- def label
44
- "#{number} #{name}"
45
- end
46
-
47
- def add(action)
48
- @actions << action
49
- end
50
-
51
- def each_action(&block)
52
- @actions.each(&block)
53
- end
54
-
55
- def inspect
56
- "#<#{self.class.name}:#{format('%#x', object_id)} ##{number} #{name.inspect} (#{@actions.size} actions)>"
57
- end
58
-
59
- def migrate(conn)
60
- puts ''
61
- puts "== #{label}: migrating ".ljust(80, '=')
62
- duration = Benchmark.measure do
63
- each_action do |action|
64
- puts "-- #{action.label}"
65
- conn.exec_action(action)
66
- end
67
- conn.version = number
68
- end
69
- puts "== #{label}: migrated (#{duration.real.round(4)}s)".ljust(80, '=')
70
- # puts "Write DB in #{Onoma.reference_path.relative_path_from(Onoma.root)}".yellow
71
- if @steps
72
- versions_dir = Onoma.root.join('tmp', 'versions')
73
- FileUtils.mkdir_p(versions_dir)
74
- conn.copy(versions_dir.join("#{number}.xml"))
75
- end
76
- end
77
- end
78
-
79
- # Migrator is a tool class to launch migrations
80
- class Migrator
81
- class << self
82
- def migrate
83
- Onoma::Migrator.new(Onoma.reference_path, Onoma.migrations_path).migrate
84
- end
85
- end
86
-
87
- attr_accessor :database_path, :migrations_path
88
-
89
- def initialize(database_path, migrations_path)
90
- @database_path = database_path
91
- @migrations_path = migrations_path
92
- end
93
-
94
- # Returns list of Onoma::Migration
95
- def migrations
96
- Dir.glob(@migrations_path.join('*.xml')).sort.collect do |f|
97
- Onoma::Migration.parse(Pathname.new(f))
98
- end
99
- end
100
-
101
- # Returns list of migrations since last done
102
- def missing_migrations
103
- last_version = connection.version
104
- migrations.select do |m|
105
- m.number > last_version
106
- end
107
- end
108
-
109
- def migrate
110
- missing_migrations.each do |migration|
111
- migration.migrate(connection)
112
- end
113
- connection.write
114
- end
115
-
116
- def connection
117
- @connection ||= Database.open(@database_path)
118
- end
119
- end
120
- end
121
-
122
- require 'onoma/migration/actions'
@@ -1,9 +0,0 @@
1
- require 'onoma/migration/actions/base'
2
- require 'onoma/migration/actions/item_change'
3
- require 'onoma/migration/actions/item_creation'
4
- require 'onoma/migration/actions/item_merging'
5
- require 'onoma/migration/actions/item_removal'
6
- require 'onoma/migration/actions/nomenclature_change'
7
- require 'onoma/migration/actions/nomenclature_creation'
8
- require 'onoma/migration/actions/nomenclature_removal'
9
- require 'onoma/migration/actions/property_creation'