randwordjp 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
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