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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c62f8438c99c064b93cfa7f5c783b35a49f8715c
4
- data.tar.gz: 5dc3c6250590e56a94829bbdceda002b12fccc07
3
+ metadata.gz: a0c2b21f8689fca5f9354b5ec9a6b14dd61fdd4e
4
+ data.tar.gz: 5e3bf5611d1f9525e48ee5896d0a5ed79d6f2ac0
5
5
  SHA512:
6
- metadata.gz: c00eca2d2251e6a43af8af7bc766e857183d06446a87777900b2bc4e91bced3c8f45d8c57d493c990956942101e3c80a2b554b66bd3c53c6ded2dee4829768d3
7
- data.tar.gz: 52aac51a9a084ae085fb690ce743c691e007df3ccc16d3ed53e527e29f4d116ed2d58c6e81592a304e4c4865cd9b37698f4d210796371e86648c61819f24c37c
6
+ metadata.gz: a6ee7aa47401586072a884a7ab47cc74e63532309f630a55852994dbe87441eabf05160f880f189ef007cc3aa630102ffe9180f2f9850205066a32dd23737163
7
+ data.tar.gz: 22c2a7e30aaf6f114236476f819147c9484de464cbb40f16f9467e40f1a02467cafd8f8e370934b78312e232a736d9a70d67be4b6f19f8b4b9a55f1ab9d32445
data/Gemfile CHANGED
@@ -5,3 +5,4 @@ gemspec
5
5
 
6
6
  gem 'guard-rspec'
7
7
  gem 'guard-rubocop'
8
+
@@ -2,5 +2,5 @@
2
2
  # ランダムで日本語文字列などを生成するライブラリとなります。
3
3
  # can get random words(sentence).
4
4
  module Randwordjp
5
- VERSION = '0.0.10'
5
+ VERSION = '0.0.11'
6
6
  end
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
- db = SQLite3::Database.new(@dbfile)
140
- sql = 'select count(*) from myojilist;'
141
- id = Random.rand(((db.execute(sql))[0][0]).to_i)
142
- sql = "select * from myojilist where id = #{id};"
143
- data = db.execute(sql)
144
- db.close
145
- { kanji: data[0][1], kana: data[0][2] }
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
- db = SQLite3::Database.new(@dbfile)
153
- sql = 'select count(*) from namaelist;'
154
- id = Random.rand(((db.execute(sql))[0][0]).to_i)
155
- sql = "select * from namaelist where id = #{id};"
156
- data = db.execute(sql)
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 data[0][3] == 2
209
+ if gender_base == 2
159
210
  gender = 'F'
160
211
  end
161
- db.close
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
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Randwordjp do
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.10
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