whatlang 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 6969f45a6e8d99fde1ee19edbcaf5ac672ba81af754907a4b1c0dd77a456d74e
4
- data.tar.gz: 586b03e1cd85a5ee0f01a17a89419528c340d17049b5610d34fde796917d7cae
3
+ metadata.gz: 36245d42bea26a35cafc65448b915efab2f3a372c58d4230b5de21d9fc7219fa
4
+ data.tar.gz: 42a935dca11dfd87741c16bbcefd5ef0d1c475cf20c7e109accb7e4d21c2da43
5
5
  SHA512:
6
- metadata.gz: 31cb5f4d79e7fefd759eea437372ed91942dc52e574bea3b6b749f1a14a51f0633098659b7f0a34d8d9f2a4cb3d4519d5b8c6be240ff900eb76081c288bd414b
7
- data.tar.gz: 28d08924fa51c32aef5f7ce5cca35c4ee8fdb6c8d057284a6b5b22ef057aa05fd546c11ed893eae4df5a7aaabef61fe5f708ece6d7f93308506969d0aeffe9b6
6
+ metadata.gz: ac72ff2a73db480bc82406ba057f696850505532f714e813e7b4d70b5ae1432cab89a1527e6a6e7a518843199e0cda96265c71342a9b48972412a0d058751f5d
7
+ data.tar.gz: a7a320d6b29572cdadabc27400f6cfd376158cc6322a17952535fbfc0a99cd0bbb9ff7251f7966caef9ab3b11c589b37d20f5d0b5c77fe2e30c163c718d5c7c4
data/.gitignore CHANGED
@@ -11,4 +11,4 @@ Gemfile.lock
11
11
  # Added by cargo
12
12
 
13
13
  /target
14
- Cargo.lock
14
+
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ 0.1.1
2
+ =====
3
+
4
+ * Update Whatlang version to 0.12.0
5
+
1
6
  0.1.0
2
7
  =====
3
8
 
data/Cargo.lock ADDED
@@ -0,0 +1,64 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 3
4
+
5
+ [[package]]
6
+ name = "ahash"
7
+ version = "0.3.8"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
10
+
11
+ [[package]]
12
+ name = "autocfg"
13
+ version = "1.0.1"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
16
+
17
+ [[package]]
18
+ name = "hashbrown"
19
+ version = "0.7.2"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf"
22
+ dependencies = [
23
+ "ahash",
24
+ "autocfg",
25
+ ]
26
+
27
+ [[package]]
28
+ name = "lazy_static"
29
+ version = "1.4.0"
30
+ source = "registry+https://github.com/rust-lang/crates.io-index"
31
+ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
32
+
33
+ [[package]]
34
+ name = "libc"
35
+ version = "0.2.99"
36
+ source = "registry+https://github.com/rust-lang/crates.io-index"
37
+ checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765"
38
+
39
+ [[package]]
40
+ name = "rutie"
41
+ version = "0.8.2"
42
+ source = "registry+https://github.com/rust-lang/crates.io-index"
43
+ checksum = "678217ed742ca819057a79c0146703d1278afbb38896eb0283c410a6cab7c28c"
44
+ dependencies = [
45
+ "lazy_static",
46
+ "libc",
47
+ ]
48
+
49
+ [[package]]
50
+ name = "whatlang"
51
+ version = "0.12.0"
52
+ source = "registry+https://github.com/rust-lang/crates.io-index"
53
+ checksum = "7a346d2eb29c03618693ed24a29d1acd0c3f2cb08ae58b9669d7461e033cf703"
54
+ dependencies = [
55
+ "hashbrown",
56
+ ]
57
+
58
+ [[package]]
59
+ name = "whatlang-rb"
60
+ version = "0.1.0"
61
+ dependencies = [
62
+ "rutie",
63
+ "whatlang",
64
+ ]
data/Cargo.toml CHANGED
@@ -1,14 +1,14 @@
1
1
  [package]
2
2
  name = "whatlang-rb"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  authors = ["Kitaiti Makoto <KitaitiMakoto@gmail.com>"]
5
5
  edition = "2018"
6
6
 
7
7
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8
8
 
9
9
  [dependencies]
10
- rutie = { version = "0.8.1", features = ["no-link"] }
11
- whatlang = "0.11.1"
10
+ rutie = { version = "0.8.2", features = ["no-link"] }
11
+ whatlang = "0.12.0"
12
12
 
13
13
  [lib]
14
14
  crate-type = ["cdylib"]
data/README.md CHANGED
@@ -61,10 +61,10 @@ Usage
61
61
 
62
62
  text = "Jen la trinkejo fermitis, ni iras tra mallumo kaj pluvo."
63
63
  list = ["eng", "ita"]
64
- Whatlang.detect(text, whitelist: list).lang.code # => "ita"
65
- Whatlang.detect(text, blacklist: list).lang.code # => "epo"
64
+ Whatlang.detect(text, allowlist: list).lang.code # => "ita"
65
+ Whatlang.detect(text, denylist: list).lang.code # => "epo"
66
66
 
