Sha256: e67b6ba41056110e8bd826165b777d575efc71146061bf4e524f2991fb177399
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
require "eddy/build/elements/element" require "eddy/build/elements/n" require "eddy/build/elements/id" module Eddy # Generate Ruby classes for modeling Data Element logic, notes, and validation. module Build module Elements # Generate `Eddy::Element` classes for all data elements defined in `data/004010/elements.tsv` # # @param elements [Array<Eddy::Summary::Element>] # @return [void] def self.generate_elements(elements = self.generate_element_data()) existing = (Eddy::Util.list_element_classes() + Eddy::Util.list_built_elements()).uniq() elements.each do |el| next if existing.include?(el.id) existing.append(el.id) case el.edi_type() when "B" then next when "ID" then self.id(el) when "N" then self.n(el) when "AN" then self.element(el) when "DT" then self.element(el) when "R" then self.element(el) when "TM" then self.element(el) end end return nil end # Generate usable data from `data/004010/elements.tsv`. # # @return [Array<Eddy::Summary::Element>] def self.generate_element_data() data = Eddy::Util.raw_element_data() elements = data.map do |el| next if el[:type].nil? || el[:description].nil? Eddy::Summary::Element.create(el) end return elements.compact end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eddy-0.6.0 | lib/eddy/build/elements/elements.rb |