Sha256: 98704b7aea43db2c7c7aff1972b39667d8f713190b750f5ffc7c6e844abb6326

Contents?: true

Size: 846 Bytes

Versions: 5

Compression:

Stored size: 846 Bytes

Contents

module RubySpeech
  module GRXML
    extend ActiveSupport::Autoload

    eager_autoload do
      autoload :Element
      autoload :Grammar
      autoload :Rule
      autoload :Item
      autoload :OneOf
      autoload :Ruleref
      autoload :Tag
      autoload :Token
    end

    autoload :Match
    autoload :NoMatch
    autoload :PotentialMatch

    InvalidChildError = Class.new StandardError

    GRXML_NAMESPACE = 'http://www.w3.org/2001/06/grammar'

    def self.draw(attributes = {}, &block)
      Grammar.new(attributes).tap do |grammar|
        block_return = grammar.eval_dsl_block &block
        grammar << block_return if block_return.is_a?(String)
      end.assert_has_matching_root_rule
    end

    def self.import(other)
      Element.import other
    end
  end # GRXML
end # RubySpeech

ActiveSupport::Autoload.eager_autoload!

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby_speech-1.1.0 lib/ruby_speech/grxml.rb
ruby_speech-1.0.2 lib/ruby_speech/grxml.rb
ruby_speech-1.0.1 lib/ruby_speech/grxml.rb
ruby_speech-1.0.0 lib/ruby_speech/grxml.rb
ruby_speech-0.5.1 lib/ruby_speech/grxml.rb