Sha256: 6cd67ab5ace52a01c944d0ae20991336e1f460dc813b14a9be9036529ed760a8

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

require 'nokogiri'

module Qa::Authorities
  class Tgnlang
    attr_accessor :response

    def initialize
    end

    def search(q, sub_authority='')
      self.response = getTgnLang(q)
    end

    def getTgnLang(q)
      obj = Array.new
      Tgnlang.languages.each do |h|
        if h["label"].downcase.start_with?(q.downcase)
          obj.push(h)
        end
      end
      obj
    end

    def self.languages
      @languages ||=
        begin
          language_filename = File.expand_path("../../data/TGN_LANGUAGES.xml", __FILE__)
          lang_array = []
          File.open(language_filename) do |f|
            doc = Nokogiri::XML(f)
            lang_array = doc.css("Language").map do |lang|
              id = lang.css("Language_Code").first.text
              label = lang.css("Language_Name").first.text
              {"id" => id, "label" => label}
            end
          end
          lang_array
        end
    end

    def results
      self.response
    end

    def get_full_record(id, sub_authority)
      id = id.downcase
      Tgnlang.languages.each do |h|
        if h["label"].downcase == id
          return h
        end
      end
      return {}
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
qa-0.0.3 lib/qa/authorities/tgnlang.rb
qa-0.0.2 lib/qa/authorities/tgnlang.rb