Я использую гем бегемота для разбора файлов X12 на их сегменты и значения. Я использую метод анализатора и ожидал, что он вернет переменные класса: Hippo::TransactionSets::Hippa_837::Base, но возвращаемое значение относится к классу Array. В библиотеке я могу поместить необходимое количество в глобальную переменную и получить к ней доступ таким образом, но я не думаю, что мне нужно это делать. Я попытался создать переменную класса и установить ее значение с возвратом метода парсера, пока не повезло с этим.
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.rb. t оказывается классом массива без методов доступа к сегментам.