class EvergreenHoldings::IDLParser

Public Class Methods

new(idl) click to toggle source
# File lib/evergreen_holdings/idl_parser.rb, line 5
def initialize(idl)
  @idl = idl
end

Public Instance Methods

field_order_by_class(classes) click to toggle source
# File lib/evergreen_holdings/idl_parser.rb, line 9
def field_order_by_class(classes)
  classes.map do |idl_class|
    fields = @idl.xpath("//idl:class[@id='#{idl_class}']/idl:fields/idl:field", 'idl' => 'http://opensrf.org/spec/IDL/base/v1')
                 .map.with_index { |field, index| [field['name'], index] }
    [idl_class, fields.to_h]
  end.to_h
end