Module: EDNGRAMMAR::AppString1

Defined in:
lib/parser/edngrammar.rb

Instance Method Summary collapse

Instance Method Details

#astObject

XXX ignoring h and b64



1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
# File 'lib/parser/edngrammar.rb', line 1645

def ast                       # XXX ignoring h and b64
  data = sqstr.ast.force_encoding(Encoding::UTF_8) # XXX undo .b
  app = app_prefix.text_value
  # Find a better place to put a default initialization
  EDNGRAMMAR.const_set(:APPS, Hash.new { |h, k|
                         h[k] = begin ::CBOR_DIAG.const_get("App_#{k.downcase}")
  
                                rescue NameError
                                  raise ArgumentError, "cbor-diagnostic: Unknown application-oriented extension '#{k}'", caller
                                end
                       }) unless ::EDNGRAMMAR.const_defined?(:APPS)
  ::EDNGRAMMAR::APPS[app].decode(app, data)
end