chinese_faker 0.0.1 → 0.0.3

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # ChineseFaker
1
+ # Chinese Faker
2
2
 
3
- TODO: Write a gem description
3
+ It's a handy gem for generating Chinese fake identity.
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,11 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ ``` ruby
22
+ ChineseFaker::Name.name #=> "劉志偉"
23
+
24
+ ChineseFaker::Job.title #=> "軟體工程師"
25
+ ```
22
26
 
23
27
  ## Contributing
24
28
 
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Bernie Chiu"]
10
10
  spec.email = ["bernie_chiu@hotmail.com"]
11
11
  spec.description = %q{A gem that allows to generate random Chinese identities}
12
- spec.summary = %q{Call the gem module by each proper method to execute}
13
- spec.homepage = ""
12
+ spec.summary = %q{Call the gem module by each proper method to generate}
13
+ spec.homepage = "https://github.com/nerdExpo/chinese_faker"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -18,6 +18,8 @@ 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('i18n', '~> 0.5')
22
+
21
23
  spec.add_development_dependency "bundler", "~> 1.3"
22
24
  spec.add_development_dependency "rake"
23
25
  end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ module ChineseFaker
3
+
4
+ class Job < Base
5
+ TITLES = %w[學生 醫生 軟體工程師 老師 牙醫 律師 外交官 室內設計師 外科醫師 建築師 機師 檢察官]
6
+
7
+ class << self
8
+ def title; fetch('job.title'); end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+ module ChineseFaker
3
+
4
+ class Name < Base
5
+
6
+ class << self
7
+ def name(opt = { with_title: false })
8
+ parse('name.name', opt[:with_title])
9
+ end
10
+
11
+ def first_name; fetch('name.first_name'); end
12
+ def last_name; fetch('name.last_name'); end
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module ChineseFaker
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/chinese_faker.rb CHANGED
@@ -1,24 +1,37 @@
1
1
  # encoding: utf-8
2
+ mydir = File.expand_path(File.dirname(__FILE__))
2
3
 
3
- require "./chinese_faker/version"
4
+ require 'i18n'
5
+ I18n.load_path += Dir[File.join(mydir, 'locales', '*.yml')]
6
+ I18n.reload!
7
+ I18n.default_locale = "zh-tw"
4
8
 
5
9
  module ChineseFaker
6
10
 
7
- module Job
8
- TITLES = %w[學生 醫生 軟體工程師]
11
+ class Base
12
+ class << self
13
+ def parse(key, with_title=false)
14
+ parsed = []
9
15
 
10
- def self.title
11
- return TITLES[rand(TITLES.length)]
12
- end
13
- end
16
+ I18n.translate("chinese_faker.#{key}").each do |format|
17
+ name = format.split
18
+ parsed << name.map do |str|
19
+ fetch("name.#{str[str.index('{') + 1, str.index('}') - 2]}")
20
+ end.join
21
+ end
14
22
 
15
- module Name
16
- LAST_NAMES = %w[王 李 張 劉 陳 楊 黃 趙 吳 周 邱 廖 郭]
17
- FIRST_NAMES = %w[志豪 至明 志偉 冠宇 冠廷 偉 敏 秀英 芳]
23
+ return with_title ? parsed[0] : parsed[1]
24
+ end
18
25
 
19
- def self.name
20
- return LAST_NAMES[rand(LAST_NAMES.length)] +
21
- FIRST_NAMES[rand(FIRST_NAMES.length)]
26
+ def fetch(key)
27
+ fetched = I18n.translate("chinese_faker.#{key}")
28
+ items = fetched[0].split
29
+
30
+ return items[rand(items.length)]
31
+ end
22
32
  end
23
33
  end
24
34
  end
35
+
36
+ require './chinese_faker/name'
37
+ require './chinese_faker/job'
@@ -0,0 +1,12 @@
1
+ zh-tw:
2
+ chinese_faker:
3
+ name:
4
+ first_name: [志豪 至明 志偉 冠宇 冠廷 偉 敏 秀英 芳]
5
+ last_name: [王 李 張 劉 陳 楊 黃 趙 吳 周 邱 廖 郭 陳 蔡 江 何 蕭 羅 呂
6
+ 高 彭 朱 詹 胡 簡 沈 施 柯 盧 余 翁 潘 游 魏 顏 方 宋 侯 馮 童]
7
+ title: [教授 醫師 老師]
8
+ name:
9
+ - "#{last_name} #{first_name} #{title}"
10
+ - "#{last_name} #{first_name}"
11
+ job:
12
+ title: [學生 醫生 軟體工程師 老師 牙醫 律師 外交官 室內設計師 外科醫師 建築師 機師 檢察官]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chinese_faker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-29 00:00:00.000000000 Z
12
+ date: 2013-11-24 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: i18n
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '0.5'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.5'
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: bundler
16
32
  requirement: !ruby/object:Gem::Requirement
@@ -57,8 +73,11 @@ files:
57
73
  - Rakefile
58
74
  - chinese_faker.gemspec
59
75
  - lib/chinese_faker.rb
76
+ - lib/chinese_faker/job.rb
77
+ - lib/chinese_faker/name.rb
60
78
  - lib/chinese_faker/version.rb
61
- homepage: ''
79
+ - lib/locales/zh-tw.yml
80
+ homepage: https://github.com/nerdExpo/chinese_faker
62
81
  licenses:
63
82
  - MIT
64
83
  post_install_message:
@@ -82,5 +101,5 @@ rubyforge_project:
82
101
  rubygems_version: 1.8.25
83
102
  signing_key:
84
103
  specification_version: 3
85
- summary: Call the gem module by each proper method to execute
104
+ summary: Call the gem module by each proper method to generate
86
105
  test_files: []