syamei 0.1.0 → 0.1.1

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: 1964e79f0545ff204316ba91d8481ffde0a4e9319100cbef1fca9a903b69db79
4
- data.tar.gz: f70a295490ac640e9b368b8cf5824ccbcd76f2537358c6a9c4b2d551cf54607e
3
+ metadata.gz: ad9bfdd1a3f854766e0ea4074d02c270408c69cf6ecd60b9ba97369a1895e24a
4
+ data.tar.gz: 5f2f1a78e9ace3727db62a4d2391c11b52a00eac34b904c18cebcdf368ce3296
5
5
  SHA512:
6
- metadata.gz: ea8df52e09b4f3f5bc0b1c33543d76862f0fc65305bfb655a3bc9860070a3319150575279265abaeaf3da23ace240070d2966b7d3adc13c5f178202bba472aaa
7
- data.tar.gz: 26d275fb6c472c9c20f1dcd3cf29d05b3eb542bd6e23ea6cae54d226b9bc7d939f84481d3d611fbb50275f342275001b6f9a05c5188f3c238aec91f4799df7f4
6
+ metadata.gz: 48511983df0b6b100974f2f96fba6db27691755cb92498763a0b299edf5d2cb17aecfc593d286d700e7507929e303867f88e0603fff42733a2341c7cdd2a75af
7
+ data.tar.gz: 239740786c955db32ce450f92b689ef3a67c416e25221f6fd6eab24219b46aba6cdeab5832dadaec39aa81d88727825c0f8675f0b1773d75cca23a883b6bf0d3
@@ -1,131 +1,38 @@
1
1
  notations:
