onoma 0.1.1 → 0.3.3

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 (65) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/README.md +13 -1
  4. data/config/locales/arb.yml +77 -278
  5. data/config/locales/cmn.yml +69 -178
  6. data/config/locales/deu.yml +61 -1098
  7. data/config/locales/eng.yml +3166 -2984
  8. data/config/locales/fra.yml +705 -423
  9. data/config/locales/ita.yml +63 -1153
  10. data/config/locales/jpn.yml +80 -217
  11. data/config/locales/por.yml +63 -960
  12. data/config/locales/spa.yml +70 -601
  13. data/db/migrate/20170904223101_add_cultivable_zone_registry.xml +4 -0
  14. data/db/migrate/20170914083358_add_new_product_nature_variants.xml +14 -0
  15. data/db/migrate/20170927144852_add_kiwi_varieties.xml +7 -0
  16. data/db/migrate/20171106085357_update_account_numbers.xml +431 -0
  17. data/db/migrate/20171212081801_add_fiscal_positions.xml +12 -0
  18. data/db/migrate/20180408190101_add_new_plant_variants.xml +7 -0
  19. data/db/migrate/20180409130101_add_common_crop.xml +4 -0
  20. data/db/migrate/20180418085027_add-hour-counter-indicator.xml +9 -0
  21. data/db/migrate/20180709134310_add_centralizing_field_to_accounts.xml +22 -0
  22. data/db/migrate/20180711093131_review_all_accounts_number_and_fallbacks.xml +431 -0
  23. data/db/migrate/20180806080646_edit_centralizing_field_accounts.xml +17 -0
  24. data/db/migrate/20180814184001_add_missing_categories.xml +12 -0
  25. data/db/migrate/20180907160001_edit_accounts_to_unlock_first_run.xml +21 -0
  26. data/db/migrate/20181004220301_add_journal_ledger.xml +4 -0
  27. data/db/migrate/20181205162401_add_intra_vat.xml +6 -0
  28. data/db/migrate/20181213153405_fix_accounting_systems.xml +7 -0
  29. data/db/migrate/20181217155149_fiscal_position_refers_to_accounting_system.xml +10 -0
  30. data/db/migrate/20181217173101_fiscal_position_reference_typo.xml +4 -0
  31. data/db/migrate/20190315154040_add_suspense_account.xml +4 -0
  32. data/db/migrate/20190326110849_add_asset_fixable_to_product_nature_categories.xml +25 -0
  33. data/db/migrate/20190326135443_change_product_nature_category_cultivable_zone_into_land.xml +21 -0
  34. data/db/migrate/20190329133808_change_land_fixed_assets_account_usage.xml +7 -0
  35. data/db/migrate/20190405120711_delete_land_sales_account_and_assign_land_parcels_sell_revenues_to_land.xml +5 -0
  36. data/db/migrate/20190412071057_add_new_fixed_assets_andn_depreciable_accounts.xml +22 -0
  37. data/db/migrate/20190509092804_add_account_exceptional_depreciations_imputations_expenses_for_fixed_assets.xml +4 -0
  38. data/db/migrate/20190514084753_add_approved_input_volume.xml +9 -0
  39. data/db/migrate/20190520072403_add_new_accounts.xml +58 -0
  40. data/db/migrate/20190521170601_add_missing_taxes.xml +7 -0
  41. data/db/migrate/20190611101014_change_deductible_vat_account.xml +5 -0
  42. data/db/migrate/20190620092151_fix_conflicts_in_new_accounts.xml +6 -0
  43. data/db/migrate/20190625152636_change_mixture_seed_product_nature_variant.xml +4 -0
  44. data/db/migrate/20190718130243_remove_services_expenses.xml +5 -0
  45. data/db/migrate/20190801142431_remove_accounts_from_pcg82.xml +5 -0
  46. data/db/migrate/20190823091727_fix-cubic-meter-per-hectare-symbol.xml +5 -0
  47. data/db/migrate/20190917161215_add_missing_mass_area_density_units.xml +21 -0
  48. data/db/migrate/20190917161216_update_quintal_symbol.xml +4 -0
  49. data/db/migrate/20190917161217_adds_more_info_to_units.xml +133 -0
  50. data/db/migrate/20190918074757_add_new_accounts.xml +8 -0
  51. data/db/migrate/20191001122750_add_accounts_fixed_assets_related.xml +10 -0
  52. data/db/migrate/20191028175001_add_short_balance_sheet.xml +4 -0
  53. data/db/migrate/20191029131921_add_vine_equipments.xml +117 -0
  54. data/db/migrate/20191112132413_remove_roller_from_product_natures.xml +5 -0
  55. data/db/migrate/20200305160358_add_varieties_for_phytosanitary.xml +11 -0
  56. data/db/reference.xml +1170 -900
  57. data/lib/onoma.rb +9 -26
  58. data/lib/onoma/database.rb +1 -1
  59. data/lib/onoma/item.rb +3 -1
  60. data/lib/onoma/migration/actions/item_creation.rb +1 -1
  61. data/lib/onoma/migration/actions/property_creation.rb +1 -1
  62. data/lib/onoma/nomenclature.rb +7 -11
  63. data/lib/onoma/version.rb +1 -1
  64. data/onoma.gemspec +5 -4
  65. metadata +73 -17
