Module: Onoma
- Defined in:
- lib/onoma.rb,
lib/onoma/item.rb,
lib/onoma/version.rb,
lib/onoma/migrator.rb,
lib/onoma/relation.rb,
lib/onoma/reference.rb,
lib/onoma/models/sex.rb,
lib/onoma/models/tax.rb,
lib/onoma/reflection.rb,
lib/onoma/models/role.rb,
lib/onoma/models/unit.rb,
lib/onoma/record/base.rb,
lib/onoma/nomenclature.rb,
lib/onoma/models/figure.rb,
lib/onoma/migration/base.rb,
lib/onoma/models/ability.rb,
lib/onoma/models/account.rb,
lib/onoma/models/country.rb,
lib/onoma/models/variety.rb,
lib/onoma/models/crop_set.rb,
lib/onoma/models/currency.rb,
lib/onoma/models/language.rb,
lib/onoma/models/molecule.rb,
lib/onoma/property_nature.rb,
lib/onoma/models/dimension.rb,
lib/onoma/models/indicator.rb,
lib/onoma/nomenclature_set.rb,
lib/onoma/models/tax_nature.rb,
lib/onoma/migrator/reference.rb,
lib/onoma/models/net_service.rb,
lib/onoma/models/soil_nature.rb,
lib/onoma/models/working_set.rb,
lib/onoma/models/event_nature.rb,
lib/onoma/models/guide_nature.rb,
lib/onoma/models/issue_nature.rb,
lib/onoma/models/running_cost.rb,
lib/onoma/migrator/translation.rb,
lib/onoma/models/delivery_mode.rb,
lib/onoma/models/procedure_role.rb,
lib/onoma/models/product_nature.rb,
lib/onoma/migration/actions/base.rb,
lib/onoma/models/activity_family.rb,
lib/onoma/models/analysis_nature.rb,
lib/onoma/models/document_nature.rb,
lib/onoma/models/fence_perimeter.rb,
lib/onoma/models/fiscal_position.rb,
lib/onoma/models/chemical_element.rb,
lib/onoma/models/plant_life_state.rb,
lib/onoma/models/procedure_action.rb,
lib/onoma/models/procedure_nature.rb,
lib/onoma/models/production_usage.rb,
lib/onoma/models/accounting_system.rb,
lib/onoma/models/animal_life_state.rb,
lib/onoma/models/document_category.rb,
lib/onoma/models/identifier_nature.rb,
lib/onoma/models/production_nature.rb,
lib/onoma/models/production_system.rb,
lib/onoma/models/entity_link_nature.rb,
lib/onoma/models/opportunity_origin.rb,
lib/onoma/models/procedure_category.rb,
lib/onoma/models/administrative_area.rb,
lib/onoma/models/plants_growth_level.rb,
lib/onoma/models/soil_cultural_state.rb,
lib/onoma/migration/actions/item_change.rb,
lib/onoma/models/product_nature_variant.rb,
lib/onoma/migration/actions/item_merging.rb,
lib/onoma/migration/actions/item_removal.rb,
lib/onoma/models/chemical_classification.rb,
lib/onoma/models/product_nature_category.rb,
lib/onoma/migration/actions/item_creation.rb,
lib/onoma/models/mammalia_birth_condition.rb,
lib/onoma/models/plant_reproduction_state.rb,
lib/onoma/models/spatial_reference_system.rb,
lib/onoma/models/administrative_area_nature.rb,
lib/onoma/models/phosphorus_analysis_method.rb,
lib/onoma/models/residue_elimination_method.rb,
lib/onoma/models/mammalia_reproduction_state.rb,
lib/onoma/migration/actions/property_creation.rb,
lib/onoma/migration/actions/nomenclature_change.rb,
lib/onoma/migration/actions/nomenclature_removal.rb,
lib/onoma/migration/actions/nomenclature_creation.rb,
lib/onoma/models/cation_exchange_capacity_analysis_method.rb
Defined Under Namespace
Modules: Migration, Migrator, Record
Classes: Ability, Account, AccountingSystem, ActivityFamily, AdministrativeArea, AdministrativeAreaNature, AnalysisNature, AnimalLifeState, CationExchangeCapacityAnalysisMethod, ChemicalClassification, ChemicalElement, Country, CropSet, Currency, DeliveryMode, Dimension, DocumentCategory, DocumentNature, EntityLinkNature, Error, EventNature, FencePerimeter, Figure, FiscalPosition, GuideNature, IdentifierNature, Indicator, InvalidProperty, InvalidPropertyNature, IssueNature, Item, ItemNotFound, Language, MammaliaBirthCondition, MammaliaReproductionState, MissingChoices, MissingNomenclature, Molecule, NetService, Nomenclature, NomenclatureSet, OpportunityOrigin, PhosphorusAnalysisMethod, PlantLifeState, PlantReproductionState, PlantsGrowthLevel, ProcedureAction, ProcedureCategory, ProcedureNature, ProcedureRole, ProductNature, ProductNatureCategory, ProductNatureVariant, ProductionNature, ProductionSystem, ProductionUsage, PropertyNature, Reference, Reflection, Relation, ResidueEliminationMethod, Role, RunningCost, Sex, SoilCulturalState, SoilNature, SpatialReferenceSystem, Tax, TaxNature, Unit, Variety, WorkingSet
Constant Summary
collapse
- XMLNS =
'http://www.ekylibre.org/XML/2013/nomenclatures'.freeze
- NS_SEPARATOR =
'-'.freeze
- PROPERTY_TYPES =
%i[boolean item item_list choice choice_list string_list date decimal integer nomenclature string symbol].freeze
- VERSION =
'0.5.1'
Class Method Summary
collapse
Class Method Details
.[](index) ⇒ Object
Give access to named nomenclatures delegate :[], to: :set
105
106
107
|
# File 'lib/onoma.rb', line 105
def [](index)
set[index]
end
|
.all ⇒ Object
99
100
101
|
# File 'lib/onoma.rb', line 99
def all
set.nomenclatures
end
|
.database_path ⇒ Object
50
51
52
|
# File 'lib/onoma.rb', line 50
def database_path
root.join('db')
end
|
.each(&block) ⇒ Object
132
133
134
|
# File 'lib/onoma.rb', line 132
def each(&block)
set.each(&block)
end
|
.escape_key(key) ⇒ Object
42
43
44
|
# File 'lib/onoma.rb', line 42
def escape_key(key)
key.to_s.gsub('.', '-').to_sym
end
|
.find(*args) ⇒ Object
Give access to named nomenclatures
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/onoma.rb', line 110
def find(*args)
args.
name = args.shift
nomenclature = find_or_initialize(name)
if args.empty?
return nomenclature
elsif args.size == 1
return nomenclature.find(args.shift) if nomenclature
end
nil
end
|
.find_or_initialize(name) ⇒ Object
122
123
124
|
# File 'lib/onoma.rb', line 122
def find_or_initialize(name)
set[name] || set.load_data_from_xml(name)
end
|
.load! ⇒ Object
Force loading of nomenclatures
.load_locales ⇒ Object
140
141
142
|
# File 'lib/onoma.rb', line 140
def load_locales
I18n.load_path.concat(Dir.glob(Onoma.root.join('config', 'locales', '*.yml')))
end
|
.migrations ⇒ Object
Returns list of Onoma::Migration
80
81
82
83
84
|
# File 'lib/onoma.rb', line 80
def migrations
Dir.glob(migrations_path.join('*.xml')).sort.collect do |f|
Onoma::Migration::Base.parse(Pathname.new(f))
end
end
|
.migrations_path ⇒ Object
54
55
56
|
# File 'lib/onoma.rb', line 54
def migrations_path
database_path.join('migrate')
end
|
.missing_migrations ⇒ Object
Returns list of migrations since last done
87
88
89
90
91
92
|
# File 'lib/onoma.rb', line 87
def missing_migrations
last_version = reference_version
migrations.select do |m|
m.number > last_version
end
end
|
.names ⇒ Object
Returns the names of the nomenclatures
95
96
97
|
# File 'lib/onoma.rb', line 95
def names
set.nomenclature_names
end
|
.reference_document ⇒ Object
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/onoma.rb', line 68
def reference_document
unless @document
f = File.open(reference_path, 'rb')
@document = Nokogiri::XML(f) do |config|
config.strict.nonet.noblanks.noent
end
f.close
end
@document
end
|
.reference_path ⇒ Object
58
59
60
|
# File 'lib/onoma.rb', line 58
def reference_path
database_path.join('reference.xml')
end
|
.reference_version ⇒ Object
63
64
65
66
|
# File 'lib/onoma.rb', line 63
def reference_version
return 0 unless reference_path.exist?
reference_document.root['version'].to_i
end
|
.root ⇒ Object
46
47
48
|
# File 'lib/onoma.rb', line 46
def root
Pathname.new(__FILE__).dirname.dirname
end
|