Sha256: aef99d2a7db8339467598a0bd4d4d0333ee71c7450001d91e9795c3dc5cb79b5

Contents?: true

Size: 922 Bytes

Versions: 8

Compression:

Stored size: 922 Bytes

Contents

module RubySpeech
  module NLSML
    class Builder
      attr_reader :document

      def initialize(options = {}, &block)
        options = {'xmlns' => NLSML_NAMESPACE}.merge(options)
        xml_doc = Nokogiri::XML::Builder.new do |builder|
          builder.result options do |r|
            apply_block r, &block
          end
        end.doc
        @document = RubySpeech::NLSML::Document.new xml_doc
      end

      def interpretation(*args, &block)
        if args.last.respond_to?(:has_key?) && args.last.has_key?(:confidence)
          args.last[:confidence] = args.last[:confidence].to_f
        end
        @result.send :interpretation, *args, &block
      end

      def method_missing(method_name, *args, &block)
        @result.send method_name, *args, &block
      end

      private

      def apply_block(result, &block)
        @result = result
        instance_eval &block
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ruby_speech-3.0.1-java lib/ruby_speech/nlsml/builder.rb
ruby_speech-3.0.1 lib/ruby_speech/nlsml/builder.rb
ruby_speech-3.0.0-java lib/ruby_speech/nlsml/builder.rb
ruby_speech-3.0.0 lib/ruby_speech/nlsml/builder.rb
ruby_speech-2.4.0-java lib/ruby_speech/nlsml/builder.rb
ruby_speech-2.4.0 lib/ruby_speech/nlsml/builder.rb
ruby_speech-2.3.2-java lib/ruby_speech/nlsml/builder.rb
ruby_speech-2.3.2 lib/ruby_speech/nlsml/builder.rb