Class: Eeml::EnvironmentBuilder
- Includes:
- LibXML
- Defined in:
- lib/eeml/environment_builder.rb
Overview
:nodoc:
Class Method Summary collapse
- .build_from_csv(csv_str, version = :v1) ⇒ Object
- .build_from_json(json_str) ⇒ Object
- .build_from_xml(xml_str) ⇒ Object
- .build_list_from_xml(xml_str) ⇒ Object
Class Method Details
.build_from_csv(csv_str, version = :v1) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/eeml/environment_builder.rb', line 51 def self.build_from_csv(csv_str, version = :v1) if version == :v2 parser = CsvParserV2 else parser = CsvParserV1 end parser.make_environment_from_csv(csv_str) end |
.build_from_json(json_str) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/eeml/environment_builder.rb', line 33 def self.build_from_json(json_str) json = JSON.parse(json_str) if Constants::EEML['0.5.0'][:versions].include? json["version"].to_s parser = JsonEnvironmentParserV005.new elsif Constants::EEML['0.5.1'][:versions].include? json["version"].to_s parser = JsonEnvironmentParserV005.new elsif Constants::JSON_API['1.0.0'][:versions].include? json["version"].to_s parser = JsonEnvironmentParserV100.new elsif Constants::JSON_API['0.6-alpha'][:versions].include? json["version"].to_s parser = JsonEnvironmentParserV006.new else raise Eeml::Exceptions::BadVersion# raise something so we jump to the rescue block below end return parser.make_environment_from_hash(json) rescue Eeml::Exceptions::BadVersion, TypeError raise JSON::ParserError, "Invalid version specification. Permitted versions are #{Constants::EEML['0.5.0'][:versions].first}, #{Constants::JSON_API["0.6-alpha"][:versions].first} and #{Constants::JSON_API["1.0.0"][:versions].first}" end |
.build_from_xml(xml_str) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/eeml/environment_builder.rb', line 14 def self.build_from_xml(xml_str) begin xml = XML::Parser.string(xml_str).parse if xml.root.namespaces.default.to_s == Constants::EEML['0.5.1'][:href] parser = LibXMLEemlParserV051.new else parser = LibXMLEemlParserV005.new end rescue => e parser = LibXMLEemlParserV005.new end return parser.make_environment_from_xml(xml_str) end |
.build_list_from_xml(xml_str) ⇒ Object
28 29 30 31 |
# File 'lib/eeml/environment_builder.rb', line 28 def self.build_list_from_xml(xml_str) parser = LibXMLEemlParserV005.new return parser.make_environments_from_xml(xml_str) end |