forgery_ja 0.0.1 → 0.1.0
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.
- data/.gitignore +1 -0
- data/.yardoc/checksums +8 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/Gemfile +5 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +22 -1
- data/lib/forgery_ja/constant.rb +3 -1
- data/lib/forgery_ja/forgery_ja/address.rb +0 -1
- data/lib/forgery_ja/forgery_ja/monetary.rb +6 -2
- data/lib/forgery_ja/forgery_ja/name.rb +71 -23
- data/lib/forgery_ja/forgery_ja_api.rb +1 -0
- data/lib/forgery_ja/version.rb +2 -1
- data/spec/forgery_ja/name_spec.rb +43 -13
- metadata +6 -3
- data/lib/forgery_ja/forgery_ja_railtie.rb +0 -0
data/.gitignore
CHANGED
data/.yardoc/checksums
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
lib/forgery_ja/version.rb cb80b1a6ef92bef543bfdf913f12a381ded58b9f
|
2
|
+
lib/forgery_ja/constant.rb 725f1d5eb24f6d568d7d14b69ccc6780364cc343
|
3
|
+
lib/forgery_ja/forgery_ja.rb 4bcbfc592564edff42dc21ce66f9a914057d1593
|
4
|
+
lib/forgery_ja/forgery_ja_api.rb a6e0908d17ff65c2ed9d63bf321126d5d555e95f
|
5
|
+
lib/forgery_ja/forgery_ja/date.rb fdc36502d38430114900f76c3bcbdab272c1bf1a
|
6
|
+
lib/forgery_ja/forgery_ja/name.rb 3a3b61f87f1b935399a515ab151085aa2ac53488
|
7
|
+
lib/forgery_ja/forgery_ja/address.rb 38ab2111b036e38f5b2513f37b689121dfb96742
|
8
|
+
lib/forgery_ja/forgery_ja/monetary.rb bbaa75332899e9b2a26ceabb61c577b319ef2a82
|
Binary file
|
data/.yardoc/proxy_types
ADDED
Binary file
|
data/Gemfile
CHANGED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2011 NAMAKESUGI
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
CHANGED
@@ -1,4 +1,25 @@
|
|
1
1
|
require 'bundler'
|
2
2
|
Bundler::GemHelper.install_tasks
|
3
3
|
|
4
|
-
require 'rspec'
|
4
|
+
require 'rspec/core'
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
7
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
8
|
+
end
|
9
|
+
|
10
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
11
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
12
|
+
spec.rcov = true
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'yard'
|
16
|
+
require 'yard/rake/yardoc_task'
|
17
|
+
YARD::Rake::YardocTask.new do |t|
|
18
|
+
t.files = ['lib/forgery_ja/**/*.rb']
|
19
|
+
t.options = []
|
20
|
+
t.options << '--debug' << '--verbose' if $trace
|
21
|
+
end
|
22
|
+
|
23
|
+
task :default => :spec
|
24
|
+
|
25
|
+
|
data/lib/forgery_ja/constant.rb
CHANGED
@@ -11,7 +11,9 @@ class ForgeryJa::Monetary < Forgery::Monetary
|
|
11
11
|
options[:format] % money(options)
|
12
12
|
end
|
13
13
|
|
14
|
-
#
|
14
|
+
# Create Random number
|
15
|
+
# defaut 0 to 1000
|
16
|
+
# @param Hash options
|
15
17
|
# @option options [Fixnum] :max (1000) 金額の最大値
|
16
18
|
# @option options [Fixnum] :min (0) 金額の最小値
|
17
19
|
# @return Fixnum
|
@@ -23,7 +25,9 @@ class ForgeryJa::Monetary < Forgery::Monetary
|
|
23
25
|
end
|
24
26
|
|
25
27
|
# popularity in Japan
|
26
|
-
#
|
28
|
+
# 日本においてポピュラーな数値を生成します
|
29
|
+
# 適当実装ですので1980, 19800,などの数値になります
|
30
|
+
# @param Hash options
|
27
31
|
# @option options [Fixnum] :digit (4) 金額の桁
|
28
32
|
# @return Fixnum
|
29
33
|
def self.popularity_money(options={})
|
@@ -1,49 +1,97 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
+
# ForgeryJa::Name
|
3
|
+
# 日本語の名前関連のダミーデータを生成します
|
4
|
+
# 一部を除き引数に:to => ForgeryJa::KANA等を指定するとその指定した形式で出力されます
|
5
|
+
# @example
|
6
|
+
# ForgeryJa[:name].last_name #=> "佐藤"
|
7
|
+
# ForgeryJa[:name].last_name(:to => ForgeryJa::KANA) #=> "サトウ"
|
8
|
+
# ForgeryJa[:name].last_name(:to => ForgeryJa::ARRAY) #=> ["佐藤", "さとう", "サトウ", "サトウ", "sato"]
|
2
9
|
class ForgeryJa::Name < Forgery::Name
|
3
10
|
# Returns LastName in Japanese
|
4
|
-
#
|
5
|
-
#
|
6
|
-
#
|
7
|
-
#
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
# Forgery[:name_ja].last_name(nil) #=> ["佐藤", "さとう", "サトウ", "サトウ", "sato"]
|
12
|
-
def self.last_name(ret_type=ForgeryJa::KANJI)
|
13
|
-
parse(dictionaries[:last_names_ja].random, ret_type)
|
11
|
+
# 日本語の名字を返します
|
12
|
+
# * 辞書ファイル : last_names_ja
|
13
|
+
# @param Hash options
|
14
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
15
|
+
def self.last_name(options={})
|
16
|
+
options = default_options(options)
|
17
|
+
parse(dictionaries[:last_names_ja].random, options[:to])
|
14
18
|
end
|
15
19
|
|
16
|
-
|
17
|
-
|
20
|
+
# Returns FirstName in Japanese
|
21
|
+
# 日本語の名前を返します
|
22
|
+
# @param Hash options
|
23
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
24
|
+
def self.first_name(options={})
|
25
|
+
options = default_options(options)
|
26
|
+
parse([dictionaries[:male_first_names_ja], dictionaries[:female_first_names_ja]].random.random, options[:to])
|
18
27
|
end
|
19
28
|
|
20
|
-
|
21
|
-
|
29
|
+
# Returns FullName in Japanese
|
30
|
+
# 日本語のフルネームを返します
|
31
|
+
# @param Hash options
|
32
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
33
|
+
def self.full_name(options={})
|
34
|
+
options = default_options(options)
|
35
|
+
"#{self.last_name(options)} #{self.first_name(options)}"
|
22
36
|
end
|
23
37
|
|
24
|
-
|
25
|
-
|
38
|
+
# Returns Male FirstName in Japanese
|
39
|
+
# 日本語の男性の名前を返します
|
40
|
+
# * 辞書ファイル : male_first_names_ja
|
41
|
+
# @param Hash options
|
42
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
43
|
+
def self.male_first_name(options={})
|
44
|
+
options = default_options(options)
|
45
|
+
parse(dictionaries[:male_first_names_ja].random, options[:to])
|
26
46
|
end
|
27
47
|
|
28
|
-
|
29
|
-
|
48
|
+
# Returns Female FirstName in Japanese
|
49
|
+
# 日本語の女性の名前を返します
|
50
|
+
# * 辞書ファイル : female_first_names_ja
|
51
|
+
# @param Hash options
|
52
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
53
|
+
def self.female_first_name(options={})
|
54
|
+
options = default_options(options)
|
55
|
+
parse(dictionaries[:female_first_names_ja].random, options[:to])
|
30
56
|
end
|
31
57
|
|
32
|
-
|
33
|
-
|
58
|
+
# Returns CompanyName in Japanese
|
59
|
+
# 日本語の企業名を返します
|
60
|
+
# 利用している企業は上場企業から適当に抽出しています
|
61
|
+
# * 辞書ファイル : company_names_ja
|
62
|
+
# @param Hash options
|
63
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
64
|
+
def self.company_name(options={})
|
65
|
+
options = default_options(options)
|
66
|
+
parse(dictionaries[:company_names_ja].random, options[:to])
|
34
67
|
end
|
35
68
|
|
36
|
-
|
37
|
-
|
69
|
+
# Returns JobTitle in Japanese
|
70
|
+
# 日本語の職業名を返します
|
71
|
+
# * 辞書ファイル : job_titles_ja
|
72
|
+
# @param Hash options
|
73
|
+
# @option options [Fixnum] :to (ForgeryJa::KANJI) 生成する文字の種類を指定します
|
74
|
+
def self.job_title(options={})
|
75
|
+
options = default_options(options)
|
76
|
+
parse(dictionaries[:job_titles_ja].random, options[:to])
|
38
77
|
end
|
39
78
|
|
79
|
+
# Returns NameTitle in Japanese
|
80
|
+
# 日本語の敬称名を返します
|
81
|
+
# * 辞書ファイル : name_titles_ja
|
82
|
+
# * optionの指定はできません
|
40
83
|
def self.title
|
41
84
|
dictionaries[:name_titles_ja].random
|
42
85
|
end
|
43
86
|
|
44
87
|
private
|
88
|
+
# merge option
|
89
|
+
def self.default_options(option)
|
90
|
+
{:to => ForgeryJa::KANJI}.merge(option)
|
91
|
+
end
|
92
|
+
# parse dictionaries data
|
45
93
|
def self.parse(str, ret_type)
|
46
94
|
strs = str.split(' ')
|
47
|
-
ret_type ?
|
95
|
+
ret_type ? strs[ret_type] : strs
|
48
96
|
end
|
49
97
|
end
|
data/lib/forgery_ja/version.rb
CHANGED
@@ -4,23 +4,53 @@ require 'spec_helper'
|
|
4
4
|
describe ForgeryJa::Name do
|
5
5
|
describe ".last_name" do
|
6
6
|
context "名字(漢字)が返る" do
|
7
|
-
subject { ForgeryJa(:name).last_name(ForgeryJa::KANJI) }
|
8
|
-
it { should match /^[
|
7
|
+
subject { ForgeryJa(:name).last_name(:to => ForgeryJa::KANJI) }
|
8
|
+
it { should match /^[^A-Za-zア-ンァ-ョッー゚゙・]+$/ }
|
9
9
|
end
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
end
|
11
|
+
describe ".first_name" do
|
12
|
+
context "名前(漢字)が返る" do
|
13
|
+
subject { ForgeryJa(:name).first_name(:to => ForgeryJa::KANJI) }
|
14
|
+
it { should match /^[^A-Za-zア-ンァ-ョッー゚゙・]+$/ }
|
13
15
|
end
|
14
|
-
|
15
|
-
|
16
|
-
|
16
|
+
end
|
17
|
+
describe ".male_first_name" do
|
18
|
+
context "名前(ひらがな)が返る" do
|
19
|
+
subject { ForgeryJa(:name).male_first_name(:to => ForgeryJa::HIRA) }
|
20
|
+
it { should match /^[あ-んが-ぼぁ-ょゎっー]+$/ }
|
17
21
|
end
|
18
|
-
|
19
|
-
|
20
|
-
|
22
|
+
end
|
23
|
+
describe ".female_first_name" do
|
24
|
+
context "名前(カタカナ)が返る" do
|
25
|
+
subject { ForgeryJa(:name).female_first_name(:to => ForgeryJa::KANA) }
|
26
|
+
it { should match /^[ア-ンガ-ボァ-ョヮッー]+$/ }
|
21
27
|
end
|
22
|
-
|
23
|
-
|
28
|
+
end
|
29
|
+
describe ".full_name" do
|
30
|
+
context "フルネーム(漢字)が返る" do
|
31
|
+
subject { ForgeryJa(:name).full_name(:to => ForgeryJa::KANJI) }
|
32
|
+
it { should match /^[^A-Za-zア-ンァ-ョッー゚゙・]+ [^A-Za-zア-ンァ-ョッー゚゙・]+$/ }
|
33
|
+
end
|
34
|
+
context "フルネーム(ひらがな)が返る" do
|
35
|
+
subject { ForgeryJa(:name).full_name(:to => ForgeryJa::HIRA) }
|
36
|
+
it { should match /^[あ-んが-ぼぁ-ょゎっー]+ [あ-んが-ぼぁ-ょゎっー]+$/ }
|
37
|
+
end
|
38
|
+
context "フルネーム(カタカナ)が返る" do
|
39
|
+
subject { ForgeryJa(:name).full_name(:to => ForgeryJa::KANA) }
|
40
|
+
it { should match /^[ア-ンガ-ボァ-ョヮッー]+ [ア-ンガ-ボァ-ョヮッー]+$/ }
|
41
|
+
end
|
42
|
+
context "フルネーム(半角カタカナ)が返る" do
|
43
|
+
subject { ForgeryJa(:name).full_name(:to => ForgeryJa::H_KANA) }
|
44
|
+
it { should match /^[ア-ンァ-ョッー゚゙・]+ [ア-ンァ-ョッー゚゙・]+$/ }
|
45
|
+
end
|
46
|
+
context "フルネーム(ローマ字)が返る" do
|
47
|
+
subject { ForgeryJa(:name).full_name(:to => ForgeryJa::ROMA) }
|
48
|
+
it { should match /^[a-zA-Z-]+ [a-zA-Z-]+$/ }
|
49
|
+
end
|
50
|
+
end
|
51
|
+
describe ".company_name" do
|
52
|
+
context "企業名が返る" do
|
53
|
+
subject { ForgeryJa(:name).company_name(:to => ForgeryJa::KANJI) }
|
24
54
|
it { should.is_a?(String) }
|
25
55
|
end
|
26
56
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: forgery_ja
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0
|
5
|
+
version: 0.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- namakesugi
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-06-
|
13
|
+
date: 2011-06-06 00:00:00 +09:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -46,8 +46,12 @@ extra_rdoc_files: []
|
|
46
46
|
|
47
47
|
files:
|
48
48
|
- .gitignore
|
49
|
+
- .yardoc/checksums
|
50
|
+
- .yardoc/objects/root.dat
|
51
|
+
- .yardoc/proxy_types
|
49
52
|
- Gemfile
|
50
53
|
- Guardfile
|
54
|
+
- MIT-LICENSE
|
51
55
|
- README.markdown
|
52
56
|
- Rakefile
|
53
57
|
- forgery_ja.gemspec
|
@@ -67,7 +71,6 @@ files:
|
|
67
71
|
- lib/forgery_ja/forgery_ja/monetary.rb
|
68
72
|
- lib/forgery_ja/forgery_ja/name.rb
|
69
73
|
- lib/forgery_ja/forgery_ja_api.rb
|
70
|
-
- lib/forgery_ja/forgery_ja_railtie.rb
|
71
74
|
- lib/forgery_ja/version.rb
|
72
75
|
- spec/forgery_ja/address_spec.rb
|
73
76
|
- spec/forgery_ja/date_spec.rb
|
File without changes
|