67
- If you're interedted in only language information, use `detect_lang` function:
67
+ If you're interested in only language information, use `detect_lang` function:
68
68
 
69
69
  lang = Whatlang.detect_lang(text)
70
70
  lang.code # => "bul"
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "rake/clean"
3
4
  require "rubygems/tasks"
4
5
  require "rake/testtask"
5
6
  require "yard"
@@ -25,4 +26,5 @@ end
25
26
  file RUST_TARGET => RUST_SRC do
26
27
  sh "cargo build --release"
27
28
  end
29
+ CLEAN.include RUST_TARGET
28
30
  task test: RUST_TARGET
data/lib/whatlang.rb CHANGED
@@ -4,16 +4,16 @@ Rutie.new(:whatlang_rb).init "Init_whatlang", __dir__
4
4
 
5
5
  module Whatlang
6
6
  class << self
7
- def detect(text, whitelist: nil, blacklist: nil)
8
- if blacklist && whitelist
9
- raise ArgumentError, "Couldn't specify `whitelist' and `blacklist' at a time. Choose one."
7
+ def detect(text, allowlist: nil, denylist: nil)
8
+ if denylist && allowlist
9
+ raise ArgumentError, "Couldn't specify `allowlist' and `denylist' at a time. Choose one."
10
10
  end
11
11
 
12
12
  case
13
- when whitelist
14
- detect_with_whitelist(text, whitelist)
15
- when blacklist
16
- detect_with_blacklist(text, blacklist)
13
+ when allowlist
14
+ detect_with_allowlist(text, allowlist)
15
+ when denylist
16
+ detect_with_denylist(text, denylist)
17
17
  else
18
18
  detect_without_options(text)
19
19
  end
data/src/lib.rs CHANGED
@@ -2,7 +2,7 @@ use rutie::{
2
2
  methods, module, AnyException, AnyObject, Array, Boolean, Float, Module, NilClass, Object,
3
3
  RString, VM,
4
4
  };
5
- use whatlang::{detect, detect_lang, detect_script, detect_with_options, Info, Lang, Options};
5
+ use whatlang::{detect, detect_lang, detect_script, Detector, Info, Lang};
6
6
 
7
7
  module!(Whatlang);
8
8
 
@@ -14,14 +14,14 @@ methods!(
14
14
  detect(rstring(text).to_str()).map_or(NilClass::new().into(), rinfo)
15
15
  }
16
16
 
