whatlang 0.1.0 → 0.1.1

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
  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: []