rudachi 1.2.0 → 1.4.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 +4 -4
- data/README.md +2 -0
- data/lib/rudachi/configurable.rb +1 -1
- data/lib/rudachi/dependencies.rb +21 -3
- data/lib/rudachi/file_parser.rb +2 -2
- data/lib/rudachi/lazy_load.rb +18 -0
- data/lib/rudachi/loader.rb +11 -9
- data/lib/rudachi/option/boolean_option.rb +4 -2
- data/lib/rudachi/option/string_option.rb +5 -3
- data/lib/rudachi/stream_parser.rb +3 -4
- data/lib/rudachi/text_parser.rb +1 -1
- data/lib/rudachi/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8665dde657a8011fe19b9232db227e1394500c39247fcb831ba1f4909a9f1993
|
4
|
+
data.tar.gz: a98385a7e9dd44fab7902314df579774b590c77a23964098ad1ec7dc1c9fa085
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59418d27a0ee99486685b934d3844e4d9bff691d7b745a2d81d9d50a3dcef721e1a683a3544ad54e8e3800fe8d10942a57244b7ae6d63ea25c0731caab4a33ee
|
7
|
+
data.tar.gz: 03b93983ef097c1ec2c96b26ebd802947d2dd0d3a6a4f5615f58f8dcd604147bd7b5f3bf227eff523e71c8b7c1ebe8ba1fa3ef52b6a2981068614b1d072f6aa4
|
data/README.md
CHANGED
@@ -32,6 +32,8 @@ File.read('output.txt')
|
|
32
32
|
- [JRuby](https://github.com/jruby/jruby) 9.1.3.0 or later
|
33
33
|
- [Sudachi](https://github.com/WorksApplications/Sudachi)
|
34
34
|
|
35
|
+
For Ruby, please check [rudachi-rb](https://github.com/SongCastle/rudachi-rb).
|
36
|
+
|
35
37
|
## Installation
|
36
38
|
|
37
39
|
1. Install JAR and dictionary of Sudachi ([Details](https://github.com/WorksApplications/Sudachi/blob/develop/docs/tutorial.md#linux-%E3%81%AE%E5%A0%B4%E5%90%88))
|
data/lib/rudachi/configurable.rb
CHANGED
data/lib/rudachi/dependencies.rb
CHANGED
@@ -1,20 +1,38 @@
|
|
1
1
|
require 'java'
|
2
|
+
require 'rudachi/lazy_load'
|
3
|
+
require Rudachi.jar_path
|
4
|
+
|
2
5
|
java_import 'java.lang.System'
|
3
6
|
java_import 'java.io.PrintStream'
|
4
7
|
java_import 'java.io.ByteArrayInputStream'
|
5
8
|
java_import 'java.io.ByteArrayOutputStream'
|
6
9
|
java_import 'java.nio.charset.StandardCharsets'
|
7
|
-
|
8
|
-
require Rudachi.jar_path
|
9
10
|
java_import 'com.worksap.nlp.sudachi.SudachiCommandLine'
|
10
11
|
|
11
12
|
module Rudachi
|
12
13
|
module Java
|
14
|
+
String = ::Java::JavaLang::String
|
13
15
|
System = ::Java::JavaLang::System
|
16
|
+
PrintStream = ::Java::JavaIo::PrintStream
|
14
17
|
ByteArrayInputStream = ::Java::JavaIo::ByteArrayInputStream
|
15
18
|
ByteArrayOutputStream = ::Java::JavaIo::ByteArrayOutputStream
|
16
|
-
PrintStream = ::Java::JavaIo::PrintStream
|
17
19
|
UTF_8 = ::Java::JavaNioCharset::StandardCharsets::UTF_8
|
18
20
|
SudachiCommandLine = ::Java::ComWorksapNlpSudachi::SudachiCommandLine
|
19
21
|
end
|
22
|
+
|
23
|
+
module StreamProcessor
|
24
|
+
class InvalidInclusion < StandardError; end
|
25
|
+
|
26
|
+
def self.included(base)
|
27
|
+
raise InvalidInclusion unless base.ancestors.include?(TextParser)
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def input_stream(io)
|
33
|
+
io.to_inputstream
|
34
|
+
end
|
35
|
+
|
36
|
+
LazyLoad.run_load_hooks(:stream_processor, self)
|
37
|
+
end
|
20
38
|
end
|
data/lib/rudachi/file_parser.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
module Rudachi
|
2
|
+
module LazyLoad
|
3
|
+
@@hooks = {}
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def on_load(name, &block)
|
7
|
+
@@hooks[name] ||= []
|
8
|
+
@@hooks[name] << block
|
9
|
+
end
|
10
|
+
|
11
|
+
def run_load_hooks(name, mod)
|
12
|
+
@@hooks[name]&.each do |hook|
|
13
|
+
hook.call(mod)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/rudachi/loader.rb
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
module Rudachi
|
2
|
-
|
2
|
+
module Loader
|
3
|
+
class UnavailableError < StandardError; end;
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
class << self
|
6
|
+
def load!
|
7
|
+
raise UnavailableError, 'jruby_required' unless jruby?
|
8
|
+
require 'rudachi/dependencies'
|
9
|
+
end
|
9
10
|
|
10
|
-
|
11
|
+
private
|
11
12
|
|
12
|
-
|
13
|
-
|
13
|
+
def jruby?
|
14
|
+
RUBY_PLATFORM == 'java'
|
15
|
+
end
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'delegate'
|
2
|
+
|
1
3
|
module Rudachi
|
2
4
|
class Option
|
3
5
|
class BooleanOption < Delegator
|
@@ -7,8 +9,8 @@ module Rudachi
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def __getobj__; @value; end
|
10
|
-
def enable
|
11
|
-
def with_arg
|
12
|
+
def enable? ; @value; end
|
13
|
+
def with_arg? ; false ; end
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'delegate'
|
2
|
+
|
1
3
|
module Rudachi
|
2
4
|
class Option
|
3
5
|
class StringOption < Delegator
|
@@ -6,9 +8,9 @@ module Rudachi
|
|
6
8
|
@value = str
|
7
9
|
end
|
8
10
|
|
9
|
-
def __getobj__; @value; end
|
10
|
-
def enable
|
11
|
-
def with_arg
|
11
|
+
def __getobj__; @value ; end
|
12
|
+
def enable? ; !!@value; end
|
13
|
+
def with_arg? ; true ; end
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
@@ -1,11 +1,10 @@
|
|
1
|
+
require 'rudachi/lazy_load'
|
1
2
|
require 'rudachi/text_parser'
|
2
3
|
|
3
4
|
module Rudachi
|
4
5
|
class StreamParser < TextParser
|
5
|
-
|
6
|
-
|
7
|
-
def input_stream(stream)
|
8
|
-
stream.to_inputstream
|
6
|
+
LazyLoad.on_load(:stream_processor) do |mod|
|
7
|
+
include mod
|
9
8
|
end
|
10
9
|
end
|
11
10
|
end
|
data/lib/rudachi/text_parser.rb
CHANGED
data/lib/rudachi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rudachi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SongCastle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A JRuby wrapper for Sudachi.
|
14
14
|
email: "-"
|
@@ -22,6 +22,7 @@ files:
|
|
22
22
|
- lib/rudachi/configurable.rb
|
23
23
|
- lib/rudachi/dependencies.rb
|
24
24
|
- lib/rudachi/file_parser.rb
|
25
|
+
- lib/rudachi/lazy_load.rb
|
25
26
|
- lib/rudachi/loader.rb
|
26
27
|
- lib/rudachi/option/boolean_option.rb
|
27
28
|
- lib/rudachi/option/config.rb
|