class Relaton3gpp::XMLParser
Private Class Methods
bib_item(item_hash)
click to toggle source
@param item_hash [Hash] @return [RelatonSgpp::BibliographicItem]
# File lib/relaton_3gpp/xml_parser.rb, line 53 def bib_item(item_hash) BibliographicItem.new(**item_hash) end
fetch_release(ext)
click to toggle source
Ftech release information
@param [Nokogiri::XML::Element] ext
@return [Relaton3gpp::Release] release
# File lib/relaton_3gpp/xml_parser.rb, line 31 def fetch_release(ext) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength release = ext.at("./release") return unless release hash = {} hash[:version2g] = release.at("./version2G")&.text hash[:version3g] = release.at("./version3G")&.text hash[:defunct] = release.at("./defunct")&.text hash[:wpm_code_2g] = release.at("./wpm-code-2G")&.text hash[:wpm_code_3g] = release.at("./wpm-code-3G")&.text hash[:freeze_meeting] = release.at("./freeze-meeting")&.text hash[:freeze_stage1_meeting] = release.at("./freeze-stage1-meeting")&.text hash[:freeze_stage2_meeting] = release.at("./freeze-stage2-meeting")&.text hash[:freeze_stage3_meeting] = release.at("./freeze-stage3-meeting")&.text hash[:close_meeting] = release.at("./close-meeting")&.text hash[:project_start] = release.at("./project-start")&.text hash[:project_end] = release.at("./project-end")&.text Release.new(**hash) end
item_data(bibitem)
click to toggle source
Parse XML to hash
@param [Nokofiri::XML::Element] bibitem
@return [Hash]
Calls superclass method
# File lib/relaton_3gpp/xml_parser.rb, line 13 def item_data(bibitem) hash = super ext = bibitem.at "./ext" if ext hash[:radiotechnology] = ext.at("./radiotechnology")&.text hash[:common_ims_spec] = ext.at("./common-ims-spec")&.text hash[:release] = fetch_release(ext) end hash end