@@ -43,21 +43,6 @@ module Onoma
43
43
  database_path.join('reference.xml')
44
44
  end
45
45
 
46
- # # Returns version of DB
47
- # def reference_version
48
- # return 0 unless reference_path.exist?
49
- # reference_document.root['version'].to_i
50
- # end
51
-
52
- # def reference_document
53
- # f = File.open(reference_path, 'rb')
54
- # document = Nokogiri::XML(f) do |config|
55
- # config.strict.nonet.noblanks.noent
56
- # end
57
- # f.close
58
- # document
59
- # end
60
-
61
46
  def connection
62
47
  load_database unless database_loaded?
63
48
  @@set
@@ -68,16 +53,13 @@ module Onoma
68
53
  set.nomenclature_names
69
54
  end
70
55
 
71
- def all
72
- set.nomenclatures
73
- end
74
-
75
56
  # Give access to named nomenclatures
76
- delegate :[], to: :set
57
+ delegate :[], :nomenclatures, to: :set
58
+ alias all nomenclatures
77
59
 
78
60
  # Give access to named nomenclatures
79
61
  def find(*args)
80
- options = args.extract_options!
62
+ args.extract_options!
81
63
  name = args.shift
82
64
  if args.empty?
83
65
  return set[name]
@@ -87,17 +69,18 @@ module Onoma
87
69
  nil
88
70
  end
89
71
 
90
- def find_or_initialize(name)
91
- set[name] || set.load_data_from_xml(name)
92
- end
93
-
94
72
  # Browse all nomenclatures
95
73
  def each(&block)
96
74
  set.each(&block)
97
75
  end
98
76
 
99
77
  def set
100
- @@set ||= Database.new(database_path)
78
+ @@set ||= Database.open(reference_path)
79
+ end
80
+
81
+ def load_locales
82
+ I18n.load_path.concat(Dir.glob(root.join('config', 'locales', '**', '*.yml')))
101
83
  end
102
84
  end
103
85
  end
86
+
@@ -155,7 +155,7 @@ module Onoma
155
155
  end
156
156
 
157
157
  def remove_nomenclature(nomenclature_name)
158
- nomenclature = find!(nomenclature_name)
158
+ find!(nomenclature_name)
159
159
  @nomenclatures.delete(nomenclature_name)
160
160
  end
161
161
 
@@ -11,6 +11,8 @@ module Onoma
11
11
  @name = name.to_s
12
12
  @left, @right = @nomenclature.new_boundaries
13
13
  @depth = 0
14
+ @parent = nil
15
+ @parent_name = nil
14
16
  parent = options.delete(:parent)
15
17
  if parent.is_a?(Symbol) || parent.is_a?(String)
16
18
  @parent_name = parent.to_s
@@ -176,7 +178,7 @@ module Onoma
176
178
 
177
179
  # Return human name of item
178
180
  def human_name(options = {})
179
- "nomenclatures.#{nomenclature.name}.items.#{name}".t(options.merge(default: ["items.#{name}".to_sym, "enumerize.#{nomenclature.name}.#{name}".to_sym, "labels.#{name}".to_sym, name.humanize]))
181
+ I18n.translate("nomenclatures.#{nomenclature.name}.items.#{name}", options.merge(default: ["items.#{name}".to_sym, "enumerize.#{nomenclature.name}.#{name}".to_sym, "labels.#{name}".to_sym, name.humanize]))
180
182
  end
181
183
  alias humanize human_name
182
184
  alias localize human_name
@@ -31,7 +31,7 @@ module Onoma
31
31
  @options.each do |k, v|
32
32
  updates << "#{v} as #{k}"
33
33
  end
