wordref 0.0.4 → 0.0.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f938ddb2eb4cf65a4b7492eaf613411082ac69fd
4
- data.tar.gz: bbd5ec3788c64fd5d0e8f7d8bc280c7dafc72f07
3
+ metadata.gz: 643ffe4ebd8d70865ba00fc99609517475be690b
4
+ data.tar.gz: 094998062cb8402aea15c78b132a34ab295bc184
5
5
  SHA512:
6
- metadata.gz: 6b43a2256f22a67041299c00b8b959aacf84af3265f245c8eba73f1e528e082b032c7ace08a0c169a082c898073f533f20651721c2266d3296720fca88abfc72
7
- data.tar.gz: 0cc3c5cf6a149ee39f95928ac13ac0ea024ac8341bda78f0728b5d3432ddde700cbdb80b3768d4f04104319fcdc358fec0679b66b2ef71c230729dd0a364637d
6
+ metadata.gz: 3496c76bfb1456ae7d4af8c9794a8af008ba24fe65a47d2320ad61eb93ff0d724474ceef8d8a868640f2349041aa860aa6af26627e9ba495eaa979a451e21f1a
7
+ data.tar.gz: bf471cf38773268ed5c0ad79ade7f9a6f18d8ffbec023e49413d39ddfa8e854bc0cb438c7fd241fc90d4870938fc55eacb93d15407c8b0fad2c6d05192ed6a8a
@@ -1,6 +1,14 @@
1
1
  language: ruby
2
2
  sudo: false
3
3
  rvm:
4
- - 1.9.2
5
- - jruby-19mode
6
- script: rake
4
+ - 1.9.2
5
+ - jruby-19mode
6
+ script: rake
7
+ deploy:
8
+ provider: rubygems
9
+ api_key:
10
+ secure: ahAeEGLzp7Y3lPGTmPC1UeuVkE8WwBmdDu7JXm9Hf5FRc3AIQgf+eEFB+M6jDqithbA5kyC59UwsP/tohwBGRFwPpFrxgFT4dKxjgzec+wR2jlEcoFqUzc9Tug2IHBLIMMhK1Vo7FPJJ3J0Fho+VDlOYnG9nV69Lhf9A82BAPtQ=
11
+ gem: wordref
12
+ on:
13
+ tags: true
14
+ repo: pcboy/wordref
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  # Wordref
6
6
 
7
7
  Wordref is a tiny gem to get a translation from Word reference (no API key needed).
8
- You can translate words from one language to another (Note that Wordreference only supports FROM English and TO english translations)
8
+ You can translate words from one language to another ([Wordreference supported languages](https://github.com/pcboy/wordref/commit/25b4a4fef89e40cce6ae018501041aa6584538d8#diff-43114cec6cc4579b1d10b1d75031e5b5R52))
9
9
 
10
10
  ## Installation
11
11
 
@@ -23,12 +23,19 @@ require 'attempt'
23
23
  require 'nokogiri'
24
24
 
25
25
  module Wordref
26
-
27
26
  class Wordref
27
+ class InvalidLangFormat < ArgumentError; end;
28
+
28
29
  def translate(params = {})
30
+ if !accepted_langs.keys.include?(params[:from] + params[:to])
31
+ raise InvalidLangFormat,
32
+ "Invalid chosen language (#{params[:from]} / #{params[:to]}).\n" +
33
+ "Accepted langs are:\n" + accepted_langs.to_s
34
+ end
35
+
29
36
  dic = "#{params[:from] || 'en'}#{params[:to]}"
30
37
  word = params[:word]
31
-
38
+
32
39
  response = attempt(3, 3) {
33
40
  open("http://www.wordreference.com/#{dic}/#{URI::encode(word)}",
34
41
  'User-Agent' => 'Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0').read
@@ -38,6 +45,48 @@ module Wordref
38
45
  return nil if first_trans.nil?
39
46
  first_trans.css('td[class="ToWrd"] > text()').to_s.strip
40
47
  end
41
- end
42
48
 
49
+ private
50
+ def accepted_langs
51
+ {
52
+ "enes" => "English-Spanish",
53
+ "esen" => "Spanish-English",
54
+ "esfr" => "Spanish-French",
55
+ "espt" => "Spanish-Portuguese",
56
+ "enfr" => "English-French",
57
+ "fren" => "French-English",
58
+ "fres" => "French-Spanish",
59
+ "enit" => "English-Italian",
60
+ "iten" => "Italian-English",
61
+ "ende" => "English-German",
62
+ "deen" => "German-English",
63
+ "ensv" => "English-Swedish",
64
+ "sven" => "Swedish-English",
65
+ "enru" => "English-Russian",
66
+ "ruen" => "Russian-English",
67
+ "enpt" => "English-Portuguese",
68
+ "pten" => "Portuguese-English",
69
+ "ptes" => "Portuguese-Spanish",
70
+ "enpl" => "English-Polish",
71
+ "plen" => "Polish-English",
72
+ "enro" => "English-Romanian",
73
+ "roen" => "Romanian-English",
74
+ "encz" => "English-Czech",
75
+ "czen" => "Czech-English",
76
+ "engr" => "English-Greek",
77
+ "gren" => "Greek-English",
78
+ "entr" => "English-Turkish",
79
+ "tren" => "Turkish-English",
80
+ "enzh" => "English-Chinese",
81
+ "zhen" => "Chinese-English",
82
+ "enja" => "English-Japanese",
83
+ "jaen" => "Japanese-English",
84
+ "enko" => "English-Korean",
85
+ "koen" => "Korean-English",
86
+ "enar" => "English-Arabic",
87
+ "aren" => "Arabic-English"
88
+ }
89
+ end
90
+
91
+ end
43
92
  end
@@ -1,3 +1,3 @@
1
1
  module Wordref
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -23,4 +23,10 @@ describe Wordref do
23
23
  tr = Wordref::Wordref.new
24
24
  expect(tr.translate(from: 'en', to: 'fr', word: 'car')).to eq("voiture")
25
25
  end
26
+
27
+ it "should throw an error if chosen language is incorrect" do
28
+ expect {
29
+ Wordref::Wordref.new.translate(from: 'english', to: 'french', word: 'car')
30
+ }.to raise_error(Wordref::Wordref::InvalidLangFormat)
31
+ end
26
32
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
10
10
  gem.email = ["david.hagege@gmail.com"]
11
11
  gem.description = %q{Tiny gem to translate words with the WordReference API}
12
12
  gem.summary = ""
13
- gem.homepage = ""
13
+ gem.homepage = "https://github.com/pcboy/rtatoeba"
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wordref
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - pcboy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-09 00:00:00.000000000 Z
11
+ date: 2017-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -84,7 +84,7 @@ files:
84
84
  - spec/lib/wordref_spec.rb
85
85
  - spec/spec_helper.rb
86
86
  - wordref.gemspec
87
- homepage: ''
87
+ homepage: https://github.com/pcboy/rtatoeba
88
88
  licenses: []
89
89
  metadata: {}
90
90
  post_install_message:
@@ -103,11 +103,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 2.4.6
106
+ rubygems_version: 2.4.5
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: ''
110
110
  test_files:
111
111
  - spec/lib/wordref_spec.rb
112
112
  - spec/spec_helper.rb
113
- has_rdoc: