PersianNormalizer 1.0.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.
@@ -0,0 +1,51 @@
1
+ require_relative 'PersianNormalizer/version'
2
+ require_relative 'Normalizer'
3
+
4
+
5
+
6
+ class FarsiNormalizer
7
+ include Normalizer
8
+
9
+ def self.process(word, options = {})
10
+ new(word, options).process
11
+ end
12
+
13
+ def self.normalize(word, options = {})
14
+ new(word, options).normalize
15
+ end
16
+
17
+
18
+
19
+
20
+ attr_reader :word, :options, :excepts, :onlys
21
+
22
+ def initialize(word, options = {})
23
+ @word = word
24
+ @options = options
25
+
26
+ @onlys = []
27
+ @excepts = []
28
+ if options[:only]
29
+ @onlys = options[:only]
30
+ elsif options[:except]
31
+ @excepts = options[:except]
32
+ end
33
+ end
34
+
35
+ def process
36
+ normalize
37
+
38
+ end
39
+
40
+ private
41
+
42
+ def filter_rules(group)
43
+ if excepts.any?
44
+ group.reject { |k, _v| excepts.include?(k) }
45
+ elsif onlys.any?
46
+ group.select { |k, _v| onlys.include?(k) }
47
+ else
48
+ group
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,3 @@
1
+ module PersianNormalizer
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: PersianNormalizer
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - hellboy2010
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-11-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.17'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.17'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ description: PersianNormalizer is a Ruby gem to Normalize Persian text
56
+ email:
57
+ - m.phoenix92@yahoo.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".idea/PersianNormalizer.iml"
64
+ - ".idea/inspectionProfiles/Project_Default.xml"
65
+ - ".idea/misc.xml"
66
+ - ".idea/modules.xml"
67
+ - ".idea/vcs.xml"
68
+ - ".idea/workspace.xml"
69
+ - ".travis.yml"
70
+ - CODE_OF_CONDUCT.md
71
+ - Gemfile
72
+ - LICENSE.txt
73
+ - PersianNormalizer.gemspec
74
+ - README.md
75
+ - Rakefile
76
+ - bin/console
77
+ - bin/setup
78
+ - lib/CommonRegex.rb
79
+ - lib/Normalizer.rb
80
+ - lib/PersianNormalizer.rb
81
+ - lib/PersianNormalizer/version.rb
82
+ homepage: https://github.com/hellboy2010/PersianNormalizer
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 2.6.13
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: PersianNormalizer is a Ruby gem to Normalize Persian text
106
+ test_files: []