34
- sentence = "Create item #{@nomenclature}##{@name} with " + updates.to_sentence
34
+ "Create item #{@nomenclature}##{@name} with " + updates.to_sentence
35
35
  end
36
36
  end
37
37
  end
@@ -35,7 +35,7 @@ module Onoma
35
35
  @options.each do |k, v|
36
36
  updates << "#{v} as #{k}"
37
37
  end
38
- sentence = "Create property #{@nomenclature}.#{@name} with " + updates.to_sentence
38
+ "Create property #{@nomenclature}.#{@name} with " + updates.to_sentence
39
39
  end
40
40
  end
41
41
  end
@@ -4,8 +4,8 @@ require 'bigdecimal/util'
4
4
  module Onoma
5
5
  # This class represents a nomenclature
6
6
  class Nomenclature
7
- attr_reader :properties, :items, :name, :roots
8
- attr_accessor :name, :notions, :translateable, :forest_right
7
+ attr_reader :properties, :items, :name
8
+ attr_accessor :notions, :translateable, :forest_right
9
9
  alias property_natures properties
10
10
 
11
11
  # Instanciate a new nomenclature
@@ -225,7 +225,7 @@ module Onoma
225
225
  end
226
226
 
227
227
  def remove_item(name)
228
- i = find!(name)
228
+ find!(name)
229
229
  @items.delete(name)
230
230
  end
231
231
 
@@ -292,12 +292,7 @@ module Onoma
292
292
 
293
293
  # Returns hash with items in tree: {a => nil, b => {c => nil}}
294
294
  def tree
295
- x = @roots.collect(&:tree).join
296
- return x
297
- i.attributes.merge(parent: i.parent_name, name: i.name, left: i.left, right: i.right, depth: i.depth).deep_stringify_keys
298
- return x
299
- @roots.map do |_i|
300
- end
295
+ @roots.collect(&:tree).join
301
296
  end
302
297
 
303
298
  def translateable?
@@ -306,7 +301,8 @@ module Onoma
306
301
 
307
302
  # Return human name
308
303
  def human_name(options = {})
309
- "nomenclatures.#{name}.name".t(options.merge(default: ["labels.#{name}".to_sym, name.to_s.humanize]))
304
+ I18n.translate("nomenclatures.#{name}.name",
305
+ options.merge(default: ["labels.#{name}".to_sym, name.to_s.humanize]))
310
306
  end
311
307
  alias humanize human_name
312
308
 
@@ -495,7 +491,7 @@ module Onoma
495
491
 
496
492
  def cast_options(options)
497
493
  return {} if options.nil?
498
- hash = options.each_with_object({}) do |(k, v), h|
494
+ options.each_with_object({}) do |(k, v), h|
499
495
  h[k.to_sym] = if properties[k]
500
496
  cast_property(k, v.to_s)
501
497
  else
@@ -1,3 +1,3 @@
1
1
  module Onoma
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.3.3'.freeze
3
3
  end
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'onoma/version'
@@ -19,10 +19,11 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_development_dependency 'bundler', '~> 1.10'
22
+ spec.add_development_dependency 'bundler', '> 1.15'
23
23
  spec.add_development_dependency 'colored'
24
- spec.add_development_dependency 'rake', '~> 10.0'
24
+ spec.add_development_dependency 'rake', '> 12.0'
25
25
  spec.add_development_dependency 'minitest'
26
+ spec.add_development_dependency 'i18n-tasks'
26
27
  spec.add_dependency 'activesupport'
27
- spec.add_dependency 'nokogiri'
28
+ spec.add_dependency 'nokogiri', '>= 1.10.4'
28
29
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onoma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brice TEXIER
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-28 00:00:00.000000000 Z
11
+ date: 2020-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.10'
19
+ version: '1.15'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.10'
26
+ version: '1.15'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colored
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '12.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '12.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: i18n-tasks
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: activesupport
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +100,14 @@ dependencies:
86
100
  requirements:
87
101
  - - ">="
88
102
  - !ruby/object:Gem::Version
89
- version: '0'
103
+ version: 1.10.4
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
- version: '0'
110
+ version: 1.10.4
97
111
  description: Actual support Open-Nomenclature data and gem for use
98
112
  email:
99
113
  - brice@ekylibre.com
@@ -304,6 +318,49 @@ files:
304
318
  - db/migrate/20170627081533_add_pending_deposit_payments_account_number_for_pt_accounting_system.xml
305
319
  - db/migrate/20170718131724_add_issue_natures.xml
306
320
  - db/migrate/20170803164344_add_procedure_nature_and_category.xml
