ansel 2.0.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0d96eec49a1d4008d8ef14c8cbf1c505d0d38b029dffe45fb620ef937893e0d
4
- data.tar.gz: 6467f1407d9e10319118e331e366b25671ef38df66504417c5d2e793c45fefa3
3
+ metadata.gz: a438c0b694602e095a0be5413fee3dcd46de00243861cb9524f24a40b79f5910
4
+ data.tar.gz: 566a2b1f0f61f981daa498be57ce4d56d09d27bb821984385324bb8c5593746e
5
5
  SHA512:
6
- metadata.gz: b907611f72f613d6166261254fb087c95758ca7fef860a0c34e80d348e9d65e040d1254c49f5eb5f746d0fd89750dd9e35592f4b19480febf2fbf536eeccb0f0
7
- data.tar.gz: 26cdf2206a40576641e57b4ca9332176281e9ce1d792c1795bfaf2ff485e9d879d464a7b7e9d6909a6b7492b4cd803af370642670160bc20ff0b5ef63d9df86a
6
+ metadata.gz: c78756e7f02448114ec87561b49972061b7e03156c49f5c54b99b2397daa5fa4346a473e229fe97620c3a9743556d132c92c0edc6fcd9696db84fd7b3e32492c
7
+ data.tar.gz: 0ef49f32f68a0b1ad5b42840692abf033288f32475a97ea5c88f8d4ab0a1420d2f36ae56086909c6d0baa0380eabdb1d90dea67c6284ffcf310009083b33c987
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 3.0.0
2
+
3
+ - Drop support for Rubies older than 3.1
4
+
1
5
  ## 2.0.2
2
6
 
3
7
  - Fix issue with some non-combining characters followed by a valid character
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2019 Keith Morrison <keithm@infused.org>
1
+ Copyright (c) 2009-2024 Keith Morrison <keithm@infused.org>
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,14 +1,12 @@
1
1
  # ANSEL
2
2
 
