regexp_property_values 1.0.0 → 1.5.2

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: 3295d2f712a9e6aca9af41f2d4b98775dfc39cec0c9dc026fcd50999d4757dd2
4
- data.tar.gz: 2203633248c4cfb39489edede3be46fc3f935f8bbb6d958c9bd962ecf268a593
3
+ metadata.gz: '0588e959f6bc0ad3ef9612a495cbd3485b079b45ed9c4a485a3bd533e3ee9c7a'
4
+ data.tar.gz: abf53c421d3c895e436e0a992236d1daccda73d1da15b73ca5a3f8a8b7f94724
5
5
  SHA512:
6
- metadata.gz: eb72ccf725571146439af6ebaaec6a38420b39b19348827f08f3ca230af326a32653f05b4820f2fd66d98c5e7f7b394a4790e03badb95530311e1a5def209e2d
7
- data.tar.gz: 26d720ddd4c306223e38e944b7b08cc4c7170b39c120b906766d599b77fc402d560aa1dcbd8921bad30301536800b29cbfc39d525318827561efe162343a08a5
6
+ metadata.gz: 769d89728bcf42382782b0b42d946de6af689108b0d0b6101092eacc209f2bf50787fb1290f90545a406677bfc4da270a846de8a0dab0ab5fe4f694b53d423c9
7
+ data.tar.gz: 982ee2f8811bf1989f3789b0a52b83c89610aa7a2d00d190e36a16d16eff2a47f2ba38881373b36ac771f3f294c235207ce460d8a26ac9aee120442a3e7fe07b
@@ -0,0 +1,22 @@
1
+ name: tests
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+
9
+ strategy:
10
+ matrix:
11
+ ruby: [ '2.3', '3.1', 'jruby-head' ] # TODO: 'ruby-head' after https://github.com/knu/sorted_set/issues/11
12
+
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Ruby ${{ matrix.ruby }}
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: ${{ matrix.ruby }}
19
+ - name: Install dependencies
20
+ run: bundle install --jobs 4
21
+ - name: Test with Rake
22
+ run: bundle exec rake
data/.gitignore CHANGED
@@ -15,6 +15,7 @@
15
15
  .ruby-version
16
16
  .tags
17
17
  .tags1
18
+ .tool-versions
18
19
  bbin/
19
20
  binstubs/*
20
21
  bundler_stubs/*/.yardoc
data/CHANGELOG.md CHANGED
@@ -4,6 +4,43 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [1.5.2] - 2024-05-20
8
+
9
+ ### Fixed
10
+ - fixed `#matched_characters` for properties containing surrogates
11
+ - improved speed of `#matched_codepoints`
12
+
13
+ ## [1.5.1] - 2024-01-06
14
+
15
+ ### Fixed
16
+ - added missing Grapheme_Cluster_Break properties
17
+
18
+ ## [1.5.0] - 2024-01-06
19
+
20
+ ### Added
21
+ - new properties of future Ruby 3.3.x / Unicode 15.1
22
+
23
+ ## [1.4.0] - 2023-06-10
24
+
25
+ ### Added
26
+ - new properties of Ruby 3.2 / Unicode 15.0
27
+
28
+ ## [1.3.0] - 2022-04-07
29
+
30
+ ### Added
31
+ - new properties of Ruby 3.2 / Unicode 14.0
32
+
33
+ ## [1.2.0] - 2021-12-31
34
+
35
+ ### Added
36
+ - support for usage in Ractors
37
+
38
+ ## [1.1.0] - 2021-12-05
39
+
40
+ ### Added
41
+ - added new properties from Ruby `3.1.0` to output of `::all`, `::all_for_current_ruby`
42
+ - added options to run `::update` with custom ucd/emoji source paths
43
+
7
44
  ## [1.0.0] - 2019-06-16
8
45
 
9
46
  ### Changed
data/Gemfile CHANGED
@@ -4,3 +4,9 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in regexp_property_values.gemspec
6
6
  gemspec
