Class: CompositionTransformer
- Inherits:
-
Parslet::Transform
- Object
- Parslet::Transform
- CompositionTransformer
- Defined in:
- lib/oddb2xml/parslet_compositions.rb
Direct Known Subclasses
Constant Summary collapse
- @@more_info =
nil
- @@excipiens =
nil
Class Method Summary collapse
- .add_excipiens(info) ⇒ Object
- .check_e_substance(substance) ⇒ Object
- .clear_substances ⇒ Object
- .corresp ⇒ Object
- .excipiens ⇒ Object
- .get_ratio(parse_info) ⇒ Object
- .substances ⇒ Object
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_substances ⇒ Object
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 |
.corresp ⇒ Object
279 280 281 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 279 def CompositionTransformer.corresp @@corresp ? @@corresp.clone : nil end |
.excipiens ⇒ Object
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 |
.substances ⇒ Object
273 274 275 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 273 def CompositionTransformer.substances @@substances.clone end |