utf8_proc 0.2.3 → 0.3.0
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/.rubocop.yml +93 -0
- data/.travis.yml +7 -0
- data/README.md +2 -0
- data/Rakefile +10 -6
- data/lib/utf8_proc.rb +6 -1
- data/lib/utf8_proc/jruby.rb +59 -0
- data/lib/utf8_proc/version.rb +1 -1
- data/utf8_proc.gemspec +6 -2
- metadata +23 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51fd48320809134499eb6cc1ec7d84f91034df30
|
4
|
+
data.tar.gz: 8b25e229470de1b9e666d8bf55cebd4b647797ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03dee7d55aa9c396d079f1267033a3978ace36717c94b05a32d8225cda0e2c2d09f22e5f6fa058510b923796e948e031fabc48c6331b95d06a10ae0634400897
|
7
|
+
data.tar.gz: 2b3af9256deaa1cfea16eea4e6470e36edb37b091c8dd9e009d7e420e6ef50125e03f81c2921ee4ece325834f1c6dd698920ede15bbf7bb9de591713ea53ec65
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.0
|
3
|
+
|
4
|
+
# Metrics
|
5
|
+
Metrics/AbcSize:
|
6
|
+
Description: >-
|
7
|
+
A calculated magnitude based on number of assignments,
|
8
|
+
branches, and conditions.
|
9
|
+
Reference: 'http://c2.com/cgi/wiki?AbcMetric'
|
10
|
+
Enabled: false
|
11
|
+
Max: 20
|
12
|
+
|
13
|
+
Metrics/BlockNesting:
|
14
|
+
Description: 'Avoid excessive block nesting'
|
15
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
|
16
|
+
Enabled: true
|
17
|
+
Max: 4
|
18
|
+
|
19
|
+
Metrics/ClassLength:
|
20
|
+
Description: 'Avoid classes longer than 250 lines of code.'
|
21
|
+
Enabled: true
|
22
|
+
Max: 250
|
23
|
+
|
24
|
+
Metrics/CyclomaticComplexity:
|
25
|
+
Description: >-
|
26
|
+
A complexity metric that is strongly correlated to the number
|
27
|
+
of test cases needed to validate a method.
|
28
|
+
Enabled: true
|
29
|
+
|
30
|
+
Metrics/LineLength:
|
31
|
+
Description: 'Limit lines to 80 characters.'
|
32
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
Metrics/MethodLength:
|
36
|
+
Description: 'Avoid methods longer than 30 lines of code.'
|
37
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
|
38
|
+
Enabled: true
|
39
|
+
Max: 30
|
40
|
+
|
41
|
+
Metrics/ModuleLength:
|
42
|
+
Description: 'Avoid modules longer than 250 lines of code.'
|
43
|
+
Enabled: true
|
44
|
+
Max: 250
|
45
|
+
|
46
|
+
Metrics/ParameterLists:
|
47
|
+
Description: 'Avoid parameter lists longer than three or four parameters.'
|
48
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
|
49
|
+
Enabled: true
|
50
|
+
|
51
|
+
Metrics/PerceivedComplexity:
|
52
|
+
Description: >-
|
53
|
+
A complexity metric geared towards measuring complexity for a
|
54
|
+
human reader.
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
# Style
|
58
|
+
Style/AsciiComments:
|
59
|
+
Enabled: false
|
60
|
+
|
61
|
+
Style/CollectionMethods:
|
62
|
+
Enabled: true
|
63
|
+
|
64
|
+
Style/ConditionalAssignment:
|
65
|
+
Enabled: false
|
66
|
+
|
67
|
+
Style/Documentation:
|
68
|
+
Enabled: false
|
69
|
+
|
70
|
+
Style/FormatString:
|
71
|
+
EnforcedStyle: percent
|
72
|
+
|
73
|
+
Style/HashSyntax:
|
74
|
+
EnforcedStyle: ruby19_no_mixed_keys
|
75
|
+
|
76
|
+
Style/MethodCalledOnDoEndBlock:
|
77
|
+
Enabled: true
|
78
|
+
|
79
|
+
Style/PercentLiteralDelimiters:
|
80
|
+
PreferredDelimiters:
|
81
|
+
'%i': '[]'
|
82
|
+
'%I': '[]'
|
83
|
+
'%w': '[]'
|
84
|
+
'%W': '[]'
|
85
|
+
|
86
|
+
Style/StringLiterals:
|
87
|
+
EnforcedStyle: double_quotes
|
88
|
+
|
89
|
+
Style/SymbolArray:
|
90
|
+
Enabled: true
|
91
|
+
|
92
|
+
Style/TrailingCommaInLiteral:
|
93
|
+
EnforcedStyleForMultiline: comma
|
data/.travis.yml
CHANGED
@@ -7,6 +7,13 @@ rvm:
|
|
7
7
|
- 2.2.6
|
8
8
|
- 2.1.10
|
9
9
|
- 2.0.0
|
10
|
+
- ruby-head
|
11
|
+
- jruby-9.1.5.0
|
12
|
+
- jruby-head
|
13
|
+
matrix:
|
14
|
+
allow_failures:
|
15
|
+
- rvm: ruby-head
|
16
|
+
- rvm: jruby-head
|
10
17
|
before_install:
|
11
18
|
- wget -O utf8proc.zip https://github.com/JuliaLang/utf8proc/archive/v2.1.0.zip
|
12
19
|
- unzip utf8proc.zip
|
data/README.md
CHANGED
@@ -55,6 +55,8 @@ UTF8Proc.normalize(utf8_string, form = :nfc)
|
|
55
55
|
UTF8Proc::LIBRARY_VERSION
|
56
56
|
```
|
57
57
|
|
58
|
+
(Like `unf`) on JRuby the gem will fall-back to using `java.text.normalizer`. The interface remains the same.
|
59
|
+
|
58
60
|
## Contributing
|
59
61
|
|
60
62
|
Bug reports and pull requests are welcome on GitHub at https://github.com/nomoon/utf8_proc. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
data/Rakefile
CHANGED
@@ -8,12 +8,16 @@ Rake::TestTask.new(:test) do |t|
|
|
8
8
|
t.test_files = FileList["test/**/*_test.rb"]
|
9
9
|
end
|
10
10
|
|
11
|
-
|
11
|
+
if defined?(JRUBY_VERSION)
|
12
|
+
task default: :test
|
13
|
+
else
|
14
|
+
require "rake/extensiontask"
|
12
15
|
|
13
|
-
task build: :compile
|
16
|
+
task build: :compile
|
14
17
|
|
15
|
-
Rake::ExtensionTask.new("utf8_proc") do |ext|
|
16
|
-
|
17
|
-
end
|
18
|
+
Rake::ExtensionTask.new("utf8_proc") do |ext|
|
19
|
+
ext.lib_dir = "lib/utf8_proc"
|
20
|
+
end
|
18
21
|
|
19
|
-
task default: %i[clobber compile test]
|
22
|
+
task default: %i[clobber compile test]
|
23
|
+
end
|
data/lib/utf8_proc.rb
CHANGED
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# rubocop:disable MethodName
|
3
|
+
|
4
|
+
# This file should only be required within JRuby
|
5
|
+
|
6
|
+
require "java"
|
7
|
+
|
8
|
+
module UTF8Proc
|
9
|
+
module JRuby
|
10
|
+
LIBRARY_VERSION = "Java #{ENV_JAVA['java.version']}".freeze
|
11
|
+
|
12
|
+
JTNORM = java.text.Normalizer
|
13
|
+
private_constant :JTNORM
|
14
|
+
|
15
|
+
def self.included(receiver)
|
16
|
+
receiver.extend(ClassMethods)
|
17
|
+
end
|
18
|
+
|
19
|
+
module ClassMethods
|
20
|
+
def NFC(string)
|
21
|
+
JTNORM.normalize(string, JTNORM::Form::NFC)
|
22
|
+
end
|
23
|
+
|
24
|
+
def NFD(string)
|
25
|
+
JTNORM.normalize(string, JTNORM::Form::NFD)
|
26
|
+
end
|
27
|
+
|
28
|
+
def NFKC(string)
|
29
|
+
JTNORM.normalize(string, JTNORM::Form::NFKC)
|
30
|
+
end
|
31
|
+
|
32
|
+
def NFKD(string)
|
33
|
+
JTNORM.normalize(string, JTNORM::Form::NFKD)
|
34
|
+
end
|
35
|
+
|
36
|
+
def NFKC_CF(string)
|
37
|
+
NFKC(string).to_java(:string).toLowerCase
|
38
|
+
end
|
39
|
+
|
40
|
+
def normalize(string, form = :nfc)
|
41
|
+
case form
|
42
|
+
when :nfc
|
43
|
+
NFC(string)
|
44
|
+
when :nfd
|
45
|
+
NFD(string)
|
46
|
+
when :nfkc
|
47
|
+
NFKC(string)
|
48
|
+
when :nfkd
|
49
|
+
NFKD(string)
|
50
|
+
when :nfkc_cf
|
51
|
+
NFKC_CF(string)
|
52
|
+
else
|
53
|
+
raise ArgumentError, "Second argument must be one of [:nfc (default)," \
|
54
|
+
" :nfd, :nfkc, :nfkd, :nfkc_cf]"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/utf8_proc/version.rb
CHANGED
data/utf8_proc.gemspec
CHANGED
@@ -20,11 +20,15 @@ Gem::Specification.new do |spec|
|
|
20
20
|
f.match(%r{^(test|spec|features)/})
|
21
21
|
end
|
22
22
|
spec.require_paths = ["lib"]
|
23
|
-
spec.extensions = ["ext/utf8_proc/extconf.rb"]
|
24
23
|
|
25
24
|
spec.add_development_dependency "bundler", "~> 1.14"
|
26
25
|
spec.add_development_dependency "rake", "~> 12.0"
|
27
26
|
spec.add_development_dependency "pry", "~> 0.10"
|
28
|
-
spec.add_development_dependency "rake-compiler", "~> 1.0"
|
29
27
|
spec.add_development_dependency "minitest", "~> 5.10"
|
28
|
+
spec.add_development_dependency "rubocop", "~> 0.47"
|
29
|
+
|
30
|
+
unless defined?(JRUBY_VERSION)
|
31
|
+
spec.extensions = ["ext/utf8_proc/extconf.rb"]
|
32
|
+
spec.add_development_dependency "rake-compiler", "~> 1.0"
|
33
|
+
end
|
30
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utf8_proc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Bellefleur
|
@@ -53,33 +53,47 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.10'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '5.10'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '5.10'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0.47'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0.47'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake-compiler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
83
97
|
description:
|
84
98
|
email:
|
85
99
|
- nomoon@phoebus.ca
|
@@ -89,6 +103,7 @@ extensions:
|
|
89
103
|
extra_rdoc_files: []
|
90
104
|
files:
|
91
105
|
- ".gitignore"
|
106
|
+
- ".rubocop.yml"
|
92
107
|
- ".ruby-gemset"
|
93
108
|
- ".ruby-version"
|
94
109
|
- ".travis.yml"
|
@@ -103,6 +118,7 @@ files:
|
|
103
118
|
- ext/utf8_proc/utf8_proc.c
|
104
119
|
- ext/utf8_proc/utf8_proc.h
|
105
120
|
- lib/utf8_proc.rb
|
121
|
+
- lib/utf8_proc/jruby.rb
|
106
122
|
- lib/utf8_proc/version.rb
|
107
123
|
- utf8_proc.gemspec
|
108
124
|
homepage: https://github.com/nomoon/utf8_proc
|