random_japanese_string 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,80 @@
1
+ - "ア"
2
+ - "イ"
3
+ - "ウ"
4
+ - "エ"
5
+ - "オ"
6
+ - "カ"
7
+ - "キ"
8
+ - "ク"
9
+ - "ケ"
10
+ - "コ"
11
+ - "サ"
12
+ - "シ"
13
+ - "ス"
14
+ - "セ"
15
+ - "ソ"
16
+ - "タ"
17
+ - "チ"
18
+ - "ツ"
19
+ - "テ"
20
+ - "ト"
21
+ - "ナ"
22
+ - "ニ"
23
+ - "ヌ"
24
+ - "ネ"
25
+ - "ノ"
26
+ - "ハ"
27
+ - "ヒ"
28
+ - "フ"
29
+ - "ヘ"
30
+ - "ホ"
31
+ - "マ"
32
+ - "ミ"
33
+ - "ム"
34
+ - "メ"
35
+ - "モ"
36
+ - "ヤ"
37
+ - "ユ"
38
+ - "ヨ"
39
+ - "ラ"
40
+ - "リ"
41
+ - "ル"
42
+ - "レ"
43
+ - "ロ"
44
+ - "ワ"
45
+ - "ヲ"
46
+ - "ン"
47
+ - "ガ"
48
+ - "ギ"
49
+ - "グ"
50
+ - "ゲ"
51
+ - "ゴ"
52
+ - "ザ"
53
+ - "ジ"
54
+ - "ズ"
55
+ - "ゼ"
56
+ - "ゾ"
57
+ - "ダ"
58
+ - "ヂ"
59
+ - "ヅ"
60
+ - "デ"
61
+ - "ド"
62
+ - "バ"
63
+ - "ビ"
64
+ - "ブ"
65
+ - "ベ"
66
+ - "ボ"
67
+ - "パ"
68
+ - "ピ"
69
+ - "プ"
70
+ - "ペ"
71
+ - "ポ"
72
+ - "ァ"
73
+ - "ィ"
74
+ - "ェ"
75
+ - "ォ"
76
+ - "ュ"
77
+ - "ャ"
78
+ - "ュ"
79
+ - "ョ"
80
+ - "ッ"
@@ -0,0 +1,42 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "random_japanese_string/version"
3
+ require "yaml"
4
+
5
+ class RandomJapaneseString
6
+ HIRA = YAML.load_file(File.expand_path(File.join('..', 'data', 'hiragana.yml'), __FILE__))
7
+ KATA = YAML.load_file(File.expand_path(File.join('..', 'data', 'katakana.yml'), __FILE__))
8
+ KANJI = YAML.load_file(File.expand_path(File.join('..', 'data', 'kanji.daily.yml'), __FILE__))
9
+ MIX = HIRA*15 + KATA*15 + KANJI
10
+
11
+ def self.hiragana size
12
+ HIRA.sample(size).join
13
+ end
14
+
15
+ def self.katakana size
16
+ KATA.sample(size).join
17
+ end
18
+
19
+ def self.kanji size
20
+ KANJI.sample(size).join
21
+ end
22
+
23
+ def self.generate size
24
+ MIX.sample(size).join
25
+ end
26
+
27
+ def hiragana size
28
+ HIRA.sample(size).join
29
+ end
30
+
31
+ def katakana size
32
+ KATA.sample(size).join
33
+ end
34
+
35
+ def kanji size
36
+ KANJI.sample(size).join
37
+ end
38
+
39
+ def generate size
40
+ MIX.sample(size).join
41
+ end
42
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class RandomJapaneseString
3
+ VERSION = "0.0.1"
4
+ end
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'random_japanese_string/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "random_japanese_string"
8
+ spec.version = RandomJapaneseString::VERSION
9
+ spec.authors = ["tcnksm"]
10
+ spec.email = ["nsd22843@gmail.com"]
11
+ spec.description = %q{Generate random Japanese string. }
12
+ spec.summary = %q{Generate random Japanese string in kanji, katakana, hiragana or mix.}
13
+ spec.homepage = "https://github.com/tcnksm/random_japanese_string"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec", ">= 2.13"
24
+ spec.add_development_dependency "guard-rspec"
25
+ spec.add_development_dependency "simplecov"
26
+ spec.add_development_dependency "moji"
27
+
28
+ end
@@ -0,0 +1,62 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require "spec_helper"
4
+
5
+ describe RandomJapaneseString do
6
+
7
+ describe "class method" do
8
+ describe ".hiragana()" do
9
+ subject { RandomJapaneseString.hiragana(8) }
10
+ its(:length) { should eq 8 }
11
+ it {should match(/^[\p{hiragana}]{8}$/)}
12
+ end
13
+
14
+ describe ".katakana()" do
15
+ subject { RandomJapaneseString.katakana(10) }
16
+ its(:length) { should eq 10}
17
+ it {should match(/^[\p{katakana}]{10}$/)}
18
+ end
19
+
20
+ describe ".kanji()" do
21
+ subject { RandomJapaneseString.kanji(5) }
22
+ its(:length) { should eq 5}
23
+ it {should match(/^[#{Moji.zen}]{5}$/)}
24
+ end
25
+
26
+ describe ".generate()" do
27
+ subject { RandomJapaneseString.generate(10) }
28
+ its(:length) { should eq 10}
29
+ it {should match(/^[#{Moji.zen}]{10}$/)}
30
+ end
31
+
32
+ end
33
+
34
+ describe "instance method" do
35
+
36
+ before { @rj = RandomJapaneseString.new }
37
+ describe "#hiragana()" do
38
+ subject { @rj.hiragana(30) }
39
+ its(:length) { should eq 30 }
40
+ it {should match(/^[\p{hiragana}]{30}$/)}
41
+ end
42
+
43
+ describe "#katakana()" do
44
+ subject { @rj.katakana(30) }
45
+ its(:length) { should eq 30}
46
+ it {should match(/^[\p{katakana}]{30}$/)}
47
+ end
48
+
49
+ describe "#kanji()" do
50
+ subject { @rj.kanji(30) }
51
+ its(:length) { should eq 30}
52
+ it {should match(/^[#{Moji.zen}]{30}$/)}
53
+ end
54
+
55
+ describe "#generate()" do
56
+ subject { @rj.generate(30) }
57
+ its(:length) { should eq 30}
58
+ it {should match(/^[#{Moji.zen}]{30}$/)}
59
+ end
60
+ end
61
+
62
+ end
@@ -0,0 +1,14 @@
1
+ require "moji"
2
+
3
+ # Code coverage
4
+ # See https://github.com/colszowka/simplecov
5
+ require 'simplecov'
6
+ SimpleCov.start
7
+
8
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
+ RSpec.configure do |config|
10
+ end
11
+
12
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
13
+ require 'random_japanese_string'
14
+
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: random_japanese_string
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - tcnksm
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-08-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.3'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.3'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '2.13'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '2.13'
62
+ - !ruby/object:Gem::Dependency
63
+ name: guard-rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: simplecov
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: moji
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: ! 'Generate random Japanese string. '
111
+ email:
112
+ - nsd22843@gmail.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - .travis.yml
118
+ - Gemfile
119
+ - Guardfile
120
+ - LICENSE.txt
121
+ - README.md
122
+ - Rakefile
123
+ - lib/data/hiragana.yml
124
+ - lib/data/kanji.daily.yml
125
+ - lib/data/katakana.yml
126
+ - lib/random_japanese_string.rb
127
+ - lib/random_japanese_string/version.rb
128
+ - random_japanese_string.gemspec
129
+ - spec/random_japanese_string_spec.rb
130
+ - spec/spec_helper.rb
131
+ homepage: https://github.com/tcnksm/random_japanese_string
132
+ licenses:
133
+ - MIT
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubyforge_project:
152
+ rubygems_version: 1.8.23
153
+ signing_key:
154
+ specification_version: 3
155
+ summary: Generate random Japanese string in kanji, katakana, hiragana or mix.
156
+ test_files:
157
+ - spec/random_japanese_string_spec.rb
158
+ - spec/spec_helper.rb