2
- full:
3
- - '株式会社'
4
- - '有限会社'
5
- - '合名会社'
6
- - '合資会社'
7
- - '合同会社'
8
- - '医療法人社団'
9
- - '医療法人財団'
10
- - '医療法人'
11
- - '社会医療法人'
12
- - '財団法人'
13
- - '一般財団法人'
14
- - '公益財団法人'
15
- - '社団法人'
16
- - '一般社団法人'
17
- - '公益社団法人'
18
- - '宗教法人'
19
- - '学校法人'
20
- - '社会福祉法人'
21
- - '更生保護法人'
22
- - '相互会社'
23
- - '特定非営利活動法人'
24
- - '独立行政法人'
25
- - '地方独立行政法人'
26
- - '弁護士法人'
27
- - '有限責任中間法人'
28
- - '無限責任中間法人'
29
- - '行政書士法人'
30
- - '司法書士法人'
31
- - '税理士法人'
32
- - '国立大学法人'
33
- - '公立大学法人'
34
- - '農事組合法人'
35
- - '管理組合法人'
36
- - '社会保険労務士法人'
37
- - '営業所'
38
- - '出張所'
39
- abbreviation:
40
- - '㈱'
41
- - '\(株\)'
42
- - '㈲'
43
- - '\(有\)'
44
- - '\(名\)'
45
- - '\(資\)'
46
- - '\(同\)'
47
- - '\(医\)'
48
- - '\(財\)'
49
- - '\(一財\)'
50
- - '\(公財\)'
51
- - '\(社\)'
52
- - '\(一社\)'
53
- - '\(公社\)'
54
- - '\(宗\)'
55
- - '\(学\)'
56
- - '\(福\)'
57
- - '\(相\)'
58
- - '\(特非\)'
59
- - '\(独\)'
60
- - '\(地独\)'
61
- - '\(弁\)'
62
- - '\(行\)'
63
- - '\(司\)'
64
- - '\(税\)'
65
- - '\(中\)'
66
- - '\(大\)'
67
- - '\(営\)'
68
- - '\(出\)'
69
- kana:
70
- - 'カ\)'
71
- - '\(カ\)'
72
- - '\(カ'
73
- - 'ユ\)'
74
- - '\(ユ\)'
75
- - '\(ユ'
76
- - 'メ\)'
77
- - '\(メ\)'
78
- - '\(メ'
79
- - 'シ\)'
80
- - '\(シ\)'
81
- - '\(シ'
82
- - 'ド\)'
83
- - '\(ド\)'
84
- - '\(ド'
85
- - 'シユウ\)'
86
- - 'ガク\)'
87
- - 'フク\)'
88
- - 'ホゴ\)'
89
- - '\(ホゴ\)'
90
- - '\(ホゴ'
91
- - 'ソ\)'
92
- - '\(ソ\)'
93
- - '\(ソ'
94
- - 'トクヒ\)'
95
- - '\(トクヒ\)'
96
- - '\(トクヒ'
97
- - 'ドク\)'
98
- - '\(ドク\)'
99
- - '\(ドク'
100
- - 'チドク\)'
101
- - '\(チドク\)'
102
- - '\(チドク'
103
- - 'ベン\)'
104
- - '\(ベン\)'
105
- - '\(ベン'
106
- - 'ギヨ\)'
107
- - '\(ギヨ\)'
108
- - '\(ギヨ'
109
- - 'シホウ\)'
110
- - '\(シホウ\)'
111
- - '\(シホウ'
112
- - 'ゼイ\)'
113
- - '\(ゼイ\)'
114
- - '\(ゼイ'
115
- - 'ノウ\)'
116
- - '\(ノウ\)'
117
- - '\(ノウ'
118
- - 'カンリ\)'
119
- - '\(カンリ\)'
120
- - '\(カンリ'
121
- - 'ロウム\)'
122
- - '\(ロウム\)'
123
- - '\(ロウム'
124
- - '\(ダイ\)'
125
- - '\(ダイ'
126
- - 'エイ\)'
127
- - '\(エイ\)'
128
- - '\(エイ'
129
- - 'シユツ\)'
130
- - '\(シユツ\)'
131
- - '\(シユツ'
2
+ - ['出張所', '', '\(出\)', 'シユツ\)', '\(シユツ\)', '\(シユツ']
3
+ - ['管理組合法人', '', '', 'カンリ\)', '\(カンリ\)', '\(カンリ']
4
+ - ['司法書士法人', '', '\(司\)', 'シホウ\)', '\(シホウ\)', '\(シホウ']
5
+ - ['独立行政法人', '', '\(独\)', 'ドク\)', '\(ドク\)', '\(ドク']
6
+ - ['株式会社', '㈱', '\(株\)', 'カ\)', '\(カ\)', '\(カ']
7
+ - ['有限会社', '㈲', '\(有\)', 'ユ\)', '\(ユ\)', '\(ユ']
8
+ - ['合名会社', '', '\(名\)', 'メ\)', '\(メ\)', '\(メ']
9
+ - ['合資会社', '', '\(資\)', 'シ\)', '\(シ\)', '\(シ']
10
+ - ['合同会社', '', '\(同\)', 'ド\)', '\(ド\)', '\(ド']
11
+ - ['医療法人社団', '', '\(医\)', 'イ\)', '', '\(イ']
12
+ - ['医療法人財団', '', '\(医\)', 'イ\)', '', '\(イ']
13
+ - ['医療法人', '', '\(医\)', 'イ\)', '', '\(イ']
14
+ - ['社会医療法人', '', '\(医\)', 'イ\)', '', '\(イ']
15
+ - ['財団法人', '', '\(財\)', 'ザイ\)', '', '']
16
+ - ['一般財団法人', '', '\(一財\)', 'ザイ\)', '', '']
17
+ - ['公益財団法人', '', '\(公財\)', 'ザイ\)', '', '']
18
+ - ['社団法人', '', '\(社\)', 'シヤ\)', '', '']
19
+ - ['一般社団法人', '', '\(一社\)', 'シヤ\)', '', '']
20
+ - ['公益社団法人', '', '\(公社\)', 'シヤ\)', '', '']
21
+ - ['宗教法人', '', '\(宗\)', '', '', '']
22
+ - ['学校法人', '', '\(学\)', 'ガク\)', '', '']
23
+ - ['社会福祉法人', '', '\(福\)', 'フク\)', '', '']
24
+ - ['更生保護法人', '', '', 'ホゴ\)', '\(ホゴ\)', '\(ホゴ']
25
+ - ['相互会社', '', '\(相\)', 'ソ\)', '\(ソ\)', '\(ソ']
26
+ - ['特定非営利活動法人', '', '\(特非\)', 'トクヒ\)', '\(トクヒ\)', '\(トクヒ']
27
+ - ['地方独立行政法人', '', '\(地独\)', 'チドク\)', '\(チドク\)', '\(チドク']
28
+ - ['弁護士法人', '', '\(弁\)', 'ベン\)', '\(ベン\)', '\(ベン']
29
+ - ['有限責任中間法人', '', '\(中\)', 'チユウ\)', '\(チユウ\)', '\(チユウ']
30
+ - ['無限責任中間法人', '', '\(中\)', 'チユウ\)', '\(チユウ\)', '\(チユウ']
31
+ - ['行政書士法人', '', '\(行\)', 'ギヨ\)', '\(ギヨ\)', '\(ギヨ']
32
+ - ['税理士法人', '', '\(税\)', 'ゼイ\)', '\(ゼイ\)', '\(ゼイ']
33
+ - ['国立大学法人', '', '\(大\)', 'ダイ\)', '\(ダイ\)', '\(ダイ']
34
+ - ['公立大学法人', '', '\(大\)', 'ダイ\)', '\(ダイ\)', '\(ダイ']
35
+ - ['農事組合法人', '', '', 'ノウ\)', '\(ノウ\)', '\(ノウ']
36
+ - ['社会保険労務士法人', '', '', 'ロウム\)', '\(ロウム\)', '\(ロウム']
37
+ - ['営業所', '', '\(営\)', 'エイ\)', '\(エイ\)', '\(エイ']
38
+
@@ -4,21 +4,34 @@ require 'yaml'
4
4
  module Syamei
