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



147
148
149
150
151
152
153
154
# File 'lib/oddb2xml/parslet_compositions.rb', line 147

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



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

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



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

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

.correspObject



301
302
303
# File 'lib/oddb2xml/parslet_compositions.rb', line 301

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

.excipiensObject



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

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

.get_ratio(parse_info) ⇒ Object



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

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



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

def CompositionTransformer.substances
  @@substances.clone
end