7
+
8
+ gem 'character_set', '~> 1.8.0'
9
+ gem 'rake', '~> 13.0'
10
+ gem 'rake-compiler', '~> 1.0'
11
+ gem 'range_compressor', '~> 1.0'
12
+ gem 'rspec', '~> 3.0'
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # RegexpPropertyValues
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/regexp_property_values.svg)](http://badge.fury.io/rb/regexp_property_values)
4
- [![Build Status](https://travis-ci.org/jaynetics/regexp_property_values.svg?branch=master)](https://travis-ci.org/jaynetics/regexp_property_values)
4
+ [![Build Status](https://github.com/jaynetics/regexp_property_values/workflows/tests/badge.svg)](https://github.com/jaynetics/regexp_property_values/actions)
5
5
 
6
6
  This small library lets you see which property values are supported by the regular expression engine of the Ruby version you are running and directly reads out their codepoint ranges from there.
7
7
 
@@ -34,6 +34,10 @@ PV['foobar'].supported_by_current_ruby? # => false
34
34
  PV['AHex'].matched_characters # => %w[0 1 2 3 4 5 6 7 8 9 A B C ...]
35
35
  PV['AHex'].matched_codepoints # => [48, 49, 50, ...]
36
36
  PV['AHex'].matched_ranges # => [48..57, 65..70, 97..102]
37
+ # Note: #matched_characters is slow for large properties and you
38
+ # may not want to use it in time-critical code. It also omits surrogates.
39
+
40
+ PV['foobar'].matched_ranges # => RegexpPropertyValues::Error
37
41
  ```
38
42
 
39
43
  If [`character_set`](https://github.com/jaynetics/character_set) is installed, you can also do this:
@@ -49,5 +53,6 @@ PV['AHex'].character_set # => #<CharacterSet: {48, 49...} (size: 22)>
49
53
  PV.alias_hash # => { <Value name='M'> => <Value name='Mark'>, ... }
50
54
 
51
55
  # download a list of possible properties for the running Ruby version
56
+ # (only used for .all and .alias_hash, not needed for prop lookup via .[])
52
57
  PV.update
53
58
  ```
data/Rakefile CHANGED
@@ -32,3 +32,9 @@ if RUBY_PLATFORM !~ /java/i
32
32
  # recompile before running specs
33
33
  task(:spec).enhance([:compile])
34
34
  end
35
+
36
+ desc 'Update property lists'
37
+ task :update do
38
+ require_relative 'lib/regexp_property_values'
39
+ RegexpPropertyValues.update
40
+ end
data/bin/console CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "bundler/setup"
4
4
  require "regexp_property_values"
5
+ require "benchmark"
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
@@ -2,11 +2,13 @@
2
2
  #include "ruby/encoding.h"
3
3
  #include "ruby/oniguruma.h" // still in recent rubies f. backwards compatibility
4
4
 
5
- static int prop_name_to_ctype(char *name, rb_encoding *enc)
5
+ static int prop_name_to_ctype(VALUE arg, rb_encoding *enc)
6
6
  {
7
+ char *name;
7
8
  UChar *uname;
8
9
  int ctype;
9
10
 
11
+ name = StringValueCStr(arg);
10
12
  uname = (UChar *)name;
11
13
  ctype = ONIGENC_PROPERTY_NAME_TO_CTYPE(enc, uname, uname + strlen(name));
12
14
  if (ctype < 0)
@@ -15,13 +17,26 @@ static int prop_name_to_ctype(char *name, rb_encoding *enc)
15
17
  return ctype;
16
18
  }
17
19
 
18
- VALUE onig_ranges_to_rb(const OnigCodePoint *onig_ranges)
20
+ const OnigCodePoint *get_onig_ranges(VALUE prop_name)
21
+ {
22
+ int ctype;
23
+ const OnigCodePoint *ranges;
24
+ OnigCodePoint sb_out;
25
+ rb_encoding *enc;
26
+
27
+ enc = rb_utf8_encoding();
28
+ ctype = prop_name_to_ctype(prop_name, enc);
29
+ ONIGENC_GET_CTYPE_CODE_RANGE(enc, ctype, &sb_out, &ranges);
30
+ return ranges;
31
+ }
32
+
33
+ VALUE onig_ranges_to_rb_ranges(const OnigCodePoint *onig_ranges)
19
34
  {
20
35
  unsigned int range_count, i;
21
36
  VALUE result, sub_range;
22
37
 
23
38
  range_count = onig_ranges[0];
24
- result = rb_ary_new2(range_count); // rb_ary_new_capa not avail. in Ruby 2.0
39
+ result = rb_ary_new_capa(range_count);
25
40
 
26
41
  for (i = 0; i < range_count; i++)
27
42
  {
@@ -34,29 +49,45 @@ VALUE onig_ranges_to_rb(const OnigCodePoint *onig_ranges)
34
49
  return result;
35
50
  }
36
51
 
37
- VALUE rb_prop_ranges(char *name)
52
+ VALUE onig_ranges_to_rb_integers(const OnigCodePoint *onig_ranges)
38
53
  {
39
- int ctype;
40
- const OnigCodePoint *onig_ranges;
41
- OnigCodePoint sb_out;
42
- rb_encoding *enc;
43
- enc = rb_utf8_encoding();
54
+ unsigned int range_count, i, beg, end, j;
55
+ VALUE result;
44
56
 
45
- ctype = prop_name_to_ctype(name, enc);
46
- ONIGENC_GET_CTYPE_CODE_RANGE(enc, ctype, &sb_out, &onig_ranges);
47
- return onig_ranges_to_rb(onig_ranges);
57
+ range_count = onig_ranges[0];
58
+ result = rb_ary_new();
59
+
60
+ for (i = 0; i < range_count; i++)
61
+ {
62
+ beg = onig_ranges[(i * 2) + 1];
63
+ end = onig_ranges[(i * 2) + 2];
64
+ for (j = beg; j <= end; j++)
65
+ {
66
+ rb_ary_push(result, INT2FIX(j));
67
+ }
68
+ }
69
+
70
+ return result;
48
71
  }
49
72
 
50
73
  VALUE method_matched_ranges(VALUE self, VALUE arg)
51
74
  {
52
- char *prop_name;
53
- prop_name = StringValueCStr(arg);
54
- return rb_prop_ranges(prop_name);
75
+ return onig_ranges_to_rb_ranges(get_onig_ranges(arg));
76
+ }
77
+
78
+ VALUE method_matched_codepoints(VALUE self, VALUE arg)
79
+ {
80
+ return onig_ranges_to_rb_integers(get_onig_ranges(arg));
55
81
  }
56
82
 
57
83
  void Init_regexp_property_values()
58
84
  {
85
+ #ifdef HAVE_RB_EXT_RACTOR_SAFE
86
+ rb_ext_ractor_safe(true);
87
+ #endif
88
+
59
89
  VALUE module;
60
90
  module = rb_define_module("OnigRegexpPropertyHelper");
61
91
  rb_define_singleton_method(module, "matched_ranges", method_matched_ranges, 1);
92
+ rb_define_singleton_method(module, "matched_codepoints", method_matched_codepoints, 1);
62
93
  }
data/lib/aliases CHANGED
@@ -30,10 +30,12 @@ Cari;Carian
30
30
  Cc;Control
31
31
  Cf;Format
32
32
  Cher;Cherokee
33
+ Chrs;Chorasmian
33
34
  Cn;Unassigned
34
35
  Co;Private_Use
35
36
  Combining_Mark;Mark
36
37
  Copt;Coptic
38
+ Cpmn;Cypro_Minoan
37
39
  Cprt;Cypriot
38
40
  Cs;Surrogate
39
41
  Cyrl;Cyrillic
@@ -41,14 +43,20 @@ DI;Default_Ignorable_Code_Point
41
43
  Dep;Deprecated
42
44
  Deva;Devanagari
43
45
  Dia;Diacritic
46
+ Diak;Dives_Akuru
44
47
  Dogr;Dogra
45
48
  Dsrt;Deseret
46
49
  Dupl;Duployan
50
+ EBase;Emoji_Modifier_Base
51
+ EComp;Emoji_Component
52
+ EMod;Emoji_Modifier
53
+ EPres;Emoji_Presentation
47
54
  Egyp;Egyptian_Hieroglyphs
48
55
  Elba;Elbasan
49
56
  Elym;Elymaic
50
57
  Ethi;Ethiopic
51
58
  Ext;Extender
59
+ ExtPict;Extended_Pictographic
52
60
  Geor;Georgian
53
61
  Glag;Glagolitic
54
62
  Gong;Gunjala_Gondi
@@ -76,6 +84,7 @@ IDC;ID_Continue
76
84
  IDS;ID_Start
77
85
  IDSB;IDS_Binary_Operator
78
86
  IDST;IDS_Trinary_Operator
87
+ IDSU;IDS_Unary_Operator
79
88
  Ideo;Ideographic
80
89
  Ital;Old_Italic
81
90
  Java;Javanese
@@ -85,6 +94,7 @@ Kana;Katakana
85
94
  Khar;Kharoshthi
86
95
  Khmr;Khmer
87
96
  Khoj;Khojki
97
+ Kits;Khitan_Small_Script
88
98
  Knda;Kannada
89
99
  Kthi;Kaithi
90
100
  L;Letter
@@ -125,6 +135,7 @@ Mult;Multani
125
135
  Mymr;Myanmar
126
136
  N;Number
127
137
  NChar;Noncharacter_Code_Point
138
+ Nagm;Nag_Mundari
128
139
  Nand;Nandinagari
129
140
  Narb;Old_North_Arabian
130
141
  Nbat;Nabataean
@@ -147,6 +158,7 @@ Orkh;Old_Turkic
147
158
  Orya;Oriya
148
159
  Osge;Osage
149
160
  Osma;Osmanya
161
+ Ougr;Old_Uyghur
150
162
  P;Punctuation
151
163
  PCM;Prepended_Concatenation_Mark
152
164
  Palm;Palmyrene
@@ -211,10 +223,12 @@ Tglg;Tagalog
211
223
  Thaa;Thaana
212
224
  Tibt;Tibetan
213
225
  Tirh;Tirhuta
226
+ Tnsa;Tangsa
214
227
  UIdeo;Unified_Ideograph
215
228
  Ugar;Ugaritic
216
229
  VS;Variation_Selector
217
230
  Vaii;Vai
231
+ Vith;Vithkuqi
218
232
  WSpace;White_Space
219
233
  Wara;Warang_Citi
220
234
  Wcho;Wancho
@@ -222,6 +236,7 @@ XIDC;XID_Continue
222
236
  XIDS;XID_Start
223
237
  Xpeo;Old_Persian
224
238
  Xsux;Cuneiform
239
+ Yezi;Yezidi
225
240
  Yiii;Yi
226
241
  Z;Separator
227
242
  Zanb;Zanabazar_Square
@@ -5,7 +5,7 @@ module RegexpPropertyValues
5
5
  require 'fileutils'
6
6
  require 'set'
7
7
 
8
- BASE_URL = 'http://www.unicode.org/Public/'
8
+ BASE_URL = 'https://www.unicode.org/Public/UCD/latest/ucd'
9
9
 
10
10
  UCD_FILES = %w[
11
11
  Blocks.txt
@@ -15,6 +15,7 @@ module RegexpPropertyValues
15
15
  PropertyValueAliases.txt
16
16
  PropList.txt
17
17
  Scripts.txt
18
+ auxiliary/GraphemeBreakProperty.txt
18
19
  ]
19
20
 
20
21
  EMOJI_FILES = %w[
@@ -23,9 +24,9 @@ module RegexpPropertyValues
23
24
 
24
25
  TMP_DIR = File.join(__dir__, 'tmp_ucd')
25
26
 
26
- def call
27
+ def call(ucd_path: nil, emoji_path: nil)
27
28
  prepare_tmp_dir
28
- download_ucd_files
29
+ download_ucd_files(ucd_path: ucd_path, emoji_path: emoji_path)
29
30
  write_values
30
31
  write_aliases
31
32
  remove_tmp_dir
@@ -37,17 +38,16 @@ module RegexpPropertyValues
37
38
  FileUtils.mkdir(TMP_DIR)
38
39
  end
39
40
 
40
- def download_ucd_files
41
- unicode_version = RbConfig::CONFIG.fetch('UNICODE_VERSION')
42
- emoji_version = RbConfig::CONFIG.fetch('UNICODE_EMOJI_VERSION')
43
- puts 'This will load ucd and emoji data for the CURRENT RUBY '\
44
- "(#{unicode_version} / #{emoji_version}). Run this on the "\
45
- 'latest Ruby version you want to support. Continue? [y/n]'
41
+ def download_ucd_files(ucd_path: nil, emoji_path: nil)
42
+ puts 'This will try to load the latest UCD data. Continue? [y/n]'
46
43
  return puts 'download skipped.' unless $stdin.gets =~ /^y/i
47
44
 
45
+ ucd_path ||= ENV['RPV_UCD_PATH'] || BASE_URL
46
+ emoji_path ||= ENV['RPV_EMOJI_PATH'] || "#{BASE_URL}/emoji/"
47
+
48
48
  Dir.chdir(TMP_DIR) do
49
- UCD_FILES.each { |f| `wget #{BASE_URL}/#{unicode_version}/ucd/#{f}` }
50
- EMOJI_FILES.each { |f| `wget #{BASE_URL}/emoji/#{emoji_version}/#{f}` }
49
+ UCD_FILES.each { |f| `wget #{ucd_path}/#{f}` }
50
+ EMOJI_FILES.each { |f| `wget #{emoji_path}/#{f}` }
51
51
  end
52
52
  end
53
53
 
@@ -62,7 +62,9 @@ module RegexpPropertyValues
62
62
  ]
63
63
 
64
64
  # special properties
65
- @values += %w[Any Assigned In_No_Block Unknown]
65
+ @values += %w[
66
+ Any Assigned Extended_Pictographic In_No_Block Unknown
67
+ ]
66
68
 
67
69
  # legacy properties
68
70
  @values += %w[Newline]
@@ -87,6 +89,10 @@ module RegexpPropertyValues
87
89
  @values << 'Age=' + caps[:age_num]
88
90
  end
89
91
 
92
+ scan('GraphemeBreakProperty.txt', /; *(?<name>\w+) *#/) do |caps|
93
+ @values << 'Grapheme_Cluster_Break=' + caps[:name]
94
+ end
95
+
90
96
  File.write(RegexpPropertyValues::VALUES_PATH, @values.sort.join("\n"))
91
97
  end
92
98
 
@@ -2,11 +2,17 @@ module RegexpPropertyValues
2
2
  class Value
3
3
  module ExtAdapter
4
4
  def matched_characters
5
- matched_codepoints.map { |cp| cp.chr('utf-8') }
5
+ acc = []
6
+ matched_codepoints.each do |cp|
7
+ acc << cp.chr('utf-8') if cp < 0xD800 || cp > 0xDFFF
8
+ end
9
+ acc
6
10
  end
7
11
 
8
12
  def matched_codepoints
9
- matched_ranges.flat_map(&:to_a)
13
+ OnigRegexpPropertyHelper.matched_codepoints(name)
14
+ rescue ArgumentError
15
+ raise_unsupported_or_unknown_error
10
16
  end
11
17
 
12
18
  def matched_ranges
@@ -1,3 +1,3 @@
1
1
  module RegexpPropertyValues
2
- VERSION = '1.0.0'
2
+ VERSION = '1.5.2'
3
3
  end
@@ -31,7 +31,7 @@ module RegexpPropertyValues
31
31
  end.to_h
32
32
  end
33
33
 
34
- def self.update
35
- Updater.call
34
+ def self.update(ucd_path: nil, emoji_path: nil)
35
+ Updater.call(ucd_path: ucd_path, emoji_path: emoji_path)
36
36
  end
37
37
  end
data/lib/values CHANGED
@@ -6,6 +6,10 @@ Age=10.0
6
6
  Age=11.0
7
7
  Age=12.0
8
8
  Age=12.1
9
+ Age=13.0
10
+ Age=14.0
11
+ Age=15.0
12
+ Age=15.1
9
13
  Age=2.0
10
14
  Age=2.1
11
15
  Age=3.0
@@ -60,6 +64,7 @@ Changes_When_Lowercased
60
64
  Changes_When_Titlecased
61
65
  Changes_When_Uppercased
62
66
  Cherokee
67
+ Chorasmian
63
68
  Close_Punctuation
64
69
  Cntrl
65
70
  Common
@@ -69,6 +74,7 @@ Coptic
69
74
  Cuneiform
70
75
  Currency_Symbol
71
76
  Cypriot
77
+ Cypro_Minoan
72
78
  Cyrillic
73
79
  Dash
74
80
  Dash_Punctuation
@@ -79,6 +85,7 @@ Deseret
79
85
  Devanagari
80
86
  Diacritic
81
87
  Digit
88
+ Dives_Akuru
82
89
  Dogra
83
90
  Duployan
84
91
  Egyptian_Hieroglyphs
@@ -91,6 +98,7 @@ Emoji_Modifier_Base
91
98
  Emoji_Presentation
92
99
  Enclosing_Mark
93
100
  Ethiopic
101
+ Extended_Pictographic
94
102
  Extender
95
103
  Final_Punctuation
96
104
  Format
@@ -100,6 +108,19 @@ Gothic
100
108
  Grantha
101
109
  Graph
102
110
  Grapheme_Base
111
+ Grapheme_Cluster_Break=CR
112
+ Grapheme_Cluster_Break=Control
113
+ Grapheme_Cluster_Break=Extend
114
+ Grapheme_Cluster_Break=L
115
+ Grapheme_Cluster_Break=LF
116
+ Grapheme_Cluster_Break=LV
117
+ Grapheme_Cluster_Break=LVT
118
+ Grapheme_Cluster_Break=Prepend
119
+ Grapheme_Cluster_Break=Regional_Indicator
120
+ Grapheme_Cluster_Break=SpacingMark
121
+ Grapheme_Cluster_Break=T
122
+ Grapheme_Cluster_Break=V
123
+ Grapheme_Cluster_Break=ZWJ
103
124
  Grapheme_Extend
104
125
  Grapheme_Link
105
126
  Greek
@@ -117,6 +138,9 @@ Hiragana
117
138
  Hyphen
118
139
  IDS_Binary_Operator
119
140
  IDS_Trinary_Operator
141
+ IDS_Unary_Operator
142
+ ID_Compat_Math_Continue
143
+ ID_Compat_Math_Start
120
144
  ID_Continue
121
145
  ID_Start
122
146
  Ideographic
@@ -132,6 +156,8 @@ In_Ancient_Greek_Numbers
132
156
  In_Ancient_Symbols
133
157
  In_Arabic
134
158
  In_Arabic_Extended_A
159
+ In_Arabic_Extended_B
160
+ In_Arabic_Extended_C
135
161
  In_Arabic_Mathematical_Alphabetic_Symbols
136
162
  In_Arabic_Presentation_Forms_A
137
163
  In_Arabic_Presentation_Forms_B
@@ -170,6 +196,9 @@ In_CJK_Unified_Ideographs_Extension_C
170
196
  In_CJK_Unified_Ideographs_Extension_D
171
197
  In_CJK_Unified_Ideographs_Extension_E
172
198
  In_CJK_Unified_Ideographs_Extension_F
199
+ In_CJK_Unified_Ideographs_Extension_G
200
+ In_CJK_Unified_Ideographs_Extension_H
201
+ In_CJK_Unified_Ideographs_Extension_I
173
202
  In_Carian
174
203
  In_Caucasian_Albanian
175
204
  In_Chakma
@@ -177,6 +206,7 @@ In_Cham
177
206
  In_Cherokee
178
207
  In_Cherokee_Supplement
179
208
  In_Chess_Symbols
209
+ In_Chorasmian
180
210
  In_Combining_Diacritical_Marks
181
211
  In_Combining_Diacritical_Marks_Extended
182
212
  In_Combining_Diacritical_Marks_Supplement
@@ -191,15 +221,19 @@ In_Cuneiform
191
221
  In_Cuneiform_Numbers_and_Punctuation
192
222
  In_Currency_Symbols
193
223
  In_Cypriot_Syllabary
224
+ In_Cypro_Minoan
194
225
  In_Cyrillic
195
226
  In_Cyrillic_Extended_A
196
227
  In_Cyrillic_Extended_B
197
228
  In_Cyrillic_Extended_C
229
+ In_Cyrillic_Extended_D
198
230
  In_Cyrillic_Supplement
199
231
  In_Deseret
200
232
  In_Devanagari
201
233
  In_Devanagari_Extended
234
+ In_Devanagari_Extended_A
202
235
  In_Dingbats
236
+ In_Dives_Akuru
203
237
  In_Dogra
204
238
  In_Domino_Tiles
205
239
  In_Duployan
@@ -216,6 +250,7 @@ In_Enclosed_Ideographic_Supplement
216
250
  In_Ethiopic
217
251
  In_Ethiopic_Extended
218
252
  In_Ethiopic_Extended_A
253
+ In_Ethiopic_Extended_B
219
254
  In_Ethiopic_Supplement
220
255
  In_General_Punctuation
221
256
  In_Geometric_Shapes
@@ -254,15 +289,19 @@ In_Inscriptional_Pahlavi
254
289
  In_Inscriptional_Parthian
255
290
  In_Javanese
256
291
  In_Kaithi
292
+ In_Kaktovik_Numerals
257
293
  In_Kana_Extended_A
294
+ In_Kana_Extended_B
258
295
  In_Kana_Supplement
259
296
  In_Kanbun
260
297
  In_Kangxi_Radicals
261
298
  In_Kannada
262
299
  In_Katakana
263
300
  In_Katakana_Phonetic_Extensions
301
+ In_Kawi
264
302
  In_Kayah_Li
265
303
  In_Kharoshthi
304
+ In_Khitan_Small_Script
266
305
  In_Khmer
267
306
  In_Khmer_Symbols
268
307
  In_Khojki
@@ -275,6 +314,8 @@ In_Latin_Extended_B
275
314
  In_Latin_Extended_C
276
315
  In_Latin_Extended_D
277
316
  In_Latin_Extended_E
317
+ In_Latin_Extended_F
318
+ In_Latin_Extended_G
278
319
  In_Lepcha
279
320
  In_Letterlike_Symbols
280
321
  In_Limbu
@@ -282,6 +323,7 @@ In_Linear_A
282
323
  In_Linear_B_Ideograms
283
324
  In_Linear_B_Syllabary
284
325
  In_Lisu
326
+ In_Lisu_Supplement
285
327
  In_Low_Surrogates
286
328
  In_Lycian
287
329
  In_Lydian
@@ -321,6 +363,7 @@ In_Myanmar_Extended_A
321
363
  In_Myanmar_Extended_B
322
364
  In_NKo
323
365
  In_Nabataean
366
+ In_Nag_Mundari
324
367
  In_Nandinagari
325
368
  In_New_Tai_Lue
326
369
  In_Newa
@@ -338,6 +381,7 @@ In_Old_Persian
338
381
  In_Old_Sogdian
339
382
  In_Old_South_Arabian
340
383
  In_Old_Turkic
384
+ In_Old_Uyghur
341
385
  In_Optical_Character_Recognition
342
386
  In_Oriya
343
387
  In_Ornamental_Dingbats
@@ -387,6 +431,7 @@ In_Supplementary_Private_Use_Area_B
387
431
  In_Sutton_SignWriting
388
432
  In_Syloti_Nagri
389
433
  In_Symbols_and_Pictographs_Extended_A
434
+ In_Symbols_for_Legacy_Computing
390
435
  In_Syriac
391
436
  In_Syriac_Supplement
392
437
  In_Tagalog
@@ -399,29 +444,36 @@ In_Tai_Xuan_Jing_Symbols
399
444
  In_Takri
400
445
  In_Tamil
401
446
  In_Tamil_Supplement
447
+ In_Tangsa
402
448
  In_Tangut
403
449
  In_Tangut_Components
450
+ In_Tangut_Supplement
404
451
  In_Telugu
405
452
  In_Thaana
406
453
  In_Thai
407
454
  In_Tibetan
408
455
  In_Tifinagh
409
456
  In_Tirhuta
457
+ In_Toto
410
458
  In_Transport_and_Map_Symbols
411
459
  In_Ugaritic
412
460
  In_Unified_Canadian_Aboriginal_Syllabics
413
461
  In_Unified_Canadian_Aboriginal_Syllabics_Extended
462
+ In_Unified_Canadian_Aboriginal_Syllabics_Extended_A
414
463
  In_Vai
415
464
  In_Variation_Selectors
416
465
  In_Variation_Selectors_Supplement
417
466
  In_Vedic_Extensions
418
467
  In_Vertical_Forms
468
+ In_Vithkuqi
419
469
  In_Wancho
420
470
  In_Warang_Citi
471
+ In_Yezidi
421
472
  In_Yi_Radicals
422
473
  In_Yi_Syllables
423
474
  In_Yijing_Hexagram_Symbols
424
475
  In_Zanabazar_Square
476
+ In_Znamenny_Musical_Notation
425
477
  Inherited
426
478
  Initial_Punctuation
427
479
  Inscriptional_Pahlavi
@@ -431,8 +483,10 @@ Join_Control
431
483
  Kaithi
432
484
  Kannada
433
485
  Katakana
486
+ Kawi
434
487
  Kayah_Li
435
488
  Kharoshthi
489
+ Khitan_Small_Script
436
490
  Khmer
437
491
  Khojki
438
492
  Khudawadi
@@ -476,6 +530,7 @@ Mro
476
530
  Multani
477
531
  Myanmar
478
532
  Nabataean
533
+ Nag_Mundari
479
534
  Nandinagari
480
535
  New_Tai_Lue
481
536
  Newa
@@ -496,6 +551,7 @@ Old_Persian
496
551
  Old_Sogdian
497
552
  Old_South_Arabian
498
553
  Old_Turkic
554
+ Old_Uyghur
499
555
  Open_Punctuation
500
556
  Oriya
501
557
  Osage
@@ -560,6 +616,7 @@ Tai_Tham
560
616
  Tai_Viet
561
617
  Takri
562
618
  Tamil
619
+ Tangsa
563
620
  Tangut
564
621
  Telugu
565
622
  Terminal_Punctuation
@@ -569,6 +626,7 @@ Tibetan
569
626
  Tifinagh
570
627
  Tirhuta
571
628
  Titlecase_Letter
629
+ Toto
572
630
  Ugaritic
573
631
  Unassigned
574
632
  Unified_Ideograph
@@ -578,6 +636,7 @@ Uppercase
578
636
  Uppercase_Letter
579
637
  Vai
580
638
  Variation_Selector
639
+ Vithkuqi
581
640
  Wancho
582
641
  Warang_Citi
583
642
  White_Space
@@ -586,5 +645,6 @@ XDigit
586
645
  XID_Continue
587
646
  XID_Start
588
647
  XPosixPunct
648
+ Yezidi
589
649
  Yi
590
650
  Zanabazar_Square
@@ -22,11 +22,5 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.extensions = %w[ext/regexp_property_values/extconf.rb]
24
24
 
25
- s.required_ruby_version = '>= 2.0.0'
26
-
27
- s.add_development_dependency 'character_set', '~> 1.4.0'
28
- s.add_development_dependency 'rake', '~> 12.0'
29
- s.add_development_dependency 'rake-compiler', '~> 1.0'
30
- s.add_development_dependency 'range_compressor', '~> 1.0'
31
- s.add_development_dependency 'rspec', '~> 3.0'
25
+ s.required_ruby_version = '>= 2.1.0'
32
26
  end
metadata CHANGED
@@ -1,85 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regexp_property_values
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janosch Müller
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-16 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: character_set
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 1.4.0
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 1.4.0
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '12.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '12.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rake-compiler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.0'
55
- - !ruby/object:Gem::Dependency
56
- name: range_compressor
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.0'
11
+ date: 2024-05-22 00:00:00.000000000 Z
12
+ dependencies: []
83
13
  description: This small library lets you see which property values are supported by
84
14
  the regular expression engine of the Ruby version you are running, and what they
85
15
  match.
@@ -90,9 +20,9 @@ extensions:
90
20
  - ext/regexp_property_values/extconf.rb
91
21
  extra_rdoc_files: []
92
22
  files:
23
+ - ".github/workflows/tests.yml"
93
24
  - ".gitignore"
94
25
  - ".rspec"
95
- - ".travis.yml"
96
26
  - CHANGELOG.md
97
27
  - Gemfile
98
28
  - LICENSE.txt
@@ -116,7 +46,7 @@ homepage: https://github.com/jaynetics/regexp_property_values
116
46
  licenses:
117
47
  - MIT
118
48
  metadata: {}
119
- post_install_message:
49
+ post_install_message:
120
50
  rdoc_options: []
121
51
  require_paths:
122
52
  - lib
@@ -124,15 +54,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
54
  requirements:
125
55
  - - ">="
126
56
  - !ruby/object:Gem::Version
127
- version: 2.0.0
57
+ version: 2.1.0
128
58
  required_rubygems_version: !ruby/object:Gem::Requirement
129
59
  requirements:
130
60
  - - ">="
131
61
  - !ruby/object:Gem::Version
132
62
  version: '0'
133
63
  requirements: []
134
- rubygems_version: 3.0.3
135
- signing_key:
64
+ rubygems_version: 3.5.3
65
+ signing_key:
136
66
  specification_version: 4
137
67
  summary: Inspect property values supported by Ruby's regex engine
138
68
  test_files: []
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.1
5
- - 2.4
6
- - 2.5
7
- - 2.6
8
- - jruby-9.1.9.0