Sha256: 03c141b2a7755aa4fa96a4226e06b2834d67f29697f5908ce78ef0ea850981a8

Contents?: true

Size: 817 Bytes

Versions: 1

Compression:

Stored size: 817 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

    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

1 entries across 1 versions & 1 rubygems

Version Path
ruby_speech-0.5.0 lib/ruby_speech/grxml.rb