miyabi 0.1.2 → 0.2.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: 76bf59a957c90d9f6df20eda03f8db7e9847bb0c509fe25c2c71550b49d9ce5b
4
- data.tar.gz: b150b5eb7b8b4d33dad208156c6f9507e48a6162722f04d5b21c8f10bc27db92
3
+ metadata.gz: ff4cce51bc6a0dd5533d754d2df91cb70b79bacf43fef0d8bb543894931118a9
4
+ data.tar.gz: 5523168b8206d1fa59601abb7ce23c5886de7b5948fa0820dac28c96a5b4570f
5
5
  SHA512:
6
- metadata.gz: 155682d907e72f54cc2b8f13c7582a62b34c5cd0270b36479d31a3ba22714b0fa628b977f2a84ecee7781c471447ea6c785aac6cf8f834498497f694a0edaa20
7
- data.tar.gz: 801e29a7233f90a7f3b241e67137963ef370830c947aa88d7e143f79db3f72c20d051a5bd731286729031dcfffab42bd96278923ba910b7483b6894479b5f6bc
6
+ metadata.gz: 1acb6a56705b8f019171b624c1f68b78a2328118e0726cb054f10f19084c053f19722f65a0fc88b474a51e6c36b5cb22b36f193655a4f4049a8b10bd8c6241b7
7
+ data.tar.gz: 56c8c59c54ef513ffee048bd4342b79e7e4847b74ef639a11fe2613a53ba519ce96f7e45f3080e3abe5fe308579dc2ed40be621c24e275aec89727c43c017f42
data/.rubocop.yml ADDED
@@ -0,0 +1,18 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ NewCops: enable
5
+ TargetRubyVersion: 3.0
6
+
7
+ Style/FrozenStringLiteralComment:
8
+ Enabled: true
9
+ EnforcedStyle: never
10
+
11
+ Style/MutableConstant:
12
+ Enabled: false
13
+
14
+ Metrics/ClassLength:
15
+ Enabled: false
16
+
17
+ Metrics/MethodLength:
18
+ Enabled: false
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,28 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2023-05-13 02:36:18 UTC using RuboCop version 1.50.2.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 5
10
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
11
+ # NamePrefix: is_, has_, have_
12
+ # ForbiddenPrefixes: is_, has_, have_
13
+ # AllowedMethods: is_a?
14
+ # MethodDefinitionMacros: define_method, define_singleton_method
15
+ Naming/PredicateName:
16
+ Exclude:
17
+ - 'spec/**/*'
18
+ - 'lib/check.rb'
19
+
20
+ # Offense count: 3
21
+ # Configuration parameters: AllowedConstants.
22
+ Style/Documentation:
23
+ Exclude:
24
+ - 'spec/**/*'
25
+ - 'test/**/*'
26
+ - 'lib/check.rb'
27
+ - 'lib/format.rb'
28
+ - 'lib/miyabi.rb'
data/CHANGELOG.md CHANGED
@@ -9,11 +9,30 @@ The format is based on [Keep a Changelog][cl], and this project adheres to [Sema
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.2.1]
13
+
14
+ ### Fixed
15
+
16
+ * `Miyabi::FormatString#to_roman`
17
+ * to properly handle two chars conversions.
18
+ * add 'ー' to '-' conversion.
19
+
20
+ ## [0.2.0]
21
+
22
+ Trivial changes:
23
+
24
+ * Use net/http and Nokogiri instead of Mechanize.
25
+
26
+ ### Added
27
+
28
+ * modules to provide instance methods for `String`: `Miyabi::CheckString` and `Miyabi::FormatString`
29
+
12
30
  ## [0.1.2]
13
31
 
14
32
  Trivial changes:
15
33
 
16
34
  * Added this changelog file.
35
+ * Lint Ruby sources with RuboCop.
17
36
 
18
37
  ### Fixed
19
38
 
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- gemspec
3
+ gemspec
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "miyabi"
3
+ require 'bundler/setup'
4
+ require 'miyabi'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "miyabi"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start(__FILE__)
data/lib/check.rb CHANGED
@@ -1,26 +1,5 @@
1
- class String
2
- def is_hira?
3
- return true if self =~ /\p{hiragana}/
4
- false
5
- end
6
-
7
- def is_japanese?
8
- return true if self =~ /\A(?:\p{Hiragana}|\p{Katakana}|[ー-]|[一-龠々])+\z/
9
- false
10
- end
11
-
12
- def is_kana?
13
- return true if self =~ /\p{katakana}/
14
- false
15
- end
1
+ require_relative "miyabi/check_string"
16
2
 