5
5
  class Error < StandardError; end
6
6
 
7
- NOTATION = YAML.load_file(File.expand_path(File.join('..', 'data', 'notations.yml'), __FILE__))['notations']['full'].join('|')
8
- ABBREVIATION = YAML.load_file(File.expand_path(File.join('..', 'data', 'notations.yml'), __FILE__))['notations']['abbreviation'].join('|')
9
- KANA = YAML.load_file(File.expand_path(File.join('..', 'data', 'notations.yml'), __FILE__))['notations']['kana'].join('|')
7
+ DATA = YAML.load_file(File.expand_path(File.join('..', 'data', 'notations.yml'), __FILE__))['notations']
8
+ NOTATION = DATA.map { |n| n[0] }.compact.reject(&:empty?).flatten.uniq
9
+ SPECIAL = DATA.map { |n| n[1] }.compact.reject(&:empty?).flatten.uniq
10
+ ABBREVIATION = DATA.map { |n| n[2] }.compact.reject(&:empty?).flatten.uniq
11
+ KANA_HEAD = DATA.map { |n| n[3] }.compact.reject(&:empty?).flatten.uniq
12
+ KANA_MIDDLE = DATA.map { |n| n[4] }.compact.reject(&:empty?).flatten.uniq
13
+ KANA_TAIL = DATA.map { |n| n[5] }.compact.reject(&:empty?).flatten.uniq
10
14
 
11
15
  COMPLEX_TYPE = {
12
- 0 => [NOTATION, ABBREVIATION, KANA].join('|'),
13
- 1 => NOTATION,
14
- 2 => ABBREVIATION,
15
- 3 => KANA
16
+ 0 => {
17
+ all: [NOTATION, SPECIAL, ABBREVIATION, KANA_HEAD, KANA_TAIL].join('|'),
18
+ head: [NOTATION, SPECIAL, ABBREVIATION, KANA_HEAD].join('|'),
19
+ tail: [NOTATION, SPECIAL, ABBREVIATION, KANA_TAIL].join('|')
20
+ },
21
+ 1 => NOTATION.join('|'),
22
+ 2 => SPECIAL.join('|'),
23
+ 3 => {
24
+ all: KANA_TAIL.join('|'),
25
+ head: KANA_HEAD.join('|'),
26
+ tail: KANA_TAIL.join('|')
27
+ }
16
28
  }.freeze
