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
144 145 146 147 148 149 150 151 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 144 def self.add_excipiens(info) @@more_info = nil @@excipiens = ParseSubstance.new(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
130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 130 def self.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." end substance.more_info ||= @@more_info end @@more_info = substance.more_info end |
.clear_substances ⇒ Object
276 277 278 279 280 281 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 276 def self.clear_substances @@more_info = nil @@substances = [] @@excipiens = nil @@corresp = nil end |
.corresp ⇒ Object
291 292 293 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 291 def self.corresp @@corresp ? @@corresp.clone : nil end |
.excipiens ⇒ Object
287 288 289 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 287 def self.excipiens @@excipiens ? @@excipiens.clone : nil end |
.get_ratio(parse_info) ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 122 def self.get_ratio(parse_info) if parse_info[:ratio] if (parse_info[:ratio].to_s.length > 0) && (parse_info[:ratio].to_s != ", ") parse_info[:ratio].to_s.sub(/^,\s+/, "").sub(/,\s+$/, "") end end end |
.substances ⇒ Object
283 284 285 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 283 def self.substances @@substances.clone end |