私はカバの宝石を使用して、X12ファイルをセグメントと値に解析しています。パーサーメソッドを使用していて、クラスHippo :: TransactionSets :: Hippa_837 :: Baseの変数を返すことを期待していましたが、返される値はクラスArrayです。ライブラリ内で、必要な量をグローバル変数に入れて、その方法でアクセスできますが、そうする必要はないと思います。クラスの変数を作成し、パーサーメソッドreturnを使用してその値を設定しようとしましたが、これまでのところうまくいきません。
begin
require 'rubygems'
gem 'minitest'
require 'minitest/autorun'
require 'pp'
require 'pry'
require 'hippo'
t = Hippo::Parser.parse_string(File.read('c:/test.edi'))
puts "DONE: "
puts t.class
puts $t.class
gets
puts $t.ST
end
出力:
DONE:
Hippo::TransactionSets::HIPAA_837::Base
Array
ST*837*0021*005010X222A1~
$ tは、parser.rblibファイルに設定したグローバル変数です。tは、セグメントにアクセスするためのメソッドのない配列クラスであることがわかります。