17
29
 
18
30
  # 前株の存在チェック
19
31
  def self.with_beginning?(name, type = 0)
20
32
  return false if name.nil? || name.empty?
21
33
 
34
+ return name.match?(/^(#{COMPLEX_TYPE[type][:head]}).*$/) if type.zero? || type == 3
22
35
  name.match?(/^(#{COMPLEX_TYPE[type]}).*$/)
23
36
  end
24
37
 
@@ -26,6 +39,7 @@ module Syamei
26
39
  def self.with_end?(name, type = 0)
27
40
  return false if name.nil? || name.empty?
28
41
 
42
+ return name.match?(/.*(#{COMPLEX_TYPE[type][:tail]})$/) if type.zero? || type == 3
29
43
  name.match?(/.*(#{COMPLEX_TYPE[type]})$/)
30
44
  end
31
45
 
@@ -40,6 +54,7 @@ module Syamei
40
54
  def self.with_beginning(name, type = 0)
41
55
  return nil if name.nil? || name.empty?
42
56
 
57
+ return name.gsub(/(#{COMPLEX_TYPE[type][:tail]})$/, '').strip if type.zero? || type == 3
43
58
  name.gsub(/(#{COMPLEX_TYPE[type]})$/, '').strip
44
59
  end
45
60
 
@@ -47,6 +62,7 @@ module Syamei
47
62
  def self.with_end(name, type = 0)
48
63
  return nil if name.nil? || name.empty?
49
64
 
65
+ return name.gsub(/^(#{COMPLEX_TYPE[type][:head]})/, '').strip if type.zero? || type == 3
50
66
  name.gsub(/^(#{COMPLEX_TYPE[type]})/, '').strip
51
67
  end
52
68
 
@@ -59,25 +75,14 @@ module Syamei
59
75
  name
60
76
  end
61
77
 
62
- # 前株と後株の置換
63
- # def self.replace_begin_to_end(name, type=0)
64
- # # notation
65
- # # 前株消す
66
- # # 後株に付与
67
- # end
68
-
69
- # 後株と前株の置換
70
- # def self.replace_end_to_begin(name, type=0)
71
- # # notation
72
- # # 後株消す
73
- # # 前株に付与
74
- # end
75
-
76
78
  def self.notation(name, type = 0)
79
+ return nil if name.nil? || name.empty?
80
+
81
+ return name[/(#{COMPLEX_TYPE[type][:all]})/, 1] if type.zero? || type == 3
77
82
  name[/(#{COMPLEX_TYPE[type]})/, 1]
78
83
  end
79
84
 
80
85
  def self.list
81
- COMPLEX_TYPE[0].gsub('|', ' ').gsub('\\', '')
86
+ COMPLEX_TYPE[0][:all].gsub('|', ' ').gsub('\\', '')
82
87
  end
83
88
  end
@@ -1,3 +1,3 @@
1
1
  module Syamei
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syamei
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shuhei Yamashita
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-16 00:00:00.000000000 Z
11
+ date: 2020-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -61,11 +61,6 @@ extra_rdoc_files: []
61
61
  files:
62
62
  - ".gitignore"
63
63
  - ".idea/.gitignore"
64
- - ".idea/inspectionProfiles/Project_Default.xml"
65
- - ".idea/misc.xml"
66
- - ".idea/modules.xml"
67
- - ".idea/syamei.iml"
68
- - ".idea/vcs.xml"
69
64
  - ".rakeTasks"
70
65
  - ".rspec"
71
66
  - ".ruby-version"