rtatoeba 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e090f73ff562906da45d9cdb405933cb6fd3447
4
- data.tar.gz: 93a0733ed61cc8d0e3c60b50a3f77a080c13946d
3
+ metadata.gz: 153dda082aba7ee24f7df60b826dd1d179f806f0
4
+ data.tar.gz: f1b247b31207be7663abfd13bd1813b891a02020
5
5
  SHA512:
6
- metadata.gz: b2e78e8b8743e8bec33a45f1e491f84f5be18ef2c32fe265e3a03a99fecfb534f7fb8cffac121fa1ea9debcf37d4e96fb7249af5f5a6fb8eb0caf3653637c367
7
- data.tar.gz: 812b652ee17342703941ed470fe84fd8460b11a50412174f6daa19af85a7c90f299d93ec5f9bbdeb2d44ce8468521175eecdbce55bd528eb32937d1bf5b0e87a
6
+ metadata.gz: de64c3aedfd9acf0bb121b6ed18a7126552470278e5f9413bfd4feb0f0179edf89d27cc6bfb947df9974aa5c1ed5ea575aaa8fd66cd6c068e377684254779826
7
+ data.tar.gz: 7faa0f439b71e7d06ce84945b7f515204f13152420eca16b553b6819eed93697715e928cf516767c85afa55eab1fd4cce672c90161130ef4faf064c85dd9443a
data/README.md CHANGED
@@ -1,4 +1,7 @@
1
1
  [![Build Status](https://travis-ci.org/pcboy/rtatoeba.svg)](https://travis-ci.org/pcboy/rtatoeba)
2
+ [![Gem Version](https://badge.fury.io/rb/rtatoeba.svg)](http://badge.fury.io/rb/rtatoeba)
3
+ [![Code Climate](https://codeclimate.com/github/pcboy/rtatoeba/badges/gpa.svg)](https://codeclimate.com/github/pcboy/rtatoeba)
4
+
2
5
  # Rtatoeba
3
6
 
4
7
  Rtatoeba is a tiny gem to access tatoeba.org which doesn't have an API yet.
@@ -44,7 +47,7 @@ Or install it yourself as:
44
47
  ]
45
48
  }
46
49
 
47
-
50
+ Note: Lang is in ISO-639-2 format
48
51
  ## Contributing
49
52
 
50
53
  1. Fork it
@@ -1,3 +1,3 @@
1
1
  module Rtatoeba
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/rtatoeba.rb CHANGED
@@ -21,11 +21,19 @@ require 'mechanize'
21
21
 
22
22
  module Rtatoeba
23
23
  class Rtatoeba
24
+ class InvalidLangFormat < ArgumentError; end;
25
+
24
26
  def initialize(params={})
25
27
  @from = params[:from] || "eng"
26
28
  @to = params[:to] || "eng"
27
29
  @query = params[:query]
28
30
 
31
+ if !accepted_langs.keys.include?(params[:from]) ||
32
+ !accepted_langs.keys.include?(params[:to])
33
+ raise InvalidLangFormat,
34
+ "Invalid chosen language (#{params[:from]} / #{params[:to]}).\n" +
35
+ "Accepted langs are:\n" + accepted_langs.to_s
36
+ end
29
37
  @agent = Mechanize.new
30
38
  end
31
39
 
@@ -39,5 +47,195 @@ module Rtatoeba
39
47
  end
40
48
  sentences
41
49
  end
50
+
51
+ private
52
+ def accepted_langs
53
+ {
54
+ "abk" => "Abkhaz",
55
+ "afr" => "Afrikaans",
56
+ "ain" => "Ainu",
57
+ "sqi" => "Albanian",
58
+ "arq" => "Algerian Arabic",
59
+ "amh" => "Amharic",
60
+ "grc" => "Ancient Greek",
61
+ "ara" => "Arabic",
62
+ "hye" => "Armenian",
63
+ "ast" => "Asturian",
64
+ "awa" => "Awadhi",
65
+ "aze" => "Azerbaijani",
66
+ "bak" => "Bashkir",
67
+ "eus" => "Basque",
68
+ "bel" => "Belarusian",
69
+ "ben" => "Bengali",
70
+ "ber" => "Berber",
71
+ "bho" => "Bhojpuri",
72
+ "bos" => "Bosnian",
73
+ "bre" => "Breton",
74
+ "bul" => "Bulgarian",
75
+ "yue" => "Cantonese",
76
+ "cat" => "Catalan",
77
+ "cha" => "Chamorro",
78
+ "cbk" => "Chavacano",
79
+ "chr" => "Cherokee",
80
+ "cmn" => "Chinese (Mandarin)",
81
+ "nya" => "Chinyanja",
82
+ "ckt" => "Chukchi",
83
+ "chv" => "Chuvash",
84
+ "cor" => "Cornish",
85
+ "crh" => "Crimean Tatar",
86
+ "hrv" => "Croatian",
87
+ "cycl" => "CycL",
88
+ "ces" => "Czech",
89
+ "dan" => "Danish",
90
+ "nld" => "Dutch",
91
+ "arz" => "Egyptian Arabic",
92
+ "egl" => "Emilian",
93
+ "eng" => "English",
94
+ "epo" => "Esperanto",
95
+ "est" => "Estonian",
96
+ "ewe" => "Ewe",
97
+ "fao" => "Faroese",
98
+ "fin" => "Finnish",
99
+ "fra" => "French",
100
+ "fry" => "Frisian",
101
+ "glg" => "Galician",
102
+ "kat" => "Georgian",
103
+ "deu" => "German",
104
+ "ell" => "Greek",
105
+ "kal" => "Greenlandic",
106
+ "grn" => "Guarani",
107
+ "guj" => "Gujarati",
108
+ "hat" => "Haitian Creole",
109
+ "hau" => "Hausa",
110
+ "haw" => "Hawaiian",
111
+ "heb" => "Hebrew",
112
+ "hil" => "Hiligaynon",
113
+ "mrj" => "Hill Mari",
114
+ "hin" => "Hindi",
115
+ "hun" => "Hungarian",
116
+ "isl" => "Icelandic",
117
+ "ido" => "Ido",
118
+ "ind" => "Indonesian",
119
+ "ina" => "Interlingua",
120
+ "ile" => "Interlingue",
121
+ "acm" => "Iraqi Arabic",
122
+ "gle" => "Irish",
123
+ "ita" => "Italian",
124
+ "jpn" => "Japanese",
125
+ "jav" => "Javanese",
126
+ "jdt" => "Juhuri (Judeo-Tat)",
127
+ "xal" => "Kalmyk",
128
+ "kaz" => "Kazakh",
129
+ "kha" => "Khasi",
130
+ "khm" => "Khmer",
131
+ "kin" => "Kinyarwanda",
132
+ "tlh" => "Klingon",
133
+ "ksh" => "Kölsch",
134
+ "kor" => "Korean",
135
+ "avk" => "Kotava",
136
+ "kum" => "Kumyk",
137
+ "kur" => "Kurdish",
138
+ "kir" => "Kyrgyz",
139
+ "lld" => "Ladin",
140
+ "lad" => "Ladino",
141
+ "lkt" => "Lakota",
142
+ "lao" => "Lao",
143
+ "lat" => "Latin",
144
+ "lvs" => "Latvian",
145
+ "lzh" => "Literary Chinese",
146
+ "lit" => "Lithuanian",
147
+ "liv" => "Livonian",
148
+ "jbo" => "Lojban",
149
+ "nds" => "Low Saxon",
150
+ "dsb" => "Lower Sorbian",
151
+ "ltz" => "Luxembourgish",
152
+ "mkd" => "Macedonian",
153
+ "mlg" => "Malagasy",
154
+ "zsm" => "Malay",
155
+ "mal" => "Malayalam",
156
+ "mlt" => "Maltese",
157
+ "mgm" => "Mambae",
158
+ "mri" => "Maori",
159
+ "mar" => "Marathi",
160
+ "mhr" => "Meadow Mari",
161
+ "enm" => "Middle English",
162
+ "frm" => "Middle French",
163
+ "nan" => "Min Nan Chinese",
164
+ "mnw" => "Mon",
165
+ "mon" => "Mongolian",
166
+ "nah" => "Nahuatl",
167
+ "nav" => "Navajo",
168
+ "npi" => "Nepali",
169
+ "nog" => "Nogai",
170
+ "nob" => "Norwegian (Bokmål)",
171
+ "non" => "Norwegian (Nynorsk)",
172
+ "nov" => "Novial",
173
+ "oci" => "Occitan",
174
+ "orv" => "Old East Slavic",
175
+ "ang" => "Old English",
176
+ "prg" => "Old Prussian",
177
+ "tpw" => "Old Tupi",
178
+ "oss" => "Ossetian",
179
+ "ota" => "Ottoman Turkish",
180
+ "pdc" => "Pennsylvania German",
181
+ "pes" => "Persian",
182
+ "pcd" => "Picard",
183
+ "pms" => "Piedmontese",
184
+ "ppl" => "Pipil",
185
+ "pol" => "Polish",
186
+ "por" => "Portuguese",
187
+ "pan" => "Punjabi (Eastern)",
188
+ "pnb" => "Punjabi (Western)",
189
+ "que" => "Quechua",
190
+ "qya" => "Quenya",
191
+ "ron" => "Romanian",
192
+ "roh" => "Romansh",
193
+ "rus" => "Russian",
194
+ "san" => "Sanskrit",
195
+ "gla" => "Scottish Gaelic",
196
+ "srp" => "Serbian",
197
+ "wuu" => "Shanghainese",
198
+ "sna" => "Shona",
199
+ "shs" => "Shuswap",
200
+ "scn" => "Sicilian",
201
+ "sjn" => "Sindarin",
202
+ "sin" => "Sinhala",
203
+ "slk" => "Slovak",
204
+ "slv" => "Slovenian",
205
+ "som" => "Somali",
206
+ "spa" => "Spanish",
207
+ "swh" => "Swahili",
208
+ "swe" => "Swedish",
209
+ "tgl" => "Tagalog",
210
+ "tgk" => "Tajik",
211
+ "tam" => "Tamil",
212
+ "tat" => "Tatar",
213
+ "tel" => "Telugu",
214
+ "tet" => "Tetun",
215
+ "tha" => "Thai",
216
+ "bod" => "Tibetan",
217
+ "tpi" => "Tok Pisin",
218
+ "toki" => "Toki Pona",
219
+ "tur" => "Turkish",
220
+ "tuk" => "Turkmen",
221
+ "udm" => "Udmurt",
222
+ "ukr" => "Ukrainian",
223
+ "hsb" => "Upper Sorbian",
224
+ "urd" => "Urdu",
225
+ "uig" => "Uyghur",
226
+ "uzb" => "Uzbek",
227
+ "vie" => "Vietnamese",
228
+ "vol" => "Volapük",
229
+ "wln" => "Walloon",
230
+ "cym" => "Welsh",
231
+ "xho" => "Xhosa",
232
+ "sah" => "Yakut",
233
+ "yid" => "Yiddish",
234
+ "yor" => "Yoruba",
235
+ "zza" => "Zaza",
236
+ "zul" => "Zulu"
237
+ }
238
+
239
+ end
42
240
  end
43
241
  end
@@ -22,5 +22,18 @@ describe Rtatoeba do
22
22
  it "should return sample sentences" do
23
23
  tatoe = Rtatoeba::Rtatoeba.new(from: 'eng', to: 'kor', query: 'hello')
24
24
  expect(tatoe.sentences).not_to be_empty
25
+ expect(tatoe.sentences.values.any?(&:empty?)).to eql(false)
26
+ tatoe = Rtatoeba::Rtatoeba.new(from: 'eng', to: 'fra', query: 'monday')
27
+ expect(tatoe.sentences).not_to be_empty
28
+ expect(tatoe.sentences.values.any?(&:empty?)).to eql(false)
29
+ end
30
+
31
+ it "should gives an error if lang is incorrect" do
32
+ expect{
33
+ Rtatoeba::Rtatoeba.new(from: 'english', to: 'fra', query: 'hello')
34
+ }.to raise_error(Rtatoeba::Rtatoeba::InvalidLangFormat)
35
+ expect{
36
+ Rtatoeba::Rtatoeba.new(from: 'en', to: 'french', query: 'hello')
37
+ }.to raise_error(Rtatoeba::Rtatoeba::InvalidLangFormat)
25
38
  end
26
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtatoeba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Hagege
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-07 00:00:00.000000000 Z
11
+ date: 2015-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize