class CompositionTransformer

Public Class Methods

add_excipiens(info) click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 143
def self.add_excipiens(info)
  @@more_info = nil
  @@excipiens = ParseSubstance.new(info[:excipiens_description] || "Excipiens")
  @@excipiens.dose = info[:dose] if info[:dose]
  @@excipiens.more_info = CompositionTransformer.get_ratio(info)
  @@excipiens.cdose = info[:dose_corresp] if info[:dose_corresp]
  @@excipiens.more_info = info[:more_info] if info[:more_info]
end
check_e_substance(substance) click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 129
def self.check_e_substance(substance)
  return unless /^E \d\d\d/.match?(substance.name)
  unless substance.more_info
    case substance.name[2]
    when "1"
      substance.more_info = "color."
    when "2"
      substance.more_info = "conserv."
    end
    substance.more_info ||= @@more_info
  end
  @@more_info = substance.more_info
end
clear_substances() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 275
def self.clear_substances
  @@more_info = nil
  @@substances = []
  @@excipiens = nil
  @@corresp = nil
end
corresp() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 290
def self.corresp
  @@corresp ? @@corresp.clone : nil
end
excipiens() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 286
def self.excipiens
  @@excipiens ? @@excipiens.clone : nil
end
get_ratio(parse_info) click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 121
def self.get_ratio(parse_info)
  if parse_info[:ratio]
    if (parse_info[:ratio].to_s.length > 0) && (parse_info[:ratio].to_s != ", ")
      parse_info[:ratio].to_s.sub(/^,\s+/, "").sub(/,\s+$/, "")
    end
  end
end
substances() click to toggle source
# File lib/oddb2xml/parslet_compositions.rb, line 282
def self.substances
  @@substances.clone
end