onoma 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +4 -0
  4. data/CODE_OF_CONDUCT.md +13 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +41 -0
  8. data/Rakefile +93 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +7 -0
  11. data/config/locales/arb.yml +5711 -0
  12. data/config/locales/eng.yml +5704 -0
  13. data/config/locales/fra.yml +5869 -0
  14. data/config/locales/jpn.yml +5713 -0
  15. data/config/locales/por.yml +5702 -0
  16. data/config/locales/spa.yml +5708 -0
  17. data/db/migrate/20150813022423_add_data.xml +5740 -0
  18. data/db/migrate/20150813224145_fix_zea.xml +14 -0
  19. data/db/migrate/20150813224155_fix_hordeum.xml +175 -0
  20. data/db/migrate/20150814104907_rename_charts_of_accounts.xml +4 -0
  21. data/db/migrate/20150817202608_rename_abaci.xml +19 -0
  22. data/db/migrate/20150818132801_add_vinifera_product_exchangers.xml +4 -0
  23. data/db/migrate/20150818152001_add_wine_bottles.xml +13 -0
  24. data/db/migrate/20150818232501_add_vinifera_sale_exchangers.xml +4 -0
  25. data/db/migrate/20150820212931_remove_abaci.xml +19 -0
  26. data/db/migrate/20150821082601_add_grain_variants.xml +4 -0
  27. data/db/migrate/20150821230800_rename_invalid_document_natures.xml +12 -0
  28. data/db/migrate/20150825180658_add_production_usages.xml +5 -0
  29. data/db/migrate/20150826091319_add_leguminous_crop.xml +11 -0
  30. data/db/migrate/20150826092813_add_cannabis_varieties.xml +51 -0
  31. data/db/migrate/20150826100013_add_thicket_varieties.xml +9 -0
  32. data/db/migrate/20150826103353_add_eis_plant.xml +31 -0
  33. data/db/migrate/20150902081701_add_garden_varieties.xml +7 -0
  34. data/db/migrate/20150905094701_add_milklic_individual_production_exchangers.xml +4 -0
  35. data/db/migrate/20150914095928_add_meteorological_analysis_nature.xml +46 -0
  36. data/db/migrate/20150916110501_add_grain_analysis.xml +5 -0
  37. data/db/migrate/20150916151652_fix_product_nature_variant_units.xml +515 -0
  38. data/db/migrate/20150919123840_fix_plant_varieties.xml +36 -0
  39. data/db/migrate/20150919223801_change_walnut_nature.xml +6 -0
  40. data/db/migrate/20150920212201_add_fruit_harvest.xml +4 -0
  41. data/db/migrate/20150921104001_add_fuel_consumption_indicator.xml +7 -0
  42. data/db/migrate/20150921110601_add_crumbs_exchangers.xml +4 -0
  43. data/db/migrate/20150921175601_add_units_liter_per_hour.xml +4 -0
  44. data/db/migrate/20151001154701_add_missing_variants.xml +9 -0
  45. data/db/migrate/20151019090110_add_json_exchange_natures.xml +11 -0
  46. data/db/migrate/20151021172901_add_missing_indicator_on_animals.xml +12 -0
  47. data/db/migrate/20151027095601_add_missing_issue_natures.xml +6 -0
  48. data/db/migrate/20151102110723_add_daily_nitrogen_production_indicator.xml +4 -0
  49. data/db/migrate/20151107122501_add_cap_statements_exchangers.xml +4 -0
  50. data/db/migrate/20151111212501_add_missing_cap_productions.xml +15 -0
  51. data/db/migrate/20151117192943_change_procedure_nomenclatures.xml +159 -0
  52. data/db/migrate/20151122101101_add_missing_tropical_cap_varieties.xml +33 -0
  53. data/db/migrate/20151125163801_add_missing_varieties.xml +7 -0
  54. data/db/migrate/20151209000401_add_missing_crop_sets.xml +12 -0
  55. data/db/migrate/20151209011801_add_missing_varieties.xml +45 -0
  56. data/db/migrate/20151209094701_add_oleaginous_missing_varieties.xml +11 -0
  57. data/db/migrate/20151209103601_add_proteaginous_missing_varieties.xml +6 -0
  58. data/db/migrate/20151210150144_add_daucus_carota_varieties.xml +38 -0
  59. data/db/migrate/20151210163440_add_phaseolus_varieties.xml +11 -0
  60. data/db/migrate/20151210164511_add_allium_porrum_varieties.xml +13 -0
  61. data/db/migrate/20151210170103_add_allium_cepa_varieties.xml +6 -0
  62. data/db/migrate/20151211114316_add_beta_varieties.xml +4 -0
  63. data/db/migrate/20151211115500_add_brassica_varieties.xml +50 -0
  64. data/db/migrate/20151211124757_add_allium_schoenoprasum_varieties.xml +4 -0
  65. data/db/migrate/20151211132045_add_cucurbita_varieties.xml +13 -0
  66. data/db/migrate/20151211143806_add_spinacia_oleracea_varieties.xml +5 -0
  67. data/db/migrate/20151211151402_add_lactuca_varieties.xml +6 -0
  68. data/db/migrate/20151211153218_add_zea_mays_varieties.xml +46 -0
  69. data/db/migrate/20151214084817_add_hordeum_varieties.xml +5 -0
  70. data/db/migrate/20151214085342_add_pastinaca_sativa_varieties.xml +4 -0
  71. data/db/migrate/20151214085721_add_pisum_sativum_varieties.xml +8 -0
  72. data/db/migrate/20151214090420_add_solanum_tuberosum_varieties.xml +4 -0
  73. data/db/migrate/20151214091020_add_raphanus_varieties.xml +8 -0
  74. data/db/migrate/20151214092727_add_glycine_max_varieties.xml +4 -0
  75. data/db/migrate/20151215132825_add_abilities.xml +7 -0
  76. data/db/migrate/20151215133320_add_equipment_variants.xml +43 -0
  77. data/db/migrate/20151215214901_add_openwheatermap_identifiers.xml +5 -0
  78. data/db/migrate/20151216095351_add_ridger_equipment_variants.xml +4 -0
  79. data/db/migrate/20151216100708_add_lifter_equipment_variants.xml +4 -0
  80. data/db/migrate/20151216160914_add_raphanus_sativus_varieties.xml +4 -0
  81. data/db/migrate/20151216182551_add_more_units.xml +7 -0
  82. data/db/migrate/20151218081701_add_crops_issue_natures.xml +11 -0
  83. data/db/migrate/20151222162657_add_varieties.xml +18 -0
  84. data/db/migrate/20151222180021_remove_population.xml +402 -0
  85. data/db/reference.xml +5727 -0
  86. data/lib/onoma/database.rb +171 -0
  87. data/lib/onoma/item.rb +272 -0
  88. data/lib/onoma/migration/actions/base.rb +19 -0
  89. data/lib/onoma/migration/actions/item_change.rb +35 -0
  90. data/lib/onoma/migration/actions/item_creation.rb +39 -0
  91. data/lib/onoma/migration/actions/item_merging.rb +19 -0
  92. data/lib/onoma/migration/actions/item_removal.rb +18 -0
  93. data/lib/onoma/migration/actions/nomenclature_change.rb +26 -0
  94. data/lib/onoma/migration/actions/nomenclature_creation.rb +24 -0
  95. data/lib/onoma/migration/actions/nomenclature_removal.rb +24 -0
  96. data/lib/onoma/migration/actions/property_creation.rb +43 -0
  97. data/lib/onoma/migration/actions.rb +9 -0
  98. data/lib/onoma/migration/base.rb +45 -0
  99. data/lib/onoma/migration.rb +11 -0
  100. data/lib/onoma/migrator/reference.rb +77 -0
  101. data/lib/onoma/migrator/translation.rb +30 -0
  102. data/lib/onoma/migrator.rb +3 -0
  103. data/lib/onoma/nomenclature.rb +507 -0
  104. data/lib/onoma/property.rb +98 -0
  105. data/lib/onoma/reference.rb +17 -0
  106. data/lib/onoma/reflection.rb +34 -0
  107. data/lib/onoma/relation.rb +9 -0
  108. data/lib/onoma/version.rb +3 -0
  109. data/lib/onoma.rb +133 -0
  110. data/onoma.gemspec +28 -0
  111. metadata +237 -0
