Class: CompositionTransformer

Inherits:
Parslet::Transform
  • Object
show all
Defined in:
lib/oddb2xml/parslet_compositions.rb

Direct Known Subclasses

GalenicFormTransformer

Constant Summary collapse

@@more_info =
nil
@@excipiens =
nil

Class Method Summary collapse

Class Method Details

.add_excipiens(info) ⇒ Object



144
145
146
147
148
149
150
151
# File 'lib/oddb2xml/parslet_compositions.rb', line 144

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) ⇒ Object



130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/oddb2xml/parslet_compositions.rb', line 130

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_substancesObject



276
277
278
279
280
281
# File 'lib/oddb2xml/parslet_compositions.rb', line 276

def self.clear_substances
  @@more_info = nil
  @@substances = []
  @@excipiens = nil
  @@corresp = nil
end

.correspObject



291
292
293
# File 'lib/oddb2xml/parslet_compositions.rb', line 291

def self.corresp
  @@corresp ? @@corresp.clone : nil
end

.excipiensObject



287
288
289
# File 'lib/oddb2xml/parslet_compositions.rb', line 287

def self.excipiens
  @@excipiens ? @@excipiens.clone : nil
end

.get_ratio(parse_info) ⇒ Object



122
123
124
125
126
127
128
# File 'lib/oddb2xml/parslet_compositions.rb', line 122

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

.substancesObject



283
284
285
# File 'lib/oddb2xml/parslet_compositions.rb', line 283

def self.substances
  @@substances.clone
end