ya_kansuji 0.1.0.pre.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +21 -13
- data/lib/ya_kansuji/core_refine.rb +2 -3
- data/lib/ya_kansuji/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c656f63ea94bda4d45c761b6069382c8114b120ebfeef6d55d80834ab5afa81c
|
4
|
+
data.tar.gz: 288269c2187031293ab0b719a120519bc52ba3182b844333d82dbaab204b588a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c91c48a86ddfb27e5b7e8958b5a03c9403daf8f6ab9896ab74de107e016145ecec1abaa853e45faaa00a66eea44d2a6b40e7e1830fc5d5e771f2339a86b7ff6e
|
7
|
+
data.tar.gz: 0be580e33f96d9cdfaf4a7bc7983dcbf7dbb061e4f1ddfc58dd78a6c7beb83f0302787fa5ef0558e341986581305f6555e554d75f5cc50806342413648121a2f
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# TODO: THIS GEM IS STILL
|
1
|
+
# TODO: THIS GEM IS STILL BETA VERSION.
|
2
2
|
|
3
3
|
# YaKansuji - もう一つの (やりすぎ) ruby 漢数字ライブラリ
|
4
4
|
|
@@ -11,7 +11,7 @@ Yet another (ultimate) Japanese Kansuji library for ruby.
|
|
11
11
|
|
12
12
|
YaKansuji は ruby 用の日本語の漢数字ライブラリです。 和暦ライブラリの [wareki](https://github.com/sugi/wareki) から派生していますが、アラビア数字混じりの漢数字表記など、もう少し多彩な表現を数値と相互変換することができます。
|
13
13
|
|
14
|
-
|
14
|
+
現状のサポートは日本語で万進な10進数だけです。歴史的に使われたことのあった万万進や他の漢字圏の漢数字はサポートしていません。
|
15
15
|
|
16
16
|
## 機能 / Features
|
17
17
|
|
@@ -69,11 +69,11 @@ YaKansuji.to_kan(12340005, :judic_h) # => "1234万0005"
|
|
69
69
|
|
70
70
|
現在あるフォーマッタは以下のとおりです。
|
71
71
|
|
72
|
-
* simple - 標準 (例: 千二百三十四万五)
|
73
|
-
* TODO
|
74
|
-
* TODO
|
75
|
-
*
|
76
|
-
* TODO
|
72
|
+
* `simple` - 標準 (例: 千二百三十四万五)
|
73
|
+
* TODO ~~`gov` - 「公用文作成の要領」方式 (100億, 30万円 / 5,000)~~
|
74
|
+
* TODO ~~`lawyer` - 行政司法協会方式 (1,200億 / 2億58万6,300)~~
|
75
|
+
* TODO ~~`judic_v` - 裁判判例縦書き方式 (一二万〇〇五六)~~
|
76
|
+
* TODO ~~`judic_h` - 最高裁判例横書き方式 (5万0539)~~
|
77
77
|
|
78
78
|
#### 独自フォーマッタ
|
79
79
|
|
@@ -94,12 +94,12 @@ YaKansuji.to_kan(123, :hoge) # => "たくさん"
|
|
94
94
|
|
95
95
|
### 標準クラス拡張
|
96
96
|
|
97
|
-
標準では YaKansuji
|
97
|
+
標準では YaKansuji の特異メソッドを直接呼ぶことで使用できますが、短く書く場合、必要応じてビルトインクラス (String, Integer) の拡張を使うことができます。
|
98
98
|
|
99
99
|
クラス拡張では `String#to_i` を置き換え、 `Integer#to_kan` を追加します。
|
100
|
-
|
100
|
+
拡張の方法は、Refinements と直接拡張の好きな方を選択できます。
|
101
101
|
|
102
|
-
#### Refinements による拡張
|
102
|
+
#### [Refinements](https://docs.ruby-lang.org/en/2.6.0/syntax/refinements_rdoc.html) による拡張
|
103
103
|
|
104
104
|
`YaKansuji::CoreRefine` を using すると、 `String#to_i` を置き換え、 `Integer#to_kan` を追加します。
|
105
105
|
|
@@ -112,9 +112,18 @@ puts "二万".to_i # => 20000
|
|
112
112
|
puts 20000.to_kan #= > "二万"
|
113
113
|
```
|
114
114
|
|
115
|
+
ちなみに、 `to_i` に base が渡された場合は、漢数字が解釈されずにビルトインクラスのものが呼ばれます。
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
using YaKansuji::CoreRefine
|
119
|
+
|
120
|
+
puts "12万".to_i # => 120000
|
121
|
+
puts "12万".to_i(16) # => 18
|
122
|
+
```
|
123
|
+
|
115
124
|
#### メソッド上書き
|
116
125
|
|
117
|
-
Refinements
|
126
|
+
Refinements を使わずに、全域でビルトインクラスを上書きしたい場合は `ya_kansuji/core_ext` を読み込んでください。*これは破壊的にコアライブラリのメソッドを置き換えるため、影響範囲に注意して下さい。*
|
118
127
|
上書きや提供されるメソッドは Refinements と同じです。
|
119
128
|
|
120
129
|
```ruby
|
@@ -129,7 +138,7 @@ gem 'ya_kansuji', require: 'ya_kansuji/core_ext'
|
|
129
138
|
|
130
139
|
## Contributing
|
131
140
|
|
132
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/sugi/
|
141
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/sugi/ya\_kansuji.
|
133
142
|
|
134
143
|
## License
|
135
144
|
|
@@ -138,4 +147,3 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
138
147
|
## Author
|
139
148
|
|
140
149
|
Tatsuki Sugiura <sugi@nemui.org>
|
141
|
-
\\
|
@@ -6,12 +6,11 @@ require 'ya_kansuji'
|
|
6
6
|
module YaKansuji
|
7
7
|
module CoreRefine
|
8
8
|
refine String do
|
9
|
-
alias_method :_to_i_ya_kansuji_orig, :to_i unless defined?(_to_i_ya_kansuji_orig)
|
10
9
|
def to_i(base = nil)
|
11
10
|
if base.nil? || base == :kan || base == :kansuji
|
12
11
|
YaKansuji.to_i self
|
13
12
|
else
|
14
|
-
|
13
|
+
super base
|
15
14
|
end
|
16
15
|
end
|
17
16
|
end
|
@@ -22,4 +21,4 @@ module YaKansuji
|
|
22
21
|
end
|
23
22
|
end
|
24
23
|
end
|
25
|
-
end
|
24
|
+
end
|
data/lib/ya_kansuji/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ya_kansuji
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuki Sugiura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -84,9 +84,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: 2.0.0
|
85
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
requirements: []
|
91
91
|
rubyforge_project:
|
92
92
|
rubygems_version: 2.7.6.2
|