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 CHANGED
@@ -2,3 +2,4 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+ doc/*
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
Binary file
data/Gemfile CHANGED
@@ -3,6 +3,11 @@ source "http://rubygems.org"
3
3
  # Specify your gem's dependencies in forgery_ja.gemspec
4
4
  gem 'forgery'
5
5
 
6
+ group :development do
7
+ gem 'yard'
8
+ gem 'rdiscount'
9
+ end
10
+
6
11
  group :development, :test do
7
12
  gem 'rspec-rails'
8
13
 
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
+
@@ -8,5 +8,7 @@ class ForgeryJa
8
8
  # Define RETURN_TYPE : Half Katakana
9
9
  H_KANA = 3
10
10
  # Define RETURN_TYPE : Romaji
11
- ROMA = 4
11
+ ROMA = 4
12
+ # Define RETURN_TYPE : Array
13
+ ARRAY = 5
12
14
  end
@@ -1,4 +1,3 @@
1
1
  # coding: utf-8
2
- # Extensions Forgery::Date
3
2
  class ForgeryJa::Address < Forgery::Address
4
3
  end
@@ -11,7 +11,9 @@ class ForgeryJa::Monetary < Forgery::Monetary
11
11
  options[:format] % money(options)
12
12
  end
13
13
 
14
- # @params Hash options
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
- # @params Hash options
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
- # @params ret_type [Fixnum] 戻す形を指定します
5
- # @example
6
- # Forgery[:name_ja].last_name #=> "佐藤"
7
- # Forgery[:name_ja].last_name(Forgery::NameJa::HIRA) #=> "さとう"
8
- # Forgery[:name_ja].last_name(Forgery::NameJa::KANA) #=> "サトウ"
9
- # Forgery[:name_ja].last_name(Forgery::NameJa::H_KANA) #=> "サトウ" = half kana
10
- # Forgery[:name_ja].last_name(Forgery::NameJa::ROMA) #=> "sato"
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
- def self.first_name(ret_type=ForgeryJa::KANJI)
17
- parse([dictionaries[:male_first_names_ja], dictionaries[:female_first_names_ja]].random.random, ret_type)
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
- def self.full_name(ret_type=ForgeryJa::KANJI)
21
- "#{self.last_name(ret_type)} #{self.first_name(ret_type)}"
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
- def self.male_first_name(ret_type=ForgeryJa::KANJI)
25
- parse(dictionaries[:male_first_names_ja].random, ret_type)
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
- def self.female_first_name(ret_type=ForgeryJa::KANJI)
29
- parse(dictionaries[:female_first_names_ja].random, ret_type)
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
- def self.company_name(ret_type=ForgeryJa::KANJI)
33
- parse(dictionaries[:company_names_ja].random, ret_type)
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
- def self.job_title(ret_type=ForgeryJa::KANJI)
37
- parse(dictionaries[:job_titles_ja].random, ret_type)
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 ? str[ret_type] : strs
95
+ ret_type ? strs[ret_type] : strs
48
96
  end
49
97
  end
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+ # ForgeryJa Api
2
3
  def ForgeryJa(forgery, method=nil, *args)
3
4
  klass = "ForgeryJa::#{forgery.to_s.camelize}".constantize
4
5
  if method
@@ -1,3 +1,4 @@
1
1
  class ForgeryJa
2
- VERSION = "0.0.1"
2
+ # version number
3
+ VERSION = "0.1.0"
3
4
  end
@@ -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 /^[^あ-んa-zア-ンアーン]+$/ }
7
+ subject { ForgeryJa(:name).last_name(:to => ForgeryJa::KANJI) }
8
+ it { should match /^[^A-Za-zア-ンァ-ョッー゚゙・]+$/ }
9
9
  end
10
- context "名字(ひらがな)が返る" do
11
- subject { ForgeryJa(:name).last_name(ForgeryJa::HIRA) }
12
- it { should.is_a?(String) }
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
- context "名字(カタカナ)が返る" do
15
- subject { ForgeryJa(:name).last_name(ForgeryJa::KANA) }
16
- it { should.is_a?(String) }
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
- context "名字(半角カタカナ)が返る" do
19
- subject { ForgeryJa(:name).last_name(ForgeryJa::H_KANA) }
20
- it { should.is_a?(String) }
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
- context "名字(ローマ字)が返る" do
23
- subject { ForgeryJa(:name).last_name(ForgeryJa::ROMA) }
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.1
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-05 00:00:00 +09:00
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