17
- fn wl_detect_with_whitelist(text: RString, list: Array) -> AnyObject {
18
- let options = Options::new().set_whitelist(rarray_to_lang_list(list));
19
- detect_with_options(rstring(text).to_str(), &options).map_or(NilClass::new().into(), rinfo)
17
+ fn wl_detect_with_allowlist(text: RString, list: Array) -> AnyObject {
18
+ let detector = Detector::with_allowlist(rarray_to_lang_list(list));
19
+ detector.detect(rstring(text).to_str()).map_or(NilClass::new().into(), rinfo)
20
20
  }
21
21
 
22
- fn wl_detect_with_blacklist(text: RString, list: Array) -> AnyObject {
23
- let options = Options::new().set_blacklist(rarray_to_lang_list(list));
24
- detect_with_options(rstring(text).to_str(), &options).map_or(NilClass::new().into(), rinfo)
22
+ fn wl_detect_with_denylist(text: RString, list: Array) -> AnyObject {
23
+ let detector = Detector::with_denylist(rarray_to_lang_list(list));
24
+ detector.detect(rstring(text).to_str()).map_or(NilClass::new().into(), rinfo)
25
25
  }
26
26
 
27
27
  fn wl_detect_lang(text: RString) -> AnyObject {
@@ -40,19 +40,18 @@ fn rstring(rstring: Result<RString, AnyException>) -> RString {
40
40
  }
41
41
 
42
42
  fn rarray_to_lang_list(rarray: Result<Array, AnyException>) -> Vec<Lang> {
43
- let rlist = rarray.map_err(VM::raise_ex).unwrap();
44
- rlist
43
+ rarray
44
+ .map_err(VM::raise_ex)
45
+ .unwrap()
45
46
  .into_iter()
46
- .map(|rcode| {
47
+ .filter_map(|rcode| {
47
48
  let code = rcode
48
49
  .try_convert_to::<RString>()
49
50
  .map_err(VM::raise_ex)
50
51
  .unwrap();
51
52
  Lang::from_code(code.to_str())
52
53
  })
53
- .filter(|lang_res| lang_res.is_some())
54
- .map(|lang_res| lang_res.unwrap())
55
- .collect::<Vec<Lang>>()
54
+ .collect()
56
55
  }
57
56
 
58
57
  fn rinfo(info: Info) -> AnyObject {
@@ -81,8 +80,8 @@ fn rlang(lang: Lang) -> AnyObject {
81
80
  pub extern "C" fn Init_whatlang() {
82
81
  Module::new("Whatlang").define(|itself| {
83
82
  itself.def_self("detect_without_options", wl_detect_without_options);
84
- itself.def_self("detect_with_whitelist", wl_detect_with_whitelist);
85
- itself.def_self("detect_with_blacklist", wl_detect_with_blacklist);
83
+ itself.def_self("detect_with_allowlist", wl_detect_with_allowlist);
84
+ itself.def_self("detect_with_denylist", wl_detect_with_denylist);
86
85
  itself.def_self("detect_lang", wl_detect_lang);
87
86
  itself.def_self("detect_script", wl_detect_script);
88
87
  });
@@ -8,10 +8,10 @@ class WhatlangTest < Test::Unit::TestCase
8
8
  list = ["eng", "ita"]
9
9
 
10
10
  assert_equal "epo", Whatlang.detect(text).lang.code
11
- assert_equal "ita", Whatlang.detect(text, whitelist: list).lang.code
12
- assert_equal "epo", Whatlang.detect(text, blacklist: list).lang.code
11
+ assert_equal "ita", Whatlang.detect(text, allowlist: list).lang.code
12
+ assert_equal "epo", Whatlang.detect(text, denylist: list).lang.code
13
13
  assert_raise ArgumentError do
14
- Whatlang.detect(text, whitelist: list, blacklist: list)
14
+ Whatlang.detect(text, allowlist: list, denylist: list)
15
15
  end
16
16
  end
17
17
 
@@ -22,16 +22,16 @@ class WhatlangTest < Test::Unit::TestCase
22
22
  assert_equal "Latin", info.script
23
23
  end
24
24
 
25
- def test_detect_with_whitelist
25
+ def test_detect_with_allowlist
26
26
  text = "Jen la trinkejo fermitis, ni iras tra mallumo kaj pluvo."
27
27
  list = ["eng", "ita"]
28
- assert_equal "ita", Whatlang.detect_with_whitelist(text, list).lang.code
28
+ assert_equal "ita", Whatlang.detect_with_allowlist(text, list).lang.code
29
29
  end
30
30
 
31
- def test_detect_with_blacklist
31
+ def test_detect_with_denylist
32
32
  text = "Jen la trinkejo fermitis, ni iras tra mallumo kaj pluvo."
33
33
  list = ["eng", "ita"]
34
- assert_equal "epo", Whatlang.detect_with_blacklist(text, list).lang.code
34
+ assert_equal "epo", Whatlang.detect_with_denylist(text, list).lang.code
35
35
  end
36
36
 
37
37
  def test_detect_lang
data/whatlang.gemspec CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require "tomlrb"
4
2
 
5
3
  Gem::Specification.new do |spec|
@@ -9,10 +7,9 @@ Gem::Specification.new do |spec|
9
7
  spec.authors = ["Kitaiti Makoto"]
10
8
  spec.email = ["KitaitiMakoto@gmail.com"]
11
9
 
12
- spec.summary = "Natural language detection."
10
+ spec.summary = "Natural language detection library."
13
11
  spec.description = "Ruby bindings for Whatlang, a natural language detection for Rust."
14
12
  spec.homepage = "https://gitlab.com/KitaitiMakoto/whatlang-rb"
15
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
16
13
 
17
14
  spec.metadata["homepage_uri"] = spec.homepage
18
15
  spec.metadata["source_code_uri"] = "https://gitlab.com/KitaitiMakoto/whatlang-rb"
@@ -21,7 +18,6 @@ Gem::Specification.new do |spec|
21
18
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
19
  `git ls-files -z`.split("\x0")
23
20
  end
24
- spec.require_paths = ["lib"]
25
21
  spec.extensions = ["ext/Rakefile"]
26
22
 
27
23
  spec.add_runtime_dependency "rutie"
@@ -31,7 +27,4 @@ Gem::Specification.new do |spec|
31
27
  spec.add_development_dependency "rake"
32
28
  spec.add_development_dependency "yard"
33
29
  spec.add_development_dependency "rubygems-tasks"
34
-
35
- # For more information and examples about making a new gem, checkout our
36
- # guide at: https://bundler.io/guides/creating_gem.html
37
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whatlang
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kitaiti Makoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-01 00:00:00.000000000 Z
11
+ date: 2021-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rutie
@@ -105,6 +105,7 @@ files:
105
105
  - ".gitignore"
106
106
  - ".yardopts"
107
107
  - CHANGELOG.md
108
+ - Cargo.lock
108
109
  - Cargo.toml
109
110
  - Gemfile
110
111
  - README.md
@@ -131,15 +132,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
132
  requirements:
132
133
  - - ">="
133
134
  - !ruby/object:Gem::Version
134
- version: 2.3.0
135
+ version: '0'
135
136
  required_rubygems_version: !ruby/object:Gem::Requirement
136
137
  requirements:
137
138
  - - ">="
138
139
  - !ruby/object:Gem::Version
139
140
  version: '0'
140
141
  requirements: []
141
- rubygems_version: 3.2.3
142
+ rubygems_version: 3.2.22
142
143
  signing_key:
143
144
  specification_version: 4
144
- summary: Natural language detection.
145
+ summary: Natural language detection library.
145
146
  test_files: []