3
3
  [![Version](http://img.shields.io/gem/v/ansel.svg?style=flat)](https://rubygems.org/gems/ansel)
4
- [![Build Status](http://img.shields.io/travis/infused/ansel/master.svg?style=flat)](http://travis-ci.org/infused/ansel)
4
+ [![Build Status](https://github.com/infused/ansel/actions/workflows/build.yml/badge.svg)](https://github.com/infused/ansel/actions/workflows/build.yml)
5
5
  [![Total Downloads](https://img.shields.io/gem/dt/ansel.svg)](https://rubygems.org/gems/ansel/)
6
6
  [![License](https://img.shields.io/github/license/infused/ansel.svg)](https://github.com/infused/ansel)
7
7
 
8
8
  ANSEL provides character set conversion from ANSEL to UTF-8
9
9
 
10
- Copyright (c) 2006-2019 Keith Morrison <mailto:keithm@infused.org>, <http://www.infused.org>
11
-
12
10
  - Project page: <http://github.com/infused/ansel>
13
11
  - API Documentation: <http://rubydoc.info/github/infused/ansel/>
14
12
  - Report bugs: <http://github.com/infused/ansel/issues>
@@ -17,18 +15,13 @@ Copyright (c) 2006-2019 Keith Morrison <mailto:keithm@infused.org>, <http://www.
17
15
 
18
16
  ## Compatibility
19
17
 
20
- ANSEL is [tested](https://travis-ci.org/infused/ansel) to be compatible with the following Rubies:
18
+ ANSEL is compatible with the following Rubies:
21
19
 
22
- * 1.9.2, 1.9.3
23
- * 2.0.x
24
- * 2.1.x
25
- * 2.2.x
26
- * 2.3.x
27
- * 2.4.x
28
- * 2.5.x
29
- * jruby 1.7+
20
+ * 3.1.x
21
+ * 3.2.x
22
+ * 3.3.x
30
23
 
31
- If you need ANSEL convesion in Ruby 1.8, see my [ansel_iconv](http://github.com/infused/ansel_iconv) project.
24
+ If you need ANSEL conversion in Ruby 1.8, see my [ansel_iconv](http://github.com/infused/ansel_iconv) project.
32
25
 
33
26
  ## Installation
34
27
 
@@ -54,9 +47,9 @@ encodings supported by the [Gedcom
54
47
  5.5](http://homepages.rootsweb.ancestry.com/~pmcbride/gedcom/55gctoc.htm)
55
48
  standard.
56
49
 
57
- ## LICENSE:
50
+ ## LICENSE
58
51
 
59
- Copyright (c) 2006-2019 8Keith Morrison <keithm@infused.org>
52
+ Copyright (c) 2006-2024 Keith Morrison <keithm@infused.org>
60
53
 
61
54
  Permission is hereby granted, free of charge, to any person obtaining
62
55
  a copy of this software and associated documentation files (the
data/ansel.gemspec CHANGED
@@ -1,23 +1,24 @@
1
1
  # encoding: ascii-8bit
2
2
 
3
- lib = File.expand_path('../lib/', __FILE__)
4
- $:.unshift lib unless $:.include?(lib)
3
+ lib = File.expand_path('lib/', __dir__)
4
+ $LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
5
5
  require 'ansel/version'
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = 'ansel'
9
9
  s.version = ANSEL::VERSION
10
- s.authors = ["Keith Morrison"]
10
+ s.authors = ['Keith Morrison']
11
11
  s.email = 'keithm@infused.org'
12
12
  s.homepage = 'http://github.com/infused/ansel'
13
13
  s.summary = 'Convert ANSEL encoded text to UTF-8'
14
14
  s.description = 'Convert ANSEL encoded text to UTF-8'
15
+ s.license = 'MIT'
15
16
 
16
17
  s.rdoc_options = ['--charset=UTF-8']
17
18
  s.extra_rdoc_files = ['README.md', 'CHANGELOG.md', 'LICENSE']
18
- s.files = Dir['[A-Z]*', '{lib,test}/**/*', 'ansel.gemspec']
19
- s.test_files = Dir.glob('test/**/*_test.rb')
19
+ s.files = Dir['README.md', 'CHANGELOG.md', 'LICENSE', 'lib/**/*', 'ansel.gemspec']
20
20
  s.require_paths = ['lib']
21
21
 
22
22
  s.required_rubygems_version = '>= 1.3.0'
23
+ s.required_ruby_version = '>= 3.1.0'
23
24
  end
@@ -18,7 +18,7 @@ module ANSEL
18
18
  scanner = StringScanner.new(string)
19
19
  until scanner.eos?
20
20
  byte = scanner.get_byte
21
- char = byte.unpack('C')[0]
21
+ char = byte.unpack1('C')
22
22
  char_hex = char.to_s(16).upcase
23
23
 
24
24
  case char
@@ -26,20 +26,21 @@ module ANSEL
26
26
  output << byte
27
27
  when 0x88..0xC8
28
28
  output << utf16_to_utf8(ANSI_TO_UTF16_MAP[char_hex] || ANSI_TO_UTF16_MAP['ERR'])
29
- last_byte = scanner.get_byte if scanner.check(/\00/)
29
+ scanner.get_byte if scanner.check(/\00/)
30
30
  when 0xE0..0xFB
31
31
  [2, 1, 0].each do |n| # try 3 bytes, then 2 bytes, then 1 byte
32
32
  bytes = [char_hex]
33
33
  scanner.peek(n).each_byte { |b| bytes << b.to_s(16).upcase }
34
34
  hex_key = bytes.join('+')
35
35
  next unless ANSI_TO_UTF16_MAP.key?(hex_key)
36
+
36
37
  output << utf16_to_utf8(ANSI_TO_UTF16_MAP[hex_key])
37
38
  n.times { scanner.get_byte }
38
39
  break
39
40
  end
40
41
  else
41
42
  output << utf16_to_utf8(ANSI_TO_UTF16_MAP['ERR'])
42
- scanner.get_byte if scanner.get_byte.unpack('C')[0] >= 0xE0 # ignore the next byte
43
+ scanner.get_byte if scanner.get_byte.unpack1('C') >= 0xE0 # ignore the next byte
43
44
  end
44
45
  end
45
46
 
data/lib/ansel/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # encoding: ascii-8bit
2
2
 
3
3
  module ANSEL
4
- VERSION = '2.0.2'
4
+ VERSION = '3.0.0'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ansel
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Morrison
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-30 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Convert ANSEL encoded text to UTF-8
14
14
  email: keithm@infused.org
@@ -20,22 +20,18 @@ extra_rdoc_files:
20
20
  - LICENSE
21
21
  files:
22
22
  - CHANGELOG.md
23
- - Gemfile
24
- - Gemfile.lock
25
- - Gemfile.travis
26
- - Gemfile.travis19
27
23
  - LICENSE
28
24
  - README.md
29
- - Rakefile
30
25
  - ansel.gemspec
31
26
  - lib/ansel.rb
32
27
  - lib/ansel/character_map.rb
33
28
  - lib/ansel/converter.rb
34
29
  - lib/ansel/version.rb
35
30
  homepage: http://github.com/infused/ansel
36
- licenses: []
31
+ licenses:
32
+ - MIT
37
33
  metadata: {}
38
- post_install_message:
34
+ post_install_message:
39
35
  rdoc_options:
40
36
  - "--charset=UTF-8"
41
37
  require_paths:
@@ -44,15 +40,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
44
40
  requirements:
45
41
  - - ">="
46
42
  - !ruby/object:Gem::Version
47
- version: '0'
43
+ version: 3.1.0
48
44
  required_rubygems_version: !ruby/object:Gem::Requirement
49
45
  requirements:
50
46
  - - ">="
51
47
  - !ruby/object:Gem::Version
52
48
  version: 1.3.0
53
49
  requirements: []
54
- rubygems_version: 3.0.1
55
- signing_key:
50
+ rubygems_version: 3.5.3
51
+ signing_key:
56
52
  specification_version: 4
57
53
  summary: Convert ANSEL encoded text to UTF-8
58
54
  test_files: []
data/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :development, :test do
6
- gem 'rubocop'
7
- gem 'rspec'
8
- end
data/Gemfile.lock DELETED
@@ -1,51 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ansel (2.0.1)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- ast (2.4.0)
10
- byebug (10.0.2)
11
- diff-lcs (1.2.5)
12
- jaro_winkler (1.5.2)
13
- parallel (1.13.0)
14
- parser (2.6.0.0)
15
- ast (~> 2.4.0)
16
- powerpack (0.1.2)
17
- rainbow (3.0.0)
18
- rspec (3.1.0)
19
- rspec-core (~> 3.1.0)
20
- rspec-expectations (~> 3.1.0)
21
- rspec-mocks (~> 3.1.0)
22
- rspec-core (3.1.7)
23
- rspec-support (~> 3.1.0)
24
- rspec-expectations (3.1.2)
25
- diff-lcs (>= 1.2.0, < 2.0)
26
- rspec-support (~> 3.1.0)
27
- rspec-mocks (3.1.3)
28
- rspec-support (~> 3.1.0)
29
- rspec-support (3.1.2)
30
- rubocop (0.63.1)
31
- jaro_winkler (~> 1.5.1)
32
- parallel (~> 1.10)
33
- parser (>= 2.5, != 2.5.1.1)
34
- powerpack (~> 0.1)
35
- rainbow (>= 2.2.2, < 4.0)
36
- ruby-progressbar (~> 1.7)
37
- unicode-display_width (~> 1.4.0)
38
- ruby-progressbar (1.10.0)
39
- unicode-display_width (1.4.1)
40
-
41
- PLATFORMS
42
- ruby
43
-
44
- DEPENDENCIES
45
- ansel!
46
- byebug
47
- rspec
48
- rubocop
49
-
50
- BUNDLED WITH
51
- 1.17.2
data/Gemfile.travis DELETED
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :development, :test do
6
- gem 'rspec'
7
- end
data/Gemfile.travis19 DELETED
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :development, :test do
6
- gem 'rspec'
7
- end
data/Rakefile DELETED
@@ -1,17 +0,0 @@
1
- # encoding: ascii-8bit
2
-
3
- require 'rubygems'
4
- require 'bundler/setup';
5
- Bundler.setup(:default, :development)
6
-
7
- require 'rspec/core/rake_task'
8
- RSpec::Core::RakeTask.new :spec do |t|
9
- t.rspec_opts = %w(--color)
10
- end
11
-
12
- task :default => :spec
13
-
14
- desc "Open an irb session preloaded with this library"
15
- task :console do
16
- sh "irb -rubygems -I lib -r ansel.rb"
17
- end