adhearsion/ruby_speech

View on GitHub
lib/ruby_speech.rb

Summary

Maintainability
A
0 mins
Test Coverage
%w{
  nokogiri

  ruby_speech/version
  ruby_speech/ssml
  ruby_speech/grxml
  ruby_speech/nlsml
}.each { |f| require f }

module RubySpeech
  def self.parse(string)
    document = Nokogiri::XML.parse string, nil, nil, Nokogiri::XML::ParseOptions::NOBLANKS
    namespace = document.root.namespace
    case namespace && namespace.href
    when SSML::SSML_NAMESPACE
      SSML::Element.import string
    when GRXML::GRXML_NAMESPACE
      GRXML::Element.import string
    when NLSML::NLSML_NAMESPACE, nil
      NLSML::Document.new document
    end
  end
end