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 CompositionTransformer.add_excipiens(info)
  @@more_info           = nil
  @@excipiens           = ParseSubstance.new(info[:excipiens_description] ? 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



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

def CompositionTransformer.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.'
    else
    end
    substance.more_info ||= @@more_info
  end
  @@more_info = substance.more_info
end

.clear_substancesObject



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

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

.correspObject



297
298
299
# File 'lib/oddb2xml/parslet_compositions.rb', line 297

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

.excipiensObject



294
295
296
# File 'lib/oddb2xml/parslet_compositions.rb', line 294

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

.get_ratio(parse_info) ⇒ Object



116
117
118
119
120
121
122
123
124
125
126
# File 'lib/oddb2xml/parslet_compositions.rb', line 116

def CompositionTransformer.get_ratio(parse_info)
  if parse_info[:ratio]
    if parse_info[:ratio].to_s.length > 0 and parse_info[:ratio].to_s != ', '
      parse_info[:ratio].to_s.sub(/^,\s+/, '').sub(/,\s+$/,'')
    else
      nil
    end
  else
    nil
  end
end

.substancesObject



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

def CompositionTransformer.substances
  @@substances.clone
end