miyabi 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99b102c6ddb23856afc900c4b57c977c46743cf18cd5f97024ed9e6bd125ba60
4
- data.tar.gz: 2c72effe390716b9383c17cb9558128143b9134aca7fdb00ccef4884b7575ba3
3
+ metadata.gz: 7aa5c7a720c07edaca1106bb0d03fed3c3f2b878ac85d8e15f3caa0c81334e98
4
+ data.tar.gz: 49f88b1bf2389574bebe53bcf61daffd85db84b3fc6d52fd06bf11561079335a
5
5
  SHA512:
6
- metadata.gz: bba1ce74679da35563fe2aa2d9b3dbe2db46448674691d6d1fa81ccd44fd8118bbcb4522db47642f51c24ad367168a21a9db43b809f954aa608f690956b119b7
7
- data.tar.gz: f8eb09cb23bc4cf918e025cbe7bd085b9dfde100a7d564e43ce4dab795274277895ca7aca4069d5f8bdf1587cc19cc7a9aabbe39d5350b6f53856f02b16029ad
6
+ metadata.gz: 5c41fbd306450e975f89397db4083dac2619aa4530a2e0c8e0f76a5cc048ea8b9f872db3ea0fe5ebe90e6f60f9abfcb47f5de34fe39508a2f3270a0262da80ef
7
+ data.tar.gz: 320087ecb218ff8ebfa57d3d45372f5a172d259a557068f63b56d3312e81c40a597a53fa3091e8be51b4b3b6f3ed813f54b17205b97c28db6a2b8124f922e2e1
data/CHANGELOG.md CHANGED
@@ -9,6 +9,24 @@ The format is based on [Keep a Changelog][cl], and this project adheres to [Sema
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.3.0]
13
+
14
+ ### Added
15
+
16
+ * method aliases: `hiragana?`, `hira?`, `japanese?`, `katakana?`, `kanji?`, `roman?`, `to_katakana?`, and `to_hiragana`.
17
+
18
+ ### Others
19
+
20
+ * Add GNU Guix support.
21
+
22
+ ## [0.2.1]
23
+
24
+ ### Fixed
25
+
26
+ * `Miyabi::FormatString#to_roman`
27
+ * to properly handle two chars conversions.
28
+ * add 'ー' to '-' conversion.
29
+
12
30
  ## [0.2.0]
13
31
 
14
32
  Trivial changes:
data/README.md CHANGED
@@ -49,6 +49,8 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
49
49
 
50
50
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
51
51
 
52
+ If you use the GNU Guix, `guix shell` to enter the development environment, then `rake` to run tests.
53
+
52
54
  ## Contributing
53
55
 
54
56
  Bug reports and pull requests are welcome on GitHub at https://github.com/h-akaishi/miyabi. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -5,24 +5,36 @@ module Miyabi
5
5
  false
6
6
  end
7
7
 
8
+ alias hiragana? is_hira?
9
+ alias hira? is_hira?
10
+
8
11
  def is_japanese?
9
12
  return true if self =~ /\A(?:\p{Hiragana}|\p{Katakana}|[ー-]|[一-龠々])+\z/
10
13
  false
11
14
  end
12
15
 
16
+ alias japanese? is_japanese?
17
+
13
18
  def is_kana?
14
19
  return true if self =~ /\p{katakana}/
15
20
  false
16
21
  end
17
22
 
23
+ alias katakana? is_kana?
24
+ # alias kana? is_kana?
25
+
18
26
  def is_kanji?
19
27
  return true if self =~ /^[一-龥]+$/
20
28
  false
21
29
  end
22
30
 
31
+ alias kanji? is_kanji?
32
+
23
33
  def is_roman?
24
34
  return true if self =~ /^[a-zA-Z]+$/
25
35
  false
26
36
  end
37
+
38
+ alias roman? is_roman?
27
39
  end
28
40
  end
@@ -15,18 +15,68 @@ module Miyabi
15
15
  self.tr('ぁ-ん','ァ-ン')
16
16
  end
17
17
 
18
+ alias to_katakana to_kana
19
+
18
20
  def to_hira
19
21
  self.tr('ァ-ン','ぁ-ん')
20
22
  end
21
23
 
24
+ alias to_hiragana to_hira
25
+
22
26
  def to_roman
