rtatoeba 0.0.2 → 0.0.3
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 +4 -4
- data/README.md +4 -1
- data/lib/rtatoeba/version.rb +1 -1
- data/lib/rtatoeba.rb +198 -0
- data/spec/lib/rtatoeba_spec.rb +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 153dda082aba7ee24f7df60b826dd1d179f806f0
|
4
|
+
data.tar.gz: f1b247b31207be7663abfd13bd1813b891a02020
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de64c3aedfd9acf0bb121b6ed18a7126552470278e5f9413bfd4feb0f0179edf89d27cc6bfb947df9974aa5c1ed5ea575aaa8fd66cd6c068e377684254779826
|
7
|
+
data.tar.gz: 7faa0f439b71e7d06ce84945b7f515204f13152420eca16b553b6819eed93697715e928cf516767c85afa55eab1fd4cce672c90161130ef4faf064c85dd9443a
|
data/README.md
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
[](https://travis-ci.org/pcboy/rtatoeba)
|
2
|
+
[](http://badge.fury.io/rb/rtatoeba)
|
3
|
+
[](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
|
data/lib/rtatoeba/version.rb
CHANGED
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
|
data/spec/lib/rtatoeba_spec.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2015-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|