Sha256: 44204db81fb417a30c81ad0162babcd2f79dbdf4df3aa698316e1a59506ad30d

Contents?: true

Size: 1.02 KB

Versions: 11

Compression:

Stored size: 1.02 KB

Contents

require 'nokogiri'

module Qa::Authorities
  class Tgnlang < Base

    def search(q)
      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 find(id)
      id = id.downcase
      Tgnlang.languages.each do |h|
        if h["label"].downcase == id
          return h
        end
      end
      return {}
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
qa-0.10.1 lib/qa/authorities/tgnlang.rb
qa-0.10.0 lib/qa/authorities/tgnlang.rb
qa-0.9.0 lib/qa/authorities/tgnlang.rb
qa-0.8.0 lib/qa/authorities/tgnlang.rb
qa-0.7.0 lib/qa/authorities/tgnlang.rb
qa-0.6.0 lib/qa/authorities/tgnlang.rb
qa-0.5.0 lib/qa/authorities/tgnlang.rb
qa-0.4.3 lib/qa/authorities/tgnlang.rb
qa-0.4.2 lib/qa/authorities/tgnlang.rb
qa-0.4.1 lib/qa/authorities/tgnlang.rb
qa-0.4.0 lib/qa/authorities/tgnlang.rb