randwordjp 0.0.10 → 0.0.11
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/Gemfile +1 -0
- data/lib/randwordjp/version.rb +1 -1
- data/lib/randwordjp.rb +67 -17
- data/randwordjp.gemspec +5 -1
- data/spec/randwordjp_spec.rb +1 -0
- metadata +1 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0c2b21f8689fca5f9354b5ec9a6b14dd61fdd4e
|
4
|
+
data.tar.gz: 5e3bf5611d1f9525e48ee5896d0a5ed79d6f2ac0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6ee7aa47401586072a884a7ab47cc74e63532309f630a55852994dbe87441eabf05160f880f189ef007cc3aa630102ffe9180f2f9850205066a32dd23737163
|
7
|
+
data.tar.gz: 22c2a7e30aaf6f114236476f819147c9484de464cbb40f16f9467e40f1a02467cafd8f8e370934b78312e232a736d9a70d67be4b6f19f8b4b9a55f1ab9d32445
|
data/Gemfile
CHANGED
data/lib/randwordjp/version.rb
CHANGED
data/lib/randwordjp.rb
CHANGED
@@ -2,14 +2,23 @@
|
|
2
2
|
require 'randwordjp/version'
|
3
3
|
require 'date'
|
4
4
|
require 'yaml'
|
5
|
-
require 'sqlite3'
|
6
5
|
|
7
6
|
# Randwordjp
|
8
7
|
# ランダムで日本語文字列などを生成するライブラリとなります。
|
9
8
|
# can get random words(sentence).
|
10
9
|
module Randwordjp
|
10
|
+
@java_platform = false
|
11
|
+
if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
|
12
|
+
require 'jdbc/sqlite3'
|
13
|
+
Jdbc::SQLite3.load_driver
|
14
|
+
@jdbc_sqlite = 'jdbc:sqlite:'
|
15
|
+
@java_platform = true
|
16
|
+
@dbfile = 'lib/randwordjp.db'
|
17
|
+
else
|
18
|
+
require 'sqlite3'
|
19
|
+
@dbfile = 'lib/randwordjp.db'
|
20
|
+
end
|
11
21
|
@yamlfile = 'lib/randwordjp.yml'
|
12
|
-
@dbfile = 'lib/randwordjp.db'
|
13
22
|
|
14
23
|
# 半角数字の文字列を取得する
|
15
24
|
# @param [Integer] length 文字列長 # @return [String] lengthで指定した文字列長の数字文字列
|
@@ -136,29 +145,70 @@ module Randwordjp
|
|
136
145
|
# Hash型の苗字データを取得する
|
137
146
|
# @return [Hash] :kanji => 漢字名, :kana => 読み仮名
|
138
147
|
def self.myoji
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
148
|
+
table = 'myojilist'
|
149
|
+
if @java_platform
|
150
|
+
connection = java.sql.DriverManager.getConnection('jdbc:sqlite:lib/randwordjp.db')
|
151
|
+
statement = connection.createStatement()
|
152
|
+
sql = "select count(*) from #{table};"
|
153
|
+
rs = statement.executeQuery(sql)
|
154
|
+
rs.next
|
155
|
+
count = rs.getObject(1)
|
156
|
+
id = Random.rand(count)
|
157
|
+
sql = "select kanji,yomi from #{table} where id = #{id};"
|
158
|
+
rs = statement.executeQuery(sql)
|
159
|
+
rs.next
|
160
|
+
kanji = rs.getObject(1)
|
161
|
+
kana = rs.getObject(2)
|
162
|
+
connection.close
|
163
|
+
else
|
164
|
+
db = SQLite3::Database.new(@dbfile)
|
165
|
+
sql = "select count(*) from #{table};"
|
166
|
+
count = ((db.execute(sql))[0][0]).to_i
|
167
|
+
id = Random.rand(count)
|
168
|
+
sql = "select * from #{table} where id = #{id};"
|
169
|
+
data = db.execute(sql)
|
170
|
+
db.close
|
171
|
+
kanji = data[0][1]
|
172
|
+
kana = data[0][2]
|
173
|
+
end
|
174
|
+
{ kanji: kanji, kana: kana }
|
146
175
|
end
|
147
176
|
|
148
177
|
# Hash型の名前データを取得する
|
149
178
|
# genderは男性はMで女性はFになります。
|
150
179
|
# @return [Hash] :kanji => 漢字名, :kana => 読み仮名, :gender => 性別
|
151
180
|
def self.namae
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
181
|
+
table = 'namaelist'
|
182
|
+
if @java_platform
|
183
|
+
connection = java.sql.DriverManager.getConnection('jdbc:sqlite:lib/randwordjp.db')
|
184
|
+
statement = connection.createStatement()
|
185
|
+
sql = "select count(*) from #{table};"
|
186
|
+
rs = statement.executeQuery(sql)
|
187
|
+
rs.next
|
188
|
+
count = rs.getObject(1)
|
189
|
+
id = Random.rand(count)
|
190
|
+
sql = "select kanji,yomi,gender from #{table} where id = #{id};"
|
191
|
+
rs = statement.executeQuery(sql)
|
192
|
+
rs.next
|
193
|
+
kanji = rs.getObject(1)
|
194
|
+
kana = rs.getObject(2)
|
195
|
+
gender_base = rs.getObject(3)
|
196
|
+
connection.close
|
197
|
+
else
|
198
|
+
db = SQLite3::Database.new(@dbfile)
|
199
|
+
sql = "select count(*) from #{table};"
|
200
|
+
id = Random.rand(((db.execute(sql))[0][0]).to_i)
|
201
|
+
sql = "select * from #{table} where id = #{id};"
|
202
|
+
data = db.execute(sql)
|
203
|
+
kanji = data[0][1]
|
204
|
+
kana = data[0][2]
|
205
|
+
gender_base = data[0][3]
|
206
|
+
db.close
|
207
|
+
end
|
157
208
|
gender = 'M'
|
158
|
-
if
|
209
|
+
if gender_base == 2
|
159
210
|
gender = 'F'
|
160
211
|
end
|
161
|
-
|
162
|
-
{ kanji: data[0][1], kana: data[0][2], gender: gender }
|
212
|
+
{ kanji: kanji, kana: kana, gender: gender }
|
163
213
|
end
|
164
214
|
end
|
data/randwordjp.gemspec
CHANGED
@@ -18,8 +18,12 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
+
spec.add_dependency 'sqlite3' if $platform.to_s == 'ruby'
|
22
|
+
spec.add_dependency 'jdbc-sqlite3' if $platform.to_s == 'java'
|
23
|
+
|
21
24
|
spec.add_development_dependency 'bundler'
|
22
25
|
spec.add_development_dependency 'rake'
|
23
26
|
spec.add_development_dependency 'rspec'
|
24
|
-
spec.add_development_dependency 'sqlite3'
|
27
|
+
spec.add_development_dependency 'sqlite3' if $platform.to_s == 'ruby'
|
28
|
+
spec.add_development_dependency 'jdbc-sqlite3' if $platform.to_s == 'java'
|
25
29
|
end
|
data/spec/randwordjp_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: randwordjp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- inpwjp
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: sqlite3
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
description: get Japanese random words.
|
70
56
|
email:
|
71
57
|
- inpw@mua.biglobe.ne.jp
|