@@ -0,0 +1,98 @@
1
+ module Onoma
2
+ class Property
3
+ TYPES = [:boolean, :item, :item_list, :choice, :choice_list, :string_list,
4
+ :date, :decimal, :integer, :nomenclature, :string, :symbol]
5
+
6
+ attr_reader :nomenclature, :name, :type, :fallbacks, :default, :source
7
+
8
+ # New item
9
+ def initialize(nomenclature, name, type, options = {})
10
+ @nomenclature = nomenclature
11
+ @name = name.to_sym
12
+ @type = type
13
+ fail "Invalid type: #{@type.inspect}" unless TYPES.include?(@type)
14
+ @fallbacks = options[:fallbacks] if options[:fallbacks]
15
+ @default = options[:default] if options[:default]
16
+ @required = !!options[:required]
17
+ @source = options[:choices] if reference? && options[:choices]
18
+ end
19
+
20
+ TYPES.each do |type|
21
+ define_method "#{type}?" do
22
+ @type == type
23
+ end
24
+ end
25
+
26
+ def to_xml_attrs
27
+ attrs = {}
28
+ attrs[:name] = @name.to_s
29
+ attrs[:type] = @type.to_s
30
+ if @source
31
+ if inline_choices?
32
+ attrs[:choices] = @source.join(', ')
33
+ else
34
+ attrs[:choices] = @source.to_s
35
+ end
36
+ end
37
+ attrs[:required] = 'true' if @required
38
+ attrs[:fallbacks] = @fallbacks.join(', ') if @fallbacks
39
+ attrs[:default] = @default.to_s if @default
40
+ attrs
41
+ end
42
+
43
+ # Returns if property is required
44
+ def required?
45
+ @required
46
+ end
47
+
48
+ def inline_choices?
49
+ choice? || choice_list?
50
+ end
51
+
52
+ def item_reference?
53
+ item? || item_list?
54
+ end
55
+
56
+ def reference?
57
+ choice_list? || item_list? || string_list? || choice? || item?
58
+ end
59
+
60
+ def list?
61
+ choice_list? || item_list? || string_list?
62
+ end
63
+
64
+ def choices_nomenclature
65
+ @source
66
+ end
67
+
68
+ # Returns list of choices for a given property
69
+ def choices
70
+ if inline_choices?
71
+ return @source || []
72
+ elsif item_reference?
73
+ return @nomenclature.sibling(@source).all.map(&:to_sym)
74
+ end
75
+ end
76
+
77
+ def selection
78
+ if inline_choices?
79
+ return choices.collect do |c|
80
+ [c, c]
81
+ end
82
+ elsif item_reference?
83
+ return @nomenclature.sibling(@source).selection
84
+ end
85
+ end
86
+
87
+ # Return human name of property
88
+ def human_name
89
+ "nomenclatures.#{nomenclature.name}.properties.#{name}".t(default: ["nomenclatures.#{nomenclature.name}.properties.#{name}".to_sym, "properties.#{name}".to_sym, "enumerize.#{nomenclature.name}.#{name}".to_sym, "labels.#{name}".to_sym, name.humanize])
90
+ end
91
+
92
+ alias_method :humanize, :human_name
93
+
94
+ def <=>(other)
95
+ name <=> other.name
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,17 @@
1
+ module Onoma
2
+ class Reference
3
+ attr_reader :set, :property, :foreign_nomenclature
4
+
5
+ def initialize(set, property, foreign_nomenclature, type = :key)
6
+ @set = set
7
+ @type = type
8
+ @property = property
9
+ @foreign_nomenclature = foreign_nomenclature
10
+ fail "Invalid nomenclature: #{@foreign_nomenclature.inspect}" unless @foreign_nomenclature.is_a?(Nomenclature)
11
+ end
12
+
13
+ def nomenclature
14
+ @property.nomenclature
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,34 @@
1
+ module Onoma
2
+ class Reflection
3
+ attr_reader :active_record, :name, :class_name, :foreign_key, :scope, :options, :nomenclature, :klass
4
+
5
+ def initialize(active_record, name, options = {})
6
+ @options = options
7
+ @name = name.to_s
8
+ @active_record = active_record
9
+ @class_name = options[:class_name] || name.to_s.classify
10
+ @foreign_key = options[:foreign_key] || name
11
+ @scope = options[:scope]
12
+ @nomenclature = class_name.underscore.pluralize
13
+ @klass = Onoma.find(@nomenclature)
14
+ end
15
+
16
+ alias_method :model, :active_record
17
+
18
+ def macro
19
+ :belongs_to
20
+ end
21
+
22
+ # Returns true if self and other_aggregation have the same name attribute, active_record attribute, and other_aggregation has an options hash assigned to it.
23
+ def ==(other_aggregation)
24
+ other_aggregation.is_a?(self.class) &&
25
+ name == other_aggregation.name &&
26
+ !other_aggregation.options.nil? &&
27
+ active_record == other_aggregation.active_record
28
+ end
29
+
30
+ def all(*args)
31
+ @klass ? @klass.all(*args) : []
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,9 @@
1
+ module Onoma
2
+ class Relation < Array
3
+ alias_method :find_each, :each
4
+
5
+ def select(*args, &block)
6
+ self.class.new(super(*args, &block))
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ module Onoma
2
+ VERSION = "0.0.0"
3
+ end
data/lib/onoma.rb ADDED
@@ -0,0 +1,133 @@
1
+ require "onoma/version"
2
+ require 'nokogiri'
3
+ require 'active_support/hash_with_indifferent_access'
4
+
5
+ require 'onoma/item'
6
+ require 'onoma/migration'
7
+ require 'onoma/migrator'
8
+ require 'onoma/nomenclature'
9
+ require 'onoma/database'
10
+ require 'onoma/property'
11
+ require 'onoma/reference'
12
+ require 'onoma/relation'
13
+ require 'onoma/reflection'
14
+
15
+ module Onoma
16
+ XMLNS = 'http://www.ekylibre.org/XML/2013/nomenclatures'.freeze
17
+ NS_SEPARATOR = '-'
18
+
19
+ class MissingNomenclature < StandardError
20
+ end
21
+
22
+ class MissingChoices < StandardError
23
+ end
24
+
25
+ class InvalidProperty < StandardError
26
+ end
27
+
28
+ class << self
29
+
30
+ def root
31
+ Pathname.new(__FILE__).dirname.dirname
32
+ end
33
+
34
+ def database_path
35
+ root.join('db')
36
+ end
37
+
38
+ def migrations_path
39
+ database_path.join('migrate')
40
+ end
41
+
42
+ def reference_path
43
+ database_path.join('reference.xml')
44
+ end
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
+ # Returns list of Onoma::Migration
62
+ def migrations
63
+ Dir.glob(migrations_path.join('*.xml')).sort.collect do |f|
64
+ Onoma::Migration::Base.parse(Pathname.new(f))
65
+ end
66
+ end
67
+
68
+ # Returns list of migrations since last done
69
+ def missing_migrations
70
+ load_database unless database_loaded?
71
+ last_version = reference_version
72
+ migrations.select do |m|
73
+ m.number > last_version
74
+ end
75
+ end
76
+
77
+ # Returns the names of the nomenclatures
78
+ def names
79
+ @@set.nomenclature_names
80
+ end
81
+
82
+ def all
83
+ @@set.nomenclatures
84
+ end
85
+
86
+ # Give access to named nomenclatures
87
+ def [](name)
88
+ @@set[name]
89
+ end
90
+
91
+ # Give access to named nomenclatures
92
+ def find(*args)
93
+ options = args.extract_options!
94
+ name = args.shift
95
+ if args.size == 0
96
+ return @@set[name]
97
+ elsif args.size == 1
98
+ return @@set[name].find(args.shift) if @@set[name]
99
+ end
100
+ return nil
101
+ end
102
+
103
+ def find_or_initialize(name)
104
+ @@set[name] || Nomenclature.new(name, set: @@set)
105
+ end
106
+
107
+ # Browse all nomenclatures
108
+ def each(&block)
109
+ @@set.each(&block)
110
+ end
111
+
112
+ def load_database
113
+ if reference_path.exist?
114
+ @@set = Database.load_file(reference_path)
115
+ else
116
+ @@set = Database.new
117
+ end
118
+ @database_loaded = true
119
+ # Rails.logger.info 'Loaded nomenclatures: ' + Onoma.names.to_sentence
120
+ end
121
+
122
+ def database_loaded?
123
+ @database_loaded
124
+ end
125
+
126
+ # Returns the matching nomenclature
127
+ def const_missing(name)
128
+ n = name.to_s.underscore.pluralize
129
+ return self[n] if @@set.exist?(n)
130
+ super
131
+ end
132
+ end
133
+ end
data/onoma.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'onoma/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "onoma"
8
+ spec.version = Onoma::VERSION
9
+ spec.authors = ["Brice TEXIER"]
10
+ spec.email = ["brice@ekylibre.com"]
11
+
12
+ spec.summary = %q{Provides open nomenclature data in a gem}
13
+ spec.description = %q{Actual support Open-Nomenclature data and gem for use}
14
+ spec.homepage = "https://github.com/ekylibre/onoma"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.10"
23
+ spec.add_development_dependency "colored"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "minitest"
26
+ spec.add_dependency "activesupport"
27
+ spec.add_dependency "nokogiri"
28
+ end
metadata ADDED
@@ -0,0 +1,237 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: onoma
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Brice TEXIER
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-12-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: colored
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Actual support Open-Nomenclature data and gem for use
98
+ email:
99
+ - brice@ekylibre.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".travis.yml"
106
+ - CODE_OF_CONDUCT.md
107
+ - Gemfile
108
+ - LICENSE.txt
109
+ - README.md
110
+ - Rakefile
111
+ - bin/console
112
+ - bin/setup
113
+ - config/locales/arb.yml
114
+ - config/locales/eng.yml
115
+ - config/locales/fra.yml
116
+ - config/locales/jpn.yml
117
+ - config/locales/por.yml
118
+ - config/locales/spa.yml
119
+ - db/migrate/20150813022423_add_data.xml
120
+ - db/migrate/20150813224145_fix_zea.xml
121
+ - db/migrate/20150813224155_fix_hordeum.xml
122
+ - db/migrate/20150814104907_rename_charts_of_accounts.xml
123
+ - db/migrate/20150817202608_rename_abaci.xml
124
+ - db/migrate/20150818132801_add_vinifera_product_exchangers.xml
125
+ - db/migrate/20150818152001_add_wine_bottles.xml
126
+ - db/migrate/20150818232501_add_vinifera_sale_exchangers.xml
127
+ - db/migrate/20150820212931_remove_abaci.xml
128
+ - db/migrate/20150821082601_add_grain_variants.xml
129
+ - db/migrate/20150821230800_rename_invalid_document_natures.xml
130
+ - db/migrate/20150825180658_add_production_usages.xml
131
+ - db/migrate/20150826091319_add_leguminous_crop.xml
132
+ - db/migrate/20150826092813_add_cannabis_varieties.xml
133
+ - db/migrate/20150826100013_add_thicket_varieties.xml
134
+ - db/migrate/20150826103353_add_eis_plant.xml
135
+ - db/migrate/20150902081701_add_garden_varieties.xml
136
+ - db/migrate/20150905094701_add_milklic_individual_production_exchangers.xml
137
+ - db/migrate/20150914095928_add_meteorological_analysis_nature.xml
138
+ - db/migrate/20150916110501_add_grain_analysis.xml
139
+ - db/migrate/20150916151652_fix_product_nature_variant_units.xml
140
+ - db/migrate/20150919123840_fix_plant_varieties.xml
141
+ - db/migrate/20150919223801_change_walnut_nature.xml
142
+ - db/migrate/20150920212201_add_fruit_harvest.xml
143
+ - db/migrate/20150921104001_add_fuel_consumption_indicator.xml
144
+ - db/migrate/20150921110601_add_crumbs_exchangers.xml
145
+ - db/migrate/20150921175601_add_units_liter_per_hour.xml
146
+ - db/migrate/20151001154701_add_missing_variants.xml
147
+ - db/migrate/20151019090110_add_json_exchange_natures.xml
148
+ - db/migrate/20151021172901_add_missing_indicator_on_animals.xml
149
+ - db/migrate/20151027095601_add_missing_issue_natures.xml
150
+ - db/migrate/20151102110723_add_daily_nitrogen_production_indicator.xml
151
+ - db/migrate/20151107122501_add_cap_statements_exchangers.xml
152
+ - db/migrate/20151111212501_add_missing_cap_productions.xml
153
+ - db/migrate/20151117192943_change_procedure_nomenclatures.xml
154
+ - db/migrate/20151122101101_add_missing_tropical_cap_varieties.xml
155
+ - db/migrate/20151125163801_add_missing_varieties.xml
156
+ - db/migrate/20151209000401_add_missing_crop_sets.xml
157
+ - db/migrate/20151209011801_add_missing_varieties.xml
158
+ - db/migrate/20151209094701_add_oleaginous_missing_varieties.xml
159
+ - db/migrate/20151209103601_add_proteaginous_missing_varieties.xml
160
+ - db/migrate/20151210150144_add_daucus_carota_varieties.xml
161
+ - db/migrate/20151210163440_add_phaseolus_varieties.xml
162
+ - db/migrate/20151210164511_add_allium_porrum_varieties.xml
163
+ - db/migrate/20151210170103_add_allium_cepa_varieties.xml
164
+ - db/migrate/20151211114316_add_beta_varieties.xml
165
+ - db/migrate/20151211115500_add_brassica_varieties.xml
166
+ - db/migrate/20151211124757_add_allium_schoenoprasum_varieties.xml
167
+ - db/migrate/20151211132045_add_cucurbita_varieties.xml
168
+ - db/migrate/20151211143806_add_spinacia_oleracea_varieties.xml
169
+ - db/migrate/20151211151402_add_lactuca_varieties.xml
170
+ - db/migrate/20151211153218_add_zea_mays_varieties.xml
171
+ - db/migrate/20151214084817_add_hordeum_varieties.xml
172
+ - db/migrate/20151214085342_add_pastinaca_sativa_varieties.xml
173
+ - db/migrate/20151214085721_add_pisum_sativum_varieties.xml
174
+ - db/migrate/20151214090420_add_solanum_tuberosum_varieties.xml
175
+ - db/migrate/20151214091020_add_raphanus_varieties.xml
176
+ - db/migrate/20151214092727_add_glycine_max_varieties.xml
177
+ - db/migrate/20151215132825_add_abilities.xml
178
+ - db/migrate/20151215133320_add_equipment_variants.xml
179
+ - db/migrate/20151215214901_add_openwheatermap_identifiers.xml
180
+ - db/migrate/20151216095351_add_ridger_equipment_variants.xml
181
+ - db/migrate/20151216100708_add_lifter_equipment_variants.xml
182
+ - db/migrate/20151216160914_add_raphanus_sativus_varieties.xml
183
+ - db/migrate/20151216182551_add_more_units.xml
184
+ - db/migrate/20151218081701_add_crops_issue_natures.xml
185
+ - db/migrate/20151222162657_add_varieties.xml
186
+ - db/migrate/20151222180021_remove_population.xml
187
+ - db/reference.xml
188
+ - lib/onoma.rb
189
+ - lib/onoma/database.rb
190
+ - lib/onoma/item.rb
191
+ - lib/onoma/migration.rb
192
+ - lib/onoma/migration/actions.rb
193
+ - lib/onoma/migration/actions/base.rb
194
+ - lib/onoma/migration/actions/item_change.rb
195
+ - lib/onoma/migration/actions/item_creation.rb
196
+ - lib/onoma/migration/actions/item_merging.rb
197
+ - lib/onoma/migration/actions/item_removal.rb
198
+ - lib/onoma/migration/actions/nomenclature_change.rb
199
+ - lib/onoma/migration/actions/nomenclature_creation.rb
200
+ - lib/onoma/migration/actions/nomenclature_removal.rb
201
+ - lib/onoma/migration/actions/property_creation.rb
202
+ - lib/onoma/migration/base.rb
203
+ - lib/onoma/migrator.rb
204
+ - lib/onoma/migrator/reference.rb
205
+ - lib/onoma/migrator/translation.rb
206
+ - lib/onoma/nomenclature.rb
207
+ - lib/onoma/property.rb
208
+ - lib/onoma/reference.rb
209
+ - lib/onoma/reflection.rb
210
+ - lib/onoma/relation.rb
211
+ - lib/onoma/version.rb
212
+ - onoma.gemspec
213
+ homepage: https://github.com/ekylibre/onoma
214
+ licenses:
215
+ - MIT
216
+ metadata: {}
217
+ post_install_message:
218
+ rdoc_options: []
219
+ require_paths:
220
+ - lib
221
+ required_ruby_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ requirements: []
232
+ rubyforge_project:
233
+ rubygems_version: 2.4.5.1
234
+ signing_key:
235
+ specification_version: 4
236
+ summary: Provides open nomenclature data in a gem
237
+ test_files: []