Sha256: 9fcfdda87c5e35fd06ea922c6769fb5d38ea1ad11001f0432a004cc8985391ad

Contents?: true

Size: 868 Bytes

Versions: 1

Compression:

Stored size: 868 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 :Matcher
    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

1 entries across 1 versions & 1 rubygems

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