Class: ParseSubstance

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, dose = nil) ⇒ ParseSubstance

Returns a new instance of ParseSubstance.



334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/oddb2xml/parslet_compositions.rb', line 334

def initialize(name, dose = nil)
  puts "ParseSubstance.new from #{name.inspect} #{dose.inspect}" if VERBOSE_MESSAGES
  @name = ParseUtil.capitalize(name.to_s)
  @name.sub!(/\baqua\b/i, "aqua")
  @name.sub!(/\bDER\b/i, "DER")
  @name.sub!(/\bad pulverem\b/i, "ad pulverem")
  @name.sub!(/\bad iniectabilia\b/i, "ad iniectabilia")
  @name.sub!(/\bad suspensionem\b/i, "ad suspensionem")
  @name.sub!(/\bad solutionem\b/i, "ad solutionem")
  @name.sub!(/\bpro compresso\b/i, "pro compresso")
  @name.sub!(/\bpro\b/i, "pro")
  @name.sub!(/ Q\.S\. /i, " q.s. ")
  @name.sub!(/\s+\bpro$/i, "")
  @dose = dose if dose
  @salts = []
end

Instance Attribute Details

#cdoseObject

Returns the value of attribute cdose.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def cdose
  @cdose
end

#chemical_qtyObject

Returns the value of attribute chemical_qty.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def chemical_qty
  @chemical_qty
end

#chemical_substanceObject

Returns the value of attribute chemical_substance.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def chemical_substance
  @chemical_substance
end

#chemical_unitObject

Returns the value of attribute chemical_unit.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def chemical_unit
  @chemical_unit
end

#descriptionObject

Returns the value of attribute description.



332
333
334
# File 'lib/oddb2xml/parslet_compositions.rb', line 332

def description
  @description
end

#doseObject

Returns the value of attribute dose.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def dose
  @dose
end

#is_active_agentObject

Returns the value of attribute is_active_agent.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def is_active_agent
  @is_active_agent
end

#is_excipiensObject

Returns the value of attribute is_excipiens.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def is_excipiens
  @is_excipiens
end

#more_infoObject

Returns the value of attribute more_info.



332
333
334
# File 'lib/oddb2xml/parslet_compositions.rb', line 332

def more_info
  @more_info
end

#nameObject

Returns the value of attribute name.



331
332
333
# File 'lib/oddb2xml/parslet_compositions.rb', line 331

def name
  @name
end

#qtyObject



351
352
353
354
# File 'lib/oddb2xml/parslet_compositions.rb', line 351

def qty
  return @dose.qty_range if @dose&.qty_range
  @dose ? @dose.qty : @qty
end

#saltsObject

Returns the value of attribute salts.



332
333
334
# File 'lib/oddb2xml/parslet_compositions.rb', line 332

def salts
  @salts
end

#unitObject



356
357
358
359
# File 'lib/oddb2xml/parslet_compositions.rb', line 356

def unit
  return @unit if @unit
  @dose ? @dose.unit : @unit
end

Instance Method Details

#to_stringObject



361
362
363
364
365
366
367
# File 'lib/oddb2xml/parslet_compositions.rb', line 361

def to_string
  s = "#{@name}:"
  s = " #{@qty}" if @qty
  s = " #{@unit}" if @unit
  s += @chemical_substance.to_s if chemical_substance
  s
end