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



143
144
145
146
147
148
149
150
# 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) ⇒ Object



129
130
131
132
133
134
135
136
137
138
139
140
141
# 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_substancesObject



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

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

.correspObject



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

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

.excipiensObject



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

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

.get_ratio(parse_info) ⇒ Object



121
122
123
124
125
126
127
# 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

.substancesObject



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

def self.substances
  @@substances.clone
end