17
- def is_kanji?
18
- return true if self =~ /^[一-龥]+$/
19
- false
20
- end
21
-
22
- def is_roman?
23
- return true if self =~ /^[a-zA-Z]+$/
24
- false
25
- end
26
- end
3
+ class String
4
+ include ::Miyabi::CheckString
5
+ end
data/lib/format.rb CHANGED
@@ -1,145 +1,5 @@
1
- require 'mechanize'
2
- class String
3
- def to_kanhira
4
- agent = Mechanize.new
5
- agent.get("https://yomikatawa.com/kanji/#{self}").search('#yomikata tbody tr td').first.inner_text
6
- end
7
-
8
- def to_kana
9
- self.tr('ぁ-ん','ァ-ン')
10
- end
11
-
12
- def to_hira
13
- self.tr('ァ-ン','ぁ-ん')
14
- end
15
-
16
- def to_roman
17
- s = self.to_kana
18
- s.gsub(/[#{s}]/, kana_roman)
19
- end
20
-
21
- private
22
- def kana_roman
23
- {
24
- 'ア' => 'a',
25
- 'イ' => 'i',
26
- 'ウ' => 'u',
27
- 'エ' => 'e',
28
- 'オ' => 'o',
29
- 'カ' => 'ka',
30
- 'キ' => 'ki',
31
- 'ク' => 'ku',
32
- 'ケ' => 'ke',
33
- 'コ' => 'ko',
34
- 'サ' => 'sa',
35
- 'シ' => 'shi',
36
- 'ス' => 'su',
37
- 'セ' => 'se',
38
- 'ソ' => 'so',
39
- 'タ' => 'ta',
40
- 'チ' => 'chi',
41
- 'ツ' => 'tsu',
42
- 'テ' => 'te',
43
- 'ト' => 'to',
44
- 'ナ' => 'na',
45
- 'ニ' => 'ni',
46
- 'ヌ' => 'nu',
47
- 'ネ' => 'ne',
48
- 'ノ' => 'no',
49
- 'ハ' => 'ha',
50
- 'ヒ' => 'hi',
51
- 'フ' => 'fu',
52
- 'ヘ' => 'he',
53
- 'ホ' => 'ho',
54
- 'マ' => 'ma',
55
- 'ミ' => 'mi',
56
- 'ム' => 'mu',
57
- 'メ' => 'me',
58
- 'モ' => 'mo',
59
- 'ヤ' => 'ya',
60
- 'ユ' => 'yu',
61
- 'ヨ' => 'yo',
62
- 'ラ' => 'ra',
63
- 'リ' => 'ri',
64
- 'ル' => 'ru',
65
- 'レ' => 're',
66
- 'ロ' => 'ro',
67
- 'ワ' => 'wa',
68
- 'ヰ' => 'i',
69
- 'ヱ' => 'e',
70
- 'ヲ' => 'o',
71
- 'ン' => 'n',
72
- 'ガ' => 'ga',
73
- 'ギ' => 'gi',
74
- 'グ' => 'gu',
75
- 'ゲ' => 'ge',
76
- 'ゴ' => 'go',
77
- 'ザ' => 'za',
78
- 'ジ' => 'ji',
79
- 'ズ' => 'zu',
80
- 'ゼ' => 'ze',
81
- 'ゾ' => 'zo',
82
- 'ダ' => 'da',
83
- 'ヂ' => 'ji',
84
- 'ヅ' => 'zu',
85
- 'デ' => 'de',
86
- 'ド' => 'do',
87
- 'バ' => 'ba',
88
- 'ビ' => 'bi',
89
- 'ブ' => 'bu',
90
- 'ベ' => 'be',
91
- 'ボ' => 'bo',
92
- 'パ' => 'pa',
93
- 'ピ' => 'pi',
94
- 'プ' => 'pu',
95
- 'ペ' => 'pe',
96
- 'ポ' => 'po',
97
- 'キャ' => 'kya',
98
- 'キュ' => 'kyu',
99
- 'キョ' => 'kyo',
100
- 'シャ' => 'sha',
101
- 'シュ' => 'shu',
102
- 'ショ' => 'sho',
103
- 'チャ' => 'cha',
104
- 'チュ' => 'chu',
105
- 'チョ' => 'cho',
106
- 'ヂャ' => 'ja',
107
- 'ヂュ' => 'ju',
108
- 'ヂョ' => 'jo',
109
- 'ニャ' => 'nya',
110
- 'ニュ' => 'nyu',
111
- 'ニョ' => 'nyo',
112
- 'ヒャ' => 'hya',
113
- 'ヒュ' => 'hyu',
114
- 'ヒョ' => 'hyo',
115
- 'ミャ' => 'mya',
116
- 'ミュ' => 'myu',
117
- 'ミョ' => 'myo',
118
- 'リャ' => 'rya',
119
- 'リュ' => 'ryu',
120
- 'リョ' => 'ryo',
121
- 'ギャ' => 'gya',
122
- 'ギュ' => 'gyu',
123
- 'ギョ' => 'gyo',
124
- 'ジャ' => 'ja',
125
- 'ジュ' => 'ju',
126
- 'ジョ' => 'jo',
127
- 'ビャ' => 'bya',
128
- 'ビュ' => 'byu',
129
- 'ビョ' => 'byo',
130
- 'ピャ' => 'pya',
131
- 'ピュ' => 'pyu',
132
- 'ピョ' => 'pyo',
133
- 'ヴァ' => 'va',
134
- 'ヴィ' => 'vi',
135
- 'ヴ' => 'vu',
136
- 'ヴェ' => 've',
137
- 'ヴォ' => 'vo',
138
- 'ファ' => 'fa',
139
- 'フィ' => 'fi',
140
- 'フェ' => 'fe',
141
- 'フォ' => 'fo',
142
- }
143
- end
1
+ require_relative "miyabi/format_string"
144
2
 
3
+ class String
4
+ include ::Miyabi::FormatString
145
5
  end
@@ -0,0 +1,28 @@
1
+ module Miyabi
2
+ module CheckString
3
+ def is_hira?
4
+ return true if self =~ /\p{hiragana}/
5
+ false
6
+ end
7
+
8
+ def is_japanese?
9
+ return true if self =~ /\A(?:\p{Hiragana}|\p{Katakana}|[ー-]|[一-龠々])+\z/
10
+ false
11
+ end
12
+
13
+ def is_kana?
14
+ return true if self =~ /\p{katakana}/
15
+ false
16
+ end
17
+
18
+ def is_kanji?
19
+ return true if self =~ /^[一-龥]+$/
20
+ false
21
+ end
22
+
23
+ def is_roman?
24
+ return true if self =~ /^[a-zA-Z]+$/
25
+ false
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,155 @@
1
+ require 'net/http'
2
+ require 'nokogiri'
3
+
4
+ module Miyabi
5
+ module FormatString
6
+ def to_kanhira
7
+ http = Net::HTTP.new('yomikatawa.com', 443)
8
+ http.use_ssl = true
9
+ path = File.join('/kanji', self)
10
+ html = http.get(path).body
11
+ Nokogiri::HTML(html).search('#yomikata tbody tr td').first.inner_text
12
+ end
13
+
14
+ def to_kana
15
+ self.tr('ぁ-ん','ァ-ン')
16
+ end
17
+
18
+ def to_hira
19
+ self.tr('ァ-ン','ぁ-ん')
20
+ end
21
+
22
+ def to_roman
23
+ s = to_kana
24
+ KATAKANA_TO_ROMAN_MAPPING.each do |kana, roman|
25
+ s.gsub!(kana, roman)
26
+ end
27
+ s
28
+ end
29
+
30
+ KATAKANA_TO_ROMAN_MAPPING =
31
+ {
32
+ 'キャ' => 'kya',
33
+ 'キュ' => 'kyu',
34
+ 'キョ' => 'kyo',
35
+ 'シャ' => 'sha',
36
+ 'シュ' => 'shu',
37
+ 'ショ' => 'sho',
38
+ 'チャ' => 'cha',
39
+ 'チュ' => 'chu',
40
+ 'チョ' => 'cho',
41
+ 'ヂャ' => 'ja',
42
+ 'ヂュ' => 'ju',
43
+ 'ヂョ' => 'jo',
44
+ 'ニャ' => 'nya',
45
+ 'ニュ' => 'nyu',
46
+ 'ニョ' => 'nyo',
47
+ 'ヒャ' => 'hya',
48
+ 'ヒュ' => 'hyu',
49
+ 'ヒョ' => 'hyo',
50
+ 'ミャ' => 'mya',
51
+ 'ミュ' => 'myu',
52
+ 'ミョ' => 'myo',
53
+ 'リャ' => 'rya',
54
+ 'リュ' => 'ryu',
55
+ 'リョ' => 'ryo',
56
+ 'ギャ' => 'gya',
57
+ 'ギュ' => 'gyu',
58
+ 'ギョ' => 'gyo',
59
+ 'ジャ' => 'ja',
60
+ 'ジュ' => 'ju',
61
+ 'ジョ' => 'jo',
62
+ 'ビャ' => 'bya',
63
+ 'ビュ' => 'byu',
64
+ 'ビョ' => 'byo',
65
+ 'ピャ' => 'pya',
66
+ 'ピュ' => 'pyu',
67
+ 'ピョ' => 'pyo',
68
+ 'ヴァ' => 'va',
69
+ 'ヴィ' => 'vi',
70
+ 'ヴェ' => 've',
71
+ 'ヴォ' => 'vo',
72
+ 'ファ' => 'fa',
73
+ 'フィ' => 'fi',
74
+ 'フェ' => 'fe',
75
+ 'フォ' => 'fo',
76
+ 'ア' => 'a',
77
+ 'イ' => 'i',
78
+ 'ウ' => 'u',
79
+ 'エ' => 'e',
80
+ 'オ' => 'o',
81
+ 'カ' => 'ka',
82
+ 'キ' => 'ki',
83
+ 'ク' => 'ku',
84
+ 'ケ' => 'ke',
85
+ 'コ' => 'ko',
86
+ 'サ' => 'sa',
87
+ 'シ' => 'shi',
88
+ 'ス' => 'su',
89
+ 'セ' => 'se',
90
+ 'ソ' => 'so',
91
+ 'タ' => 'ta',
92
+ 'チ' => 'chi',
93
+ 'ツ' => 'tsu',
94
+ 'テ' => 'te',
95
+ 'ト' => 'to',
96
+ 'ナ' => 'na',
97
+ 'ニ' => 'ni',
98
+ 'ヌ' => 'nu',
99
+ 'ネ' => 'ne',
100
+ 'ノ' => 'no',
101
+ 'ハ' => 'ha',
102
+ 'ヒ' => 'hi',
103
+ 'フ' => 'fu',
104
+ 'ヘ' => 'he',
105
+ 'ホ' => 'ho',
106
+ 'マ' => 'ma',
107
+ 'ミ' => 'mi',
108
+ 'ム' => 'mu',
109
+ 'メ' => 'me',
110
+ 'モ' => 'mo',
111
+ 'ヤ' => 'ya',
112
+ 'ユ' => 'yu',
113
+ 'ヨ' => 'yo',
114
+ 'ラ' => 'ra',
115
+ 'リ' => 'ri',
116
+ 'ル' => 'ru',
117
+ 'レ' => 're',
118
+ 'ロ' => 'ro',
119
+ 'ワ' => 'wa',
120
+ 'ヰ' => 'i',
121
+ 'ヱ' => 'e',
122
+ 'ヲ' => 'o',
123
+ 'ン' => 'n',
124
+ 'ガ' => 'ga',
125
+ 'ギ' => 'gi',
126
+ 'グ' => 'gu',
127
+ 'ゲ' => 'ge',
128
+ 'ゴ' => 'go',
129
+ 'ザ' => 'za',
130
+ 'ジ' => 'ji',
131
+ 'ズ' => 'zu',
132
+ 'ゼ' => 'ze',
133
+ 'ゾ' => 'zo',
134
+ 'ダ' => 'da',
135
+ 'ヂ' => 'ji',
136
+ 'ヅ' => 'zu',
137
+ 'デ' => 'de',
138
+ 'ド' => 'do',
139
+ 'バ' => 'ba',
140
+ 'ビ' => 'bi',
141
+ 'ブ' => 'bu',
142
+ 'ベ' => 'be',
143
+ 'ボ' => 'bo',
144
+ 'パ' => 'pa',
145
+ 'ピ' => 'pi',
146
+ 'プ' => 'pu',
147
+ 'ペ' => 'pe',
148
+ 'ポ' => 'po',
149
+ 'ヴ' => 'vu',
150
+ 'ー' => '-',
151
+ }
152
+
153
+ private_constant :KATAKANA_TO_ROMAN_MAPPING
154
+ end
155
+ end
@@ -1,3 +1,3 @@
1
1
  module Miyabi
2
- VERSION = "0.1.2"
2
+ VERSION = '0.2.1'
3
3
  end
data/lib/miyabi.rb CHANGED
@@ -1,6 +1,6 @@
1
- require "miyabi/version"
2
- require "format"
3
- require "check"
1
+ require_relative 'miyabi/version'
2
+ require_relative 'format'
3
+ require_relative 'check'
4
4
 
5
5
  module Miyabi
6
6
  end
data/miyabi.gemspec CHANGED
@@ -1,26 +1,25 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "miyabi/version"
3
+ require 'miyabi/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = "miyabi"
6
+ spec.name = 'miyabi'
8
7
  spec.version = Miyabi::VERSION
9
- spec.authors = ["Hironori Akaishi"]
10
- spec.email = ["ah.gm3622@gmail.com"]
8
+ spec.authors = ['Hironori Akaishi']
9
+ spec.email = ['ah.gm3622@gmail.com']
11
10
 
12
- spec.summary = %q{kana,hira,kanji formatter}
13
- spec.description = %q{Format Japanese characters}
14
- spec.homepage = ""
15
- spec.license = "MIT"
11
+ spec.summary = 'kana,hira,kanji formatter'
12
+ spec.description = 'Format Japanese characters'
13
+ spec.homepage = 'https://github.com/isy/miyabi'
14
+ spec.license = 'MIT'
15
+ spec.metadata['rubygems_mfa_required'] = 'true'
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
- spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
20
+ spec.require_paths = ['lib']
23
21
 
24
- spec.add_development_dependency "rspec", "~> 3.12"
25
- spec.add_dependency "mechanize", "~> 2.9"
22
+ spec.required_ruby_version = '>= 3.0'
23
+ spec.add_dependency 'nokogiri', '~> 1.14'
24
+ spec.add_development_dependency 'rspec', '~> 3.12'
26
25
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miyabi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hironori Akaishi
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-09 00:00:00.000000000 Z
11
+ date: 2023-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.12'
20
- type: :development
19
+ version: '1.14'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.12'
26
+ version: '1.14'
27
27
  - !ruby/object:Gem::Dependency
28
- name: mechanize
28
+ name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.9'
34
- type: :runtime
33
+ version: '3.12'
34
+ type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.9'
40
+ version: '3.12'
41
41
  description: Format Japanese characters
42
42
  email:
43
43
  - ah.gm3622@gmail.com
@@ -47,6 +47,8 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - ".gitignore"
49
49
  - ".rspec"
50
+ - ".rubocop.yml"
51
+ - ".rubocop_todo.yml"
50
52
  - ".travis.yml"
51
53
  - CHANGELOG.md
52
54
  - CODE_OF_CONDUCT.md
@@ -59,12 +61,15 @@ files:
59
61
  - lib/check.rb
60
62
  - lib/format.rb
61
63
  - lib/miyabi.rb
64
+ - lib/miyabi/check_string.rb
65
+ - lib/miyabi/format_string.rb
62
66
  - lib/miyabi/version.rb
63
67
  - miyabi.gemspec
64
- homepage: ''
68
+ homepage: https://github.com/isy/miyabi
65
69
  licenses:
66
70
  - MIT
67
- metadata: {}
71
+ metadata:
72
+ rubygems_mfa_required: 'true'
68
73
  post_install_message:
69
74
  rdoc_options: []
70
75
  require_paths:
@@ -73,14 +78,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
78
  requirements:
74
79
  - - ">="
75
80
  - !ruby/object:Gem::Version
76
- version: '0'
81
+ version: '3.0'
77
82
  required_rubygems_version: !ruby/object:Gem::Requirement
78
83
  requirements:
79
84
  - - ">="
80
85
  - !ruby/object:Gem::Version
81
86
  version: '0'
82
87
  requirements: []
83
- rubygems_version: 3.4.6
88
+ rubygems_version: 3.4.10
84
89
  signing_key:
85
90
  specification_version: 4
86
91
  summary: kana,hira,kanji formatter