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



125
126
127
128
129
130
131
132
# File 'lib/oddb2xml/parslet_compositions.rb', line 125

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



110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/oddb2xml/parslet_compositions.rb', line 110

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



267
268
269
270
271
272
# File 'lib/oddb2xml/parslet_compositions.rb', line 267

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

.correspObject



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

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

.excipiensObject



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

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

.get_ratio(parse_info) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
# File 'lib/oddb2xml/parslet_compositions.rb', line 98

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



273
274
275
# File 'lib/oddb2xml/parslet_compositions.rb', line 273

def CompositionTransformer.substances
  @@substances.clone
end