words-to-numbers 0.1.0 → 0.2.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: bb2a3a11a0db559b47d77da18ba46e6577ea3d3caa581eb0999e44b7406c9990
4
- data.tar.gz: a896de1dde1fa8b30bba9acc4f450a0590eea38c9df3a15da4005f6716fbfde9
3
+ metadata.gz: 6d4e2deb152a4a25f5abfd8408a9e045e259fdfcb5629cc242bab1f09070ef59
4
+ data.tar.gz: 636afa1bb92764f070dfcc16c4ec9cb57601737a61870f1388358df464ef2430
5
5
  SHA512:
6
- metadata.gz: 031e30b86e28cd01690a2805296d423ca313d2270d4abc3d6fb88627c047decaf8f1ef52bde007d4b809c4528883c0467467528d97df15e7013d3abea507004d
7
- data.tar.gz: 67112f1d414c5c14751128aa00637d6d112940b16ea5f609bcb953bdca5a17f6e5af617b12a4357c9076e2162593243825218b390b9c52faed749e7296fe3ff1
6
+ metadata.gz: bbd34690f468825348d3c0bf2013dd4511207f4969bf853eb5187ba5773a770fdebb36781722dffa1fb02f1949fb1831f186330a0b9c0d135a4a0a0f80f93671
7
+ data.tar.gz: 8e5a51f3a2b1507d148a1017e38cc73ddbb92a7ec24610b6619a4d34bed33dd5140867f46e2d9a31641ea5cb15b5250b2cb71caec137e4aa468dcaeb49758ebd
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.2.0] - 2023-09-23
2
+
3
+ - Fixed issue with matching pure unicode strings like "0❹①²3𝟑" to be numbers like "041233"
4
+
1
5
  ## [0.1.0] - 2023-09-23
2
6
 
3
7
  - Initial release
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- words-to-numbers (0.1.0)
4
+ words-to-numbers (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WordsToNumbers
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -16,13 +16,12 @@ module WordsToNumbers
16
16
  BLACKLIST_SINGULAR_WORDS = ['a']
17
17
 
18
18
  def self.translate_words_to_numbers(text)
19
- pattern = /(?:\d+|\b(?:#{ALL_WORDS.keys.join('|')})\b|\p{Nd}+)/i
19
+ pattern = /(?:\d+|\b(?:#{ALL_WORDS.keys.join('|')})\b|\p{N})/i
20
20
  numbers = []
21
21
 
22
- text.downcase.scan(pattern) do |match|
22
+ text.scan(pattern) do |match|
23
23
  match = match.to_s.downcase
24
24
  if ALL_WORDS.keys.include?(match.to_s)
25
-
26
25
  number = ALL_WORDS[match]
27
26
  numbers << number if number && !BLACKLIST_SINGULAR_WORDS.include?(match)
28
27
  else
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/words-to-numbers/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "words-to-numbers"
7
+ spec.version = WordsToNumbers::VERSION
8
+ spec.authors = ["Niko Roberts"]
9
+ spec.email = ["niko@tasboa.com"]
10
+
11
+ spec.summary = "Extract numbers from words in text"
12
+ spec.description = "Extract numbers from words in text"
13
+ spec.homepage = "https://github.com/nikoroberts/words-to-numbers"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 2.6.0"
16
+
17
+ # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = spec.homepage
21
+ spec.metadata["changelog_uri"] = spec.homepage + "/CHANGELOG.md"
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
+ end
29
+ end
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ["lib"]
33
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: words-to-numbers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Niko Roberts
@@ -33,6 +33,7 @@ files:
33
33
  - lib/words-to-numbers/words/raw_numbers.yml
34
34
  - lib/words-to-numbers/words/unicode.yml
35
35
  - sig/words/to/numbers.rbs
36
+ - words-to-numbers.gemspec
36
37
  homepage: https://github.com/nikoroberts/words-to-numbers
37
38
  licenses:
38
39
  - MIT