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
143 144 145 146 147 148 149 150 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 143 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
129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 129 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
275 276 277 278 279 280 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 275 def self.clear_substances @@more_info = nil @@substances = [] @@excipiens = nil @@corresp = nil end |
.corresp ⇒ Object
290 291 292 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 290 def self.corresp @@corresp ? @@corresp.clone : nil end |
.excipiens ⇒ Object
286 287 288 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 286 def self.excipiens @@excipiens ? @@excipiens.clone : nil end |
.get_ratio(parse_info) ⇒ Object
121 122 123 124 125 126 127 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 121 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
282 283 284 |
# File 'lib/oddb2xml/parslet_compositions.rb', line 282 def self.substances @@substances.clone end |