class ParseLeoMp3

Public Instance Methods

compose_query(language_and_term) click to toggle source
# File lib/parse_leo_mp3.rb, line 18
def compose_query(language_and_term)
  url = 'https://dict.leo.org/dictQuery/m-vocab/' << language_and_term[:language]
  url << '/query.xml?tolerMode=nof&lp=ende&lang=en&rmWords=off&rmSearch=on&directN=0&search='
  url << language_and_term[:term]
  url << '&searchLoc=0&resultOrder=basic&multiwordShowSingle=on&sectLenMax=16'
end
compose_url(url) click to toggle source
# File lib/parse_leo_mp3.rb, line 37
def compose_url(url)
  "https://dict.leo.org/media/audio/#{parse_audio_identifier(url)}.mp3"
end
get_audio_url(language_and_term) click to toggle source

write an input-validation

# File lib/parse_leo_mp3.rb, line 13
def get_audio_url(language_and_term)
  url = compose_query(language_and_term)
  compose_url(url)
end
instantiate_nokogiri_object(url) click to toggle source
# File lib/parse_leo_mp3.rb, line 25
def instantiate_nokogiri_object(url)
  Nokogiri::XML(open(url))
rescue
  :danger
end
parse_audio_identifier(url) click to toggle source
# File lib/parse_leo_mp3.rb, line 31
def parse_audio_identifier(url)
  instantiate_nokogiri_object(url).at_css('pron').first[1]
rescue
  :danger
end