leo_mp3_parser 0.0.08 → 0.0.09

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/leo_mp3_parser.rb +16 -14
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8df99c05bef782472306d986fef7bf61e728b6b6
4
- data.tar.gz: 62a0dbb06b963a5ae7e020f7e665d2343581b74a
3
+ metadata.gz: f75b66576144ba4ef6b5a256fee068867b1df798
4
+ data.tar.gz: 6bf144300c03eccf4ba781aa7da70b13bfc5bdd2
5
5
  SHA512:
6
- metadata.gz: 042b98013506a6154f01216104fb3415fc3e55530dd0519185e7993c83ca3116ab756fee97f8fb65af0c850177ff28ed85d968af671c073017231a6d380a0cac
7
- data.tar.gz: da122197a3c5207de130f88a023fa7c94d716776c043982558614b637c9ad816f239bb2698b869def23cbf67208e8f739dd4ce2823679594f1e23a76951327b0
6
+ metadata.gz: 0fa0f209f914b4bf4d1dc8c89137beaf4a536234baaa78ec94c292bd5382453e7175a176237bd1c5454202070447ff729ae6b8cc5b197cfd4485e39523567cab
7
+ data.tar.gz: 102a9f5f7a58517001fddf10f92517ecb65ac6797879167f60a216938d4786236f45b7b0534cd31ca42f8f997783fee660f23fc510635d91b8f0cd7df8bd05b7
@@ -1,6 +1,14 @@
1
1
  require 'nokogiri'
2
2
  require 'open-uri'
3
3
  class LeoMp3Parser
4
+ def get_audio_url(language_and_term)
5
+ validate_arguments(language_and_term)
6
+ url = compose_query(language_and_term)
7
+ compose_url(url)
8
+ end
9
+
10
+ private
11
+
4
12
  def validate_arguments(language_and_term)
5
13
  raise ArgumentError, 'Argument must be a Hash' unless language_and_term.is_a? Hash
6
14
  unless [:language, :term].all? { |key| language_and_term.key? key }
@@ -17,12 +25,6 @@ class LeoMp3Parser
17
25
  end
18
26
  end
19
27
 
20
- def get_audio_url(language_and_term)
21
- validate_arguments(language_and_term)
22
- url = compose_query(language_and_term)
23
- compose_url(url)
24
- end
25
-
26
28
  def compose_query(language_and_term)
27
29
  url = 'https://dict.leo.org/dictQuery/m-vocab/' << language_and_term[:language]
28
30
  url << '/query.xml?tolerMode=nof&lp=ende&lang=en&rmWords=off&rmSearch=on&directN=0&search='
@@ -30,23 +32,23 @@ class LeoMp3Parser
30
32
  url << '&searchLoc=0&resultOrder=basic&multiwordShowSingle=on&sectLenMax=16'
31
33
  end
32
34
 
33
- def raise_customized_exception
34
- raise StandardError, 'Nokogiri throws an exception'
35
+ def compose_url(url)
36
+ "https://dict.leo.org/media/audio/#{parse_audio_identifier(url)}.mp3"
35
37
  end
36
38
 
37
- def instantiate_nokogiri_object(url)
38
- Nokogiri::XML(open(url))
39
+ def parse_audio_identifier(url)
40
+ instantiate_nokogiri_object(url).at_css('pron').first[1]
39
41
  rescue
40
42
  raise_customized_exception
41
43
  end
42
44
 
43
- def parse_audio_identifier(url)
44
- instantiate_nokogiri_object(url).at_css('pron').first[1]
45
+ def instantiate_nokogiri_object(url)
46
+ Nokogiri::XML(open(url))
45
47
  rescue
46
48
  raise_customized_exception
47
49
  end
48
50
 
49
- def compose_url(url)
50
- "https://dict.leo.org/media/audio/#{parse_audio_identifier(url)}.mp3"
51
+ def raise_customized_exception
52
+ raise StandardError, 'Nokogiri throws an exception'
51
53
  end
52
54
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leo_mp3_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.08
4
+ version: 0.0.09
5
5
  platform: ruby
6
6
  authors:
7
7
  - 'Maximilian Maintz, alias: Netznarkose'