23
- s = self.to_kana
24
- s.gsub(/[#{s}]/, kana_roman)
27
+ s = to_kana
28
+ KATAKANA_TO_ROMAN_MAPPING.each do |kana, roman|
29
+ s.gsub!(kana, roman)
30
+ end
31
+ s
25
32
  end
26
33
 
27
- private
28
- def kana_roman
34
+ KATAKANA_TO_ROMAN_MAPPING =
29
35
  {
36
+ 'キャ' => 'kya',
37
+ 'キュ' => 'kyu',
38
+ 'キョ' => 'kyo',
39
+ 'シャ' => 'sha',
40
+ 'シュ' => 'shu',
41
+ 'ショ' => 'sho',
42
+ 'チャ' => 'cha',
43
+ 'チュ' => 'chu',
44
+ 'チョ' => 'cho',
45
+ 'ヂャ' => 'ja',
46
+ 'ヂュ' => 'ju',
47
+ 'ヂョ' => 'jo',
48
+ 'ニャ' => 'nya',
49
+ 'ニュ' => 'nyu',
50
+ 'ニョ' => 'nyo',
51
+ 'ヒャ' => 'hya',
52
+ 'ヒュ' => 'hyu',
53
+ 'ヒョ' => 'hyo',
54
+ 'ミャ' => 'mya',
55
+ 'ミュ' => 'myu',
56
+ 'ミョ' => 'myo',
57
+ 'リャ' => 'rya',
58
+ 'リュ' => 'ryu',
59
+ 'リョ' => 'ryo',
60
+ 'ギャ' => 'gya',
61
+ 'ギュ' => 'gyu',
62
+ 'ギョ' => 'gyo',
63
+ 'ジャ' => 'ja',
64
+ 'ジュ' => 'ju',
65
+ 'ジョ' => 'jo',
66
+ 'ビャ' => 'bya',
67
+ 'ビュ' => 'byu',
68
+ 'ビョ' => 'byo',
69
+ 'ピャ' => 'pya',
70
+ 'ピュ' => 'pyu',
71
+ 'ピョ' => 'pyo',
72
+ 'ヴァ' => 'va',
73
+ 'ヴィ' => 'vi',
74
+ 'ヴェ' => 've',
75
+ 'ヴォ' => 'vo',
76
+ 'ファ' => 'fa',
77
+ 'フィ' => 'fi',
78
+ 'フェ' => 'fe',
79
+ 'フォ' => 'fo',
30
80
  'ア' => 'a',
31
81
  'イ' => 'i',
32
82
  'ウ' => 'u',
@@ -100,52 +150,10 @@ module Miyabi
100
150
  'プ' => 'pu',
101
151
  'ペ' => 'pe',
102
152
  'ポ' => 'po',
103
- 'キャ' => 'kya',
104
- 'キュ' => 'kyu',
105
- 'キョ' => 'kyo',
106
- 'シャ' => 'sha',
107
- 'シュ' => 'shu',
108
- 'ショ' => 'sho',
109
- 'チャ' => 'cha',
110
- 'チュ' => 'chu',
111
- 'チョ' => 'cho',
112
- 'ヂャ' => 'ja',
113
- 'ヂュ' => 'ju',
114
- 'ヂョ' => 'jo',
115
- 'ニャ' => 'nya',
116
- 'ニュ' => 'nyu',
117
- 'ニョ' => 'nyo',
118
- 'ヒャ' => 'hya',
119
- 'ヒュ' => 'hyu',
120
- 'ヒョ' => 'hyo',
121
- 'ミャ' => 'mya',
122
- 'ミュ' => 'myu',
123
- 'ミョ' => 'myo',
124
- 'リャ' => 'rya',
125
- 'リュ' => 'ryu',
126
- 'リョ' => 'ryo',
127
- 'ギャ' => 'gya',
128
- 'ギュ' => 'gyu',
129
- 'ギョ' => 'gyo',
130
- 'ジャ' => 'ja',
131
- 'ジュ' => 'ju',
132
- 'ジョ' => 'jo',
133
- 'ビャ' => 'bya',
134
- 'ビュ' => 'byu',
135
- 'ビョ' => 'byo',
136
- 'ピャ' => 'pya',
137
- 'ピュ' => 'pyu',
138
- 'ピョ' => 'pyo',
139
- 'ヴァ' => 'va',
140
- 'ヴィ' => 'vi',
141
153
  'ヴ' => 'vu',
142
- 'ヴェ' => 've',
143
- 'ヴォ' => 'vo',
144
- 'ファ' => 'fa',
145
- 'フィ' => 'fi',
146
- 'フェ' => 'fe',
147
- 'フォ' => 'fo',
154
+ '' => '-',
148
155
  }
149
- end
156
+
157
+ private_constant :KATAKANA_TO_ROMAN_MAPPING
150
158
  end
151
159
  end
@@ -1,3 +1,3 @@
1
1
  module Miyabi
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
data/manifest.scm ADDED
@@ -0,0 +1,11 @@
1
+ (use-modules (guix packages)
2
+ (gnu packages ruby))
3
+
4
+ (define-public ruby-nokogiri'
5
+ (package
6
+ (inherit ruby-nokogiri)
7
+ (arguments
8
+ (cons* #:ruby ruby-3.2
9
+ (package-arguments ruby-nokogiri)))))
10
+
11
+ (packages->manifest (list ruby-nokogiri' ruby-rspec ruby-3.2))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miyabi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hironori Akaishi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-20 00:00:00.000000000 Z
11
+ date: 2023-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -64,6 +64,7 @@ files:
64
64
  - lib/miyabi/check_string.rb
65
65
  - lib/miyabi/format_string.rb
66
66
  - lib/miyabi/version.rb
67
+ - manifest.scm
67
68
  - miyabi.gemspec
68
69
  homepage: https://github.com/isy/miyabi
69
70
  licenses:
@@ -85,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
86
  - !ruby/object:Gem::Version
86
87
  version: '0'
87
88
  requirements: []
88
- rubygems_version: 3.4.6
89
+ rubygems_version: 3.4.10
89
90
  signing_key:
90
91
  specification_version: 4
91
92
  summary: kana,hira,kanji formatter