321
+ - db/migrate/20170904223101_add_cultivable_zone_registry.xml
322
+ - db/migrate/20170914083358_add_new_product_nature_variants.xml
323
+ - db/migrate/20170927144852_add_kiwi_varieties.xml
324
+ - db/migrate/20171106085357_update_account_numbers.xml
325
+ - db/migrate/20171212081801_add_fiscal_positions.xml
326
+ - db/migrate/20180408190101_add_new_plant_variants.xml
327
+ - db/migrate/20180409130101_add_common_crop.xml
328
+ - db/migrate/20180418085027_add-hour-counter-indicator.xml
329
+ - db/migrate/20180709134310_add_centralizing_field_to_accounts.xml
330
+ - db/migrate/20180711093131_review_all_accounts_number_and_fallbacks.xml
331
+ - db/migrate/20180806080646_edit_centralizing_field_accounts.xml
332
+ - db/migrate/20180814184001_add_missing_categories.xml
333
+ - db/migrate/20180907160001_edit_accounts_to_unlock_first_run.xml
334
+ - db/migrate/20181004220301_add_journal_ledger.xml
335
+ - db/migrate/20181205162401_add_intra_vat.xml
336
+ - db/migrate/20181213153405_fix_accounting_systems.xml
337
+ - db/migrate/20181217155149_fiscal_position_refers_to_accounting_system.xml
338
+ - db/migrate/20181217173101_fiscal_position_reference_typo.xml
339
+ - db/migrate/20190315154040_add_suspense_account.xml
340
+ - db/migrate/20190326110849_add_asset_fixable_to_product_nature_categories.xml
341
+ - db/migrate/20190326135443_change_product_nature_category_cultivable_zone_into_land.xml
342
+ - db/migrate/20190329133808_change_land_fixed_assets_account_usage.xml
343
+ - db/migrate/20190405120711_delete_land_sales_account_and_assign_land_parcels_sell_revenues_to_land.xml
344
+ - db/migrate/20190412071057_add_new_fixed_assets_andn_depreciable_accounts.xml
345
+ - db/migrate/20190509092804_add_account_exceptional_depreciations_imputations_expenses_for_fixed_assets.xml
346
+ - db/migrate/20190514084753_add_approved_input_volume.xml
347
+ - db/migrate/20190520072403_add_new_accounts.xml
348
+ - db/migrate/20190521170601_add_missing_taxes.xml
349
+ - db/migrate/20190611101014_change_deductible_vat_account.xml
350
+ - db/migrate/20190620092151_fix_conflicts_in_new_accounts.xml
351
+ - db/migrate/20190625152636_change_mixture_seed_product_nature_variant.xml
352
+ - db/migrate/20190718130243_remove_services_expenses.xml
353
+ - db/migrate/20190801142431_remove_accounts_from_pcg82.xml
354
+ - db/migrate/20190823091727_fix-cubic-meter-per-hectare-symbol.xml
355
+ - db/migrate/20190917161215_add_missing_mass_area_density_units.xml
356
+ - db/migrate/20190917161216_update_quintal_symbol.xml
357
+ - db/migrate/20190917161217_adds_more_info_to_units.xml
358
+ - db/migrate/20190918074757_add_new_accounts.xml
359
+ - db/migrate/20191001122750_add_accounts_fixed_assets_related.xml
360
+ - db/migrate/20191028175001_add_short_balance_sheet.xml
361
+ - db/migrate/20191029131921_add_vine_equipments.xml
362
+ - db/migrate/20191112132413_remove_roller_from_product_natures.xml
363
+ - db/migrate/20200305160358_add_varieties_for_phytosanitary.xml
307
364
  - db/reference.xml
308
365
  - lib/onoma.rb
309
366
  - lib/onoma/database.rb
@@ -330,7 +387,7 @@ homepage: https://github.com/ekylibre/onoma
330
387
  licenses:
331
388
  - MIT
332
389
  metadata: {}
333
- post_install_message:
390
+ post_install_message:
334
391
  rdoc_options: []
335
392
  require_paths:
336
393
  - lib
@@ -345,9 +402,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
345
402
  - !ruby/object:Gem::Version
346
403
  version: '0'
347
404
  requirements: []
348
- rubyforge_project:
349
- rubygems_version: 2.5.2
350
- signing_key:
405
+ rubygems_version: 3.0.3
406
+ signing_key:
351
407
  specification_version: 4
352
408
  summary: Provides open nomenclature data in a gem
353
409
  test_files: []