Module: OpenehrRails::Naming
- Defined in:
- lib/openehr_rails/naming.rb
Overview
Derives Rails model names from openEHR template ids. Shared by the scaffold generator and the admin engine (to detect/generate UIs).
Constant Summary collapse
- RM_TYPES =
%w[COMPOSITION OBSERVATION EVALUATION ACTION INSTRUCTION ADMIN_ENTRY].freeze
Class Method Summary collapse
-
.model_name(template_id) ⇒ Object
"openEHR-EHR-COMPOSITION.vital_signs.v1" => "vital_signs".
Class Method Details
.model_name(template_id) ⇒ Object
"openEHR-EHR-COMPOSITION.vital_signs.v1" => "vital_signs"
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/openehr_rails/naming.rb', line 12 def model_name(template_id) name = template_id.dup name.gsub!(/^openEHR-EHR-/, '') name.gsub!(/^openEHR-/, '') name.gsub!(/^IDCR-/, '') name.gsub!(/^EHRN-/, '') RM_TYPES.each { |rm_type| name.gsub!(/^#{rm_type}\./, '') } name.gsub!(/\.v\d+(\.\d+)?$/, '') name.downcase.gsub(/[.\s-]/, '_') end |