Class: Julius::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/julius/message.rb

Defined Under Namespace

Classes: ElementError, Endproc, Endrecog, Engineinfo, GMM, Graminfo, Grammar, Graphout, Input, Inputparam, Recogfail, Recogout, Recogprocess, Rejected, Startproc, Startrecog, Stopproc, Sysinfo

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(element) ⇒ Message

Returns a new instance of Message.



107
108
109
110
111
# File 'lib/julius/message.rb', line 107

def initialize(element)
  element.attributes.each do |attribute|
    self.instance_variable_set("@#{attribute[0].downcase}", attribute[1])
  end
end

Class Method Details

.init(xml) ⇒ Object



100
101
102
103
104
105
# File 'lib/julius/message.rb', line 100

def self.init(xml)
  document = REXML::Document.new(xml.gsub(/<(\/?)s>/){ "&lt;#{$1}s&gt;" })
  eval(document.root.name.capitalize).new(document.root)
rescue NameError
  raise ElementError, "invalid XML element found: #{document.root.name}"
end

Instance Method Details

#nameObject



113
114
115
# File 'lib/julius/message.rb', line 113

def name
  self.class.name.upcase[/[A-Z]+$/].intern
end