Sha256: 73a90a871b8526e9435382426d9b1d0f4ad02880c2c8db4c5f0218f96f102e25

Contents?: true

Size: 965 Bytes

Versions: 1

Compression:

Stored size: 965 Bytes

Contents

require 'eeml/libxml_eeml_parser_v005'
require 'eeml/json_environment_parser_v005'
require 'eeml/json_environment_parser_v006'

module Eeml
  class EnvironmentBuilder # :nodoc:

    def self.build_from_xml(xml_str)
      parser = LibXMLEemlParserV005.new
      return parser.make_environment_from_xml(xml_str)
    end

    def self.build_list_from_xml(xml_str)
      parser = LibXMLEemlParserV005.new
      return parser.make_environments_from_xml(xml_str)
    end

    def self.build_from_json(json_str)
      json = JSON.parse(json_str)
      if json["version"] == Constants::EEML5_VERSION
        parser = JsonEnvironmentParserV005.new
      elsif json["version"] == Constants::EEML6_VERSION
        parser = JsonEnvironmentParserV006.new
      else
        raise "Invalid version specification. Permitted versions are #{Constants::EEML5_VERSION} and #{Constants::EEML6_VERSION}"
      end
      return parser.make_environment_from_hash(json)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eeml-0.0.11 lib/eeml/environment_builder.rb