character_set 1.2.0-java → 1.3.0-java

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +3 -0
  3. data/.travis.yml +1 -0
  4. data/BENCHMARK.md +51 -15
  5. data/CHANGELOG.md +20 -0
  6. data/README.md +24 -8
  7. data/Rakefile +20 -18
  8. data/benchmarks/count_in.rb +13 -0
  9. data/benchmarks/delete_in.rb +1 -1
  10. data/benchmarks/scan.rb +13 -0
  11. data/benchmarks/shared.rb +1 -0
  12. data/benchmarks/z_add.rb +12 -0
  13. data/benchmarks/z_delete.rb +12 -0
  14. data/benchmarks/z_merge.rb +15 -0
  15. data/benchmarks/z_minmax.rb +12 -0
  16. data/bin/console +2 -0
  17. data/character_set.gemspec +2 -0
  18. data/ext/character_set/character_set.c +963 -413
  19. data/ext/character_set/unicode_casefold_table.h.tmpl +11 -0
  20. data/lib/character_set/core_ext/string_ext.rb +2 -0
  21. data/lib/character_set/expression_converter.rb +21 -24
  22. data/lib/character_set/predefined_sets.rb +25 -260
  23. data/lib/character_set/predefined_sets/any.cps +1 -0
  24. data/lib/character_set/predefined_sets/ascii.cps +1 -0
  25. data/lib/character_set/predefined_sets/ascii_alnum.cps +3 -0
  26. data/lib/character_set/predefined_sets/ascii_letter.cps +2 -0
  27. data/lib/character_set/predefined_sets/assigned.cps +666 -0
  28. data/lib/character_set/predefined_sets/bmp.cps +2 -0
  29. data/lib/character_set/predefined_sets/crypt.cps +2 -0
  30. data/lib/character_set/predefined_sets/emoji.cps +151 -0
  31. data/lib/character_set/predefined_sets/newline.cps +3 -0
  32. data/lib/character_set/predefined_sets/surrogate.cps +1 -0
  33. data/lib/character_set/predefined_sets/unicode.cps +2 -0
  34. data/lib/character_set/predefined_sets/url_fragment.cps +8 -0
  35. data/lib/character_set/predefined_sets/url_host.cps +10 -0
  36. data/lib/character_set/predefined_sets/url_path.cps +7 -0
  37. data/lib/character_set/predefined_sets/url_query.cps +8 -0
  38. data/lib/character_set/predefined_sets/whitespace.cps +10 -0
  39. data/lib/character_set/ruby_fallback.rb +0 -2
  40. data/lib/character_set/ruby_fallback/character_set_methods.rb +52 -4
  41. data/lib/character_set/ruby_fallback/set_methods.rb +2 -2
  42. data/lib/character_set/shared_methods.rb +51 -40
  43. data/lib/character_set/version.rb +1 -1
  44. metadata +54 -3
  45. data/lib/character_set/ruby_fallback/plane_methods.rb +0 -27
@@ -1,3 +1,3 @@
1
1
  class CharacterSet
2
- VERSION = '1.2.0'
2
+ VERSION = '1.3.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: character_set
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: java
6
6
  authors:
7
7
  - Janosch Müller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-02 00:00:00.000000000 Z
11
+ date: 2019-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: codecov
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: get_process_mem
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.2.3
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.3
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rake
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -129,6 +157,7 @@ executables: []
129
157
  extensions: []
130
158
  extra_rdoc_files: []
131
159
  files:
160
+ - ".gitattributes"
132
161
  - ".gitignore"
133
162
  - ".rspec"
134
163
  - ".travis.yml"
@@ -138,17 +167,24 @@ files:
138
167
  - LICENSE.txt
139
168
  - README.md
140
169
  - Rakefile
170
+ - benchmarks/count_in.rb
141
171
  - benchmarks/cover.rb
142
172
  - benchmarks/delete_in.rb
143
173
  - benchmarks/keep_in.rb
174
+ - benchmarks/scan.rb
144
175
  - benchmarks/shared.rb
145
176
  - benchmarks/used_by.rb
177
+ - benchmarks/z_add.rb
178
+ - benchmarks/z_delete.rb
179
+ - benchmarks/z_merge.rb
180
+ - benchmarks/z_minmax.rb
146
181
  - bin/console
147
182
  - bin/setup
148
183
  - character_set.gemspec
149
184
  - ext/character_set/character_set.c
150
185
  - ext/character_set/extconf.rb
151
186
  - ext/character_set/unicode_casefold_table.h
187
+ - ext/character_set/unicode_casefold_table.h.tmpl
152
188
  - lib/character_set.rb
153
189
  - lib/character_set/character.rb
154
190
  - lib/character_set/core_ext.rb
@@ -157,10 +193,25 @@ files:
157
193
  - lib/character_set/expression_converter.rb
158
194
  - lib/character_set/parser.rb
159
195
  - lib/character_set/predefined_sets.rb
196
+ - lib/character_set/predefined_sets/any.cps
197
+ - lib/character_set/predefined_sets/ascii.cps
198
+ - lib/character_set/predefined_sets/ascii_alnum.cps
199
+ - lib/character_set/predefined_sets/ascii_letter.cps
200
+ - lib/character_set/predefined_sets/assigned.cps
201
+ - lib/character_set/predefined_sets/bmp.cps
202
+ - lib/character_set/predefined_sets/crypt.cps
203
+ - lib/character_set/predefined_sets/emoji.cps
204
+ - lib/character_set/predefined_sets/newline.cps
205
+ - lib/character_set/predefined_sets/surrogate.cps
206
+ - lib/character_set/predefined_sets/unicode.cps
207
+ - lib/character_set/predefined_sets/url_fragment.cps
208
+ - lib/character_set/predefined_sets/url_host.cps
209
+ - lib/character_set/predefined_sets/url_path.cps
210
+ - lib/character_set/predefined_sets/url_query.cps
211
+ - lib/character_set/predefined_sets/whitespace.cps
160
212
  - lib/character_set/pure.rb
161
213
  - lib/character_set/ruby_fallback.rb
162
214
  - lib/character_set/ruby_fallback/character_set_methods.rb
163
- - lib/character_set/ruby_fallback/plane_methods.rb
164
215
  - lib/character_set/ruby_fallback/set_methods.rb
165
216
  - lib/character_set/set_method_adapters.rb
166
217
  - lib/character_set/shared_methods.rb
@@ -1,27 +0,0 @@
1
- class CharacterSet
2
- module RubyFallback
3
- module PlaneMethods
4
- def bmp_part
5
- dup.keep_if { |cp| cp < 0x10000 }
6
- end
7
-
8
- def astral_part
9
- dup.keep_if { |cp| cp >= 0x10000 }
10
- end
11
-
12
- def planes
13
- plane_set = {}
14
- plane_size = 0x10000.to_f
15
- each do |cp|
16
- plane = (cp / plane_size).floor
17
- plane_set[plane] = true
18
- end
19
- plane_set.keys
20
- end
21
-
22
- def member_in_plane?(num)
23
- ((num * 0x10000)...((num + 1) * 0x10000)).any? { |cp| include?(cp) }
24
- end
25
- end
26
- end
27
- end