panayo 0.0.1 → 0.0.2
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 +4 -4
- data/lib/panayo.rb +4 -2
- data/lib/panayo/converter.rb +19 -4
- data/lib/panayo/version.rb +1 -1
- data/panayo.gemspec +2 -4
- data/spec/panayo_spec.rb +2 -0
- metadata +8 -22
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f12bab6c5b764e19358b6c880be553016f457819
|
|
4
|
+
data.tar.gz: ab7b733f5d5652a90dceba886315c4fd509ad1d8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c43e4289023406168ea9a4c0dca67ae801cc535bef58c37ac49be407b6eb1d028db8da8428176565f6480fc38108d1808a2fe20edca0293ced6fbff547654b1e
|
|
7
|
+
data.tar.gz: eaf5d510b7fddd17b101ea76f4da968c6fe0519aabffc2c8e40dee594cb25d6c681253c6d7a5efbc0621c81c060dfc5b5803b900a9e3fd3d3b4e8505335e49db
|
data/lib/panayo.rb
CHANGED
|
@@ -4,9 +4,11 @@ require "panayo/converter"
|
|
|
4
4
|
module Panayo
|
|
5
5
|
class << self
|
|
6
6
|
def say(text)
|
|
7
|
-
|
|
7
|
+
return if text.nil?
|
|
8
|
+
|
|
9
|
+
words = Panayo::Converter.to_kana(text)
|
|
10
|
+
words = Panayo::Converter.remove_dakuten(words)
|
|
8
11
|
words = Panayo::Converter.remove_handakuten(words)
|
|
9
|
-
words = Panayo::Converter.to_kana(words)
|
|
10
12
|
Panayo::Converter.to_hanayo(words)
|
|
11
13
|
end
|
|
12
14
|
end
|
data/lib/panayo/converter.rb
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
|
-
require 'unf'
|
|
2
1
|
require 'nkf'
|
|
3
2
|
|
|
4
3
|
module Panayo
|
|
5
4
|
class Converter
|
|
6
|
-
KANA = [*'ァ'..'ン']
|
|
7
5
|
# 濁点
|
|
8
6
|
DAKUTEN = [0x3099, 0x309b, 0xff9e]
|
|
9
7
|
# 半濁点
|
|
10
8
|
HANDAKUTEN = [0x309a, 0x309c, 0xff9f]
|
|
9
|
+
# 濁音
|
|
10
|
+
DAKUON = 'ガギグゲゴザジズゼゾダヂヅデドバビブベボヴ'
|
|
11
|
+
# 半濁音
|
|
12
|
+
HANDAKUON = 'パピプペポ'
|
|
13
|
+
# 片仮名
|
|
14
|
+
KANA = [*'ァ'..'ン']
|
|
15
|
+
# 変換
|
|
16
|
+
HENKAN_TABLE = {
|
|
17
|
+
'ガ' => 'カ', 'ギ' => 'キ', 'グ' => 'ク', 'ゲ' => 'ケ', 'ゴ' => 'コ',
|
|
18
|
+
'ザ' => 'サ', 'ジ' => 'シ', 'ズ' => 'ス', 'ゼ' => 'セ', 'ゾ' => 'ソ',
|
|
19
|
+
'ダ' => 'タ', 'ヂ' => 'チ', 'ヅ' => 'ツ', 'デ' => 'テ', 'ド' => 'ト',
|
|
20
|
+
'バ' => 'ハ', 'ビ' => 'ヒ', 'ブ' => 'フ', 'ベ' => 'ヘ', 'ボ' => 'ホ',
|
|
21
|
+
'ヴ' => 'ウ',
|
|
22
|
+
'パ' => 'ハ', 'ピ' => 'ヒ', 'プ' => 'フ', 'ペ' => 'ヘ', 'ポ' => 'ホ'
|
|
23
|
+
}
|
|
11
24
|
|
|
12
25
|
class << self
|
|
13
26
|
def remove_dakuten(text)
|
|
14
|
-
|
|
27
|
+
result = text.gsub(/[#{DAKUON}]/, HENKAN_TABLE)
|
|
28
|
+
(result.codepoints - DAKUTEN).pack("U*")
|
|
15
29
|
end
|
|
16
30
|
|
|
17
31
|
def remove_handakuten(text)
|
|
18
|
-
|
|
32
|
+
result = text.gsub(/[#{HANDAKUON}]/, HENKAN_TABLE)
|
|
33
|
+
(result.codepoints - HANDAKUTEN).pack("U*")
|
|
19
34
|
end
|
|
20
35
|
|
|
21
36
|
def to_kana(text)
|
data/lib/panayo/version.rb
CHANGED
data/panayo.gemspec
CHANGED
|
@@ -19,8 +19,6 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
spec.require_paths = ["lib"]
|
|
20
20
|
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
|
22
|
-
spec.add_development_dependency "rake"
|
|
23
|
-
spec.add_development_dependency "rspec"
|
|
24
|
-
|
|
25
|
-
spec.add_runtime_dependency "unf"
|
|
22
|
+
spec.add_development_dependency "rake", '>= 10.0'
|
|
23
|
+
spec.add_development_dependency "rspec", "~> 2.14"
|
|
26
24
|
end
|
data/spec/panayo_spec.rb
CHANGED
|
@@ -6,6 +6,8 @@ describe Panayo do
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
it 'say' do
|
|
9
|
+
expect(Panayo.say(nil)).to be nil
|
|
10
|
+
expect(Panayo.say('')).to eq('')
|
|
9
11
|
expect(Panayo.say('小泉花陽')).to eq('小泉花陽')
|
|
10
12
|
expect(Panayo.say('こいずみぱなよ')).to eq('コ゛イ゛ス゛ミ゛ハ゛ナ゛ヨ゛')
|
|
11
13
|
expect(Panayo.say('コイズミパナヨ')).to eq('コ゛イ゛ス゛ミ゛ハ゛ナ゛ヨ゛')
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: panayo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- hogewest
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-05-
|
|
11
|
+
date: 2014-05-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -30,42 +30,28 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
33
|
+
version: '10.0'
|
|
34
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: '0'
|
|
40
|
+
version: '10.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '2.14'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: unf
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :runtime
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
52
|
+
- - "~>"
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
54
|
+
version: '2.14'
|
|
69
55
|
description: Hanayo is very cute.
|
|
70
56
|
email:
|
|
71
57
|
- hogewest@gmail.com
|