faker_japanese 0.2.0 → 0.2.1

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: 615d434fc9df6d5efc6854d6fed05da60c4730a1
4
- data.tar.gz: 6f7dfc69bac1e5f59b7422a2703ec2df1cd082ba
3
+ metadata.gz: 8450642b98b063f988190c9243f2e0f528cdc299
4
+ data.tar.gz: da99c48b06cbc3cdb44f2362b0cad757550aae24
5
5
  SHA512:
6
- metadata.gz: e5bcac73f68372afaa3e195678c3803efb5266e52f413bfab6151401f21ce2c3a30d4817610041d99e5fc7cb1c15d2142ffbf2e4ec922082577826341025c454
7
- data.tar.gz: 83866a82166aee3dd95a42db6b26b9b30623f75eb372a3a22b8edea2b17aa1ffa2b639da512bdb618d0330d8130c5c51f1974e657b31a2692bef56fb6099a70c
6
+ metadata.gz: 77ff0c53aa7530567eb7641d62b6e3c1d2eb8aca39045a7aaf52c1ab649fd84f5a1deaf2fe65d0eaf1e1ce498593d0f67f3f7a9dfbedc094fdddfdb0350f0b1d
7
+ data.tar.gz: ef3ba64114b11511a469790e3c033214471f5a9bdd9d66bb073d6d36ab1b542f303b622292b796ea752b2bb0d8d9a4a820d91a59698c7f94c10c2d7c737a1c31
data/.gitignore CHANGED
@@ -4,7 +4,8 @@
4
4
  .LSOverride
5
5
 
6
6
  # Icon must end with two \r
7
- Icon
7
+ Icon
8
+
8
9
 
9
10
  # Thumbnails
10
11
  ._*
@@ -39,3 +40,12 @@ spec/reports
39
40
  test/tmp
40
41
  test/version_tmp
41
42
  tmp
43
+
44
+ # Intellij IDEA
45
+ .idea
46
+ .idea_modules
47
+ *.iml
48
+ *.ipr
49
+ *.iws
50
+ *.sc
51
+ .history
data/.rubocop.yml ADDED
@@ -0,0 +1,9 @@
1
+ AllCops:
2
+ Exclude:
3
+ - spec/**/*
4
+ - exe/*
5
+
6
+ #inherit_from: .rubocop_todo.yml
7
+
8
+ Style/FileName:
9
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+
3
+ sudo: false
4
+
5
+ rvm:
6
+ - 2.1
7
+ - 2.2.1
8
+ - ruby-head
9
+
10
+ cache: bundler
11
+
12
+ before_install:
13
+ - gem install bundler -v '1.8.6'
14
+
15
+ script: bundle exec rake test
16
+
17
+ matrix:
18
+ allow_failures:
19
+ - rvm: ruby-head
20
+ fast_finish: true
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # faker_japanese
2
2
 
3
+ [![Build Status](https://travis-ci.org/denvazh/faker_japanese.svg?branch=master)](https://travis-ci.org/denvazh/faker_japanese)
4
+ [![Coverage Status](https://coveralls.io/repos/denvazh/faker_japanese/badge.svg?branch=master&service=github)](https://coveralls.io/github/denvazh/faker_japanese?branch=master)
5
+
3
6
  Faker extension to generate Japanese names.
4
7
  Provides fake first and last names in kanji, hiragana, katakana and romaji (name written with latin alphabet).
5
8
  It has now around 1500 last names and around 260 first names for both genders.
data/Rakefile CHANGED
@@ -1,15 +1,31 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
- require "yard"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
4
+ require 'yard'
4
5
 
5
6
  RSpec::Core::RakeTask.new
6
- task :default => :spec
7
- task :test => :spec
7
+ task test: :spec
8
+
9
+ # Testing with rspec
10
+ RSpec::Core::RakeTask.new(:spec) do |task|
11
+ task.rspec_opts = %w(--color --format documentation)
12
+ end
13
+ task test: :spec
14
+
15
+ # Use RuboCop to check for code/style offenses
16
+ desc 'Run RuboCop to validate/lint code'
17
+ RuboCop::RakeTask.new(:rubocop) do |task|
18
+ # don't abort rake on failure
19
+ task.fail_on_error = false
20
+ end
8
21
 
9
22
  # Documentation
23
+ desc "Generate gem documentation (same as running 'rake yard')"
10
24
  YARD::Rake::YardocTask.new do |t|
11
- t.files = ['lib/**/*.rb'] # optional
25
+ t.files = %w(lib/**/*.rb)
26
+ t.stats_options = %w(--list-undoc --compact)
12
27
  end
28
+ task doc: :yard
13
29
 
14
- # desc "Generate gem documentation (same as running 'rake yard')"
15
- task :doc => :yard
30
+ # Default Rake task
31
+ task default: [:rubocop, :spec]
data/bin/console ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'faker_japanese'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # Use Pry by default
10
+ require 'pry'
11
+ Pry.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -4,24 +4,34 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'faker_japanese/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "faker_japanese"
8
- spec.version = Faker::Japanese::VERSION
9
- spec.authors = ["Denis Vazhenin"]
10
- spec.email = ["denis.vazhenin@me.com"]
11
- spec.description = %q{Faker extension providing japanese names}
12
- spec.summary = %q{Faker extension for japanese names}
13
- spec.license = "MIT"
7
+ spec.name = 'faker_japanese'
8
+ spec.version = Faker::Japanese::VERSION
9
+ spec.authors = ['Denis Vazhenin']
10
+ spec.email = ['denis.vazhenin@me.com']
11
+ spec.description = 'Faker extension providing japanese names'
12
+ spec.summary = 'Faker extension for japanese names'
13
+ spec.license = 'MIT'
14
14
 
15
- spec.files = `git ls-files`.split($/)
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
15
+ spec.bindir = 'exe'
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
+ spec.require_paths = ['lib']
19
22
 
20
- spec.add_runtime_dependency "faker"
21
- spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec"
24
- spec.add_development_dependency "rspec-expectations"
25
- spec.add_development_dependency "fuubar"
26
- spec.add_development_dependency "yard"
23
+ spec.add_development_dependency 'bundler', '~> 1.8'
24
+ spec.add_development_dependency 'rake', '~> 10.0'
25
+ spec.add_development_dependency 'rspec', '~> 3.2.0'
26
+ spec.add_development_dependency 'rspec-expectations', '~> 3.2.0'
27
+ spec.add_development_dependency 'rspec-mocks', '~> 3.2.1'
28
+ spec.add_development_dependency 'awesome_print', '~> 1.6.1'
29
+ spec.add_development_dependency 'looksee', '~> 3.1.0'
30
+ spec.add_development_dependency 'pry', '~> 0.10.1'
31
+ spec.add_development_dependency 'yard', '~> 0.8.7.6'
32
+ spec.add_development_dependency 'fuubar'
33
+ spec.add_development_dependency 'coveralls'
34
+ spec.add_development_dependency 'rubocop'
35
+
36
+ spec.add_runtime_dependency 'faker'
27
37
  end
@@ -0,0 +1 @@
1
+ require_relative '../faker_japanese'
@@ -1,68 +1,101 @@
1
1
  require 'faker'
2
+ require 'yaml'
2
3
 
4
+ # Faker
3
5
  module Faker
4
- module Japanese
5
- SELFDIR = File.expand_path(File.dirname(__FILE__))
6
+ # Japanese localization for Faker
7
+ module Japanese
8
+ # Location on the disk of this script
9
+ SELFDIR = File.expand_path(File.dirname(__FILE__))
6
10
 
7
- class Kanji < String
8
- attr_reader :yomi, :kana, :romaji
11
+ # Kanji string
12
+ class Kanji < String
13
+ attr_reader :yomi, :kana, :romaji
9
14
 
10
- def initialize(kanji, yomi, kana, romaji)
11
- super(kanji)
12
- @yomi = yomi
13
- @kana = kana
14
- @romaji = romaji
15
- end
16
- end
15
+ # Create new Kanji string instance
16
+ # @param [String] kanji string in kanji from
17
+ # @param [String] yomi string with hiragana readings
18
+ # @param [String] kana string with katakana readings
19
+ # @param [String] romaji romanized string
20
+ def initialize(kanji, yomi, kana, romaji)
21
+ super(kanji)
22
+ @yomi = yomi
23
+ @kana = kana
24
+ @romaji = romaji
25
+ end
26
+ end
17
27
 
18
- class Base
19
- class << self
28
+ # Faker Base class
29
+ class Base
30
+ class << self
31
+ # Using callback to store loaded data when subclass is created
32
+ # @param [Class] klass class name
33
+ def inherited(klass)
34
+ fail("#{klass} should be Class") unless klass.is_a? Class
35
+ klass.class_variable_set '@@data', load_data(klass)
36
+ end
20
37
 
21
- # Using callback to store loaded data when subclass is created
22
- def inherited(klass)
23
- klass.class_variable_set "@@data", load_data(klass)
24
- end
38
+ # Convert full class name to lower case string with class name only
39
+ # @param [Class] klass class name
40
+ # @return [String]
41
+ def demodulize(klass)
42
+ klass.to_s.split('::').last.downcase
43
+ end
25
44
 
26
- # Load fake data from yml file
27
- def load_data(klass)
28
- datafile = File.join(SELFDIR, 'faker_japanese',
29
- 'data', "#{klass.to_s.split('::').last.downcase}.yml")
30
- if datafile && File.readable?(datafile)
31
- data = YAML.load_file(datafile).each_with_object({}){|(k,v), h| h[k.to_sym] = v}
32
- data.inject({}) do |res, item|
33
- key, values, = item
34
- res.update(key => values.map! { |v| Kanji.new(*v) })
35
- end
36
- else
37
- nil
38
- end
39
- end
45
+ # Load yml file with minor pre-processing
46
+ # @param [String] filepath full path to the file
47
+ # @return [Hash]
48
+ def load_raw_yaml(filepath)
49
+ return nil unless filepath && File.readable?(filepath)
50
+ YAML.load_file(filepath).each_with_object({}) do |(k, v), h|
51
+ h[k.to_sym] = v
52
+ end
53
+ end
40
54
 
41
- # Search
42
- def fetch(key)
43
- val = self.class_variable_get("@@data")[key]
44
- ret = val[rand(val.size)]
45
- end
55
+ # Created dictionary with loaded data
56
+ # @param [Module] klass class name
57
+ def load_data(klass)
58
+ datafile = File.join(SELFDIR,
59
+ 'faker_japanese',
60
+ 'data', "#{demodulize(klass)}.yml")
61
+ data = load_raw_yaml(datafile)
62
+ return data if data.nil?
63
+ data.inject({}) do |res, item|
64
+ key, values = item
65
+ res.update(key => values.map! { |v| Kanji.new(*v) })
66
+ end
67
+ data
68
+ end
46
69
 
47
- # Swap method if block was evaluated to true
48
- def swap_method(klass, name)
49
- original_method =klass.method(name)
50
- new_method =method(name)
51
- klass.singleton_class.send :define_method, name, proc {
52
- yield ? new_method.call : original_method.call
53
- }
54
- end
70
+ # Fetch random value from name dictionary
71
+ # @param [String] key in the @@data
72
+ # @return [Kanji]
73
+ def fetch(key)
74
+ val = class_variable_get('@@data')[key]
75
+ val[rand(val.size)]
76
+ end
55
77
 
56
- # Decide which method to use based on value of Faker::Config.locale
57
- def use_japanese_method(klass, name)
58
- swap_method(klass, name) do
59
- Faker::Config.locale == "ja"
60
- end
61
- end
78
+ # Swap method if block was evaluated to true
79
+ # @param [Class] klass name of the class
80
+ # @param [Symbol] name method name
81
+ def swap_method(klass, name)
82
+ original_method = klass.method(name)
83
+ new_method = method(name)
84
+ proc = proc { yield ? new_method.call : original_method.call }
85
+ klass.singleton_class.send(:define_method, name, proc)
86
+ end
62
87
 
63
- end # << self
64
- end # Base
65
- end # Japanese
88
+ # Decide which method to use based on value of Faker::Config.locale
89
+ # @param [Class] klass name of the class
90
+ # @param [Symbol] name method name
91
+ def use_japanese_method(klass, name)
92
+ swap_method(klass, name) do
93
+ Faker::Config.locale == :ja
94
+ end
95
+ end
96
+ end # << self
97
+ end # Base
98
+ end # Japanese
66
99
  end # Faker
67
100
 
68
101
  require 'faker_japanese/version'
@@ -1,26 +1,30 @@
1
1
  module Faker
2
+ # Japanese localization for Faker
2
3
  module Japanese
4
+ # Name localization
3
5
  class Name < Base
4
6
  class << self
5
-
6
- # Return fake first name
7
+ # Fake first name
8
+ # @return [Kanji]
7
9
  def first_name
8
10
  fetch(:first_name)
9
11
  end
10
12
 
11
- # Return fake last name
13
+ # Fake last name
14
+ # @return [Kanji]
12
15
  def last_name
13
16
  fetch(:last_name)
14
17
  end
15
18
 
16
- # Return fake name, which is a string combining last and first name
19
+ # Fake full name
20
+ # @return [Kanji] string combining last and first name
17
21
  def name
18
- first_name =fetch(:first_name)
19
- last_name =fetch(:last_name)
20
- name_kanji ="#{last_name} #{first_name}"
21
- name_yomi ="#{last_name.yomi} #{first_name.yomi}"
22
- name_kana ="#{last_name.kana} #{first_name.kana}"
23
- name_romaji ="#{last_name.romaji} #{first_name.romaji}"
22
+ first_name = fetch(:first_name)
23
+ last_name = fetch(:last_name)
24
+ name_kanji = "#{last_name} #{first_name}"
25
+ name_yomi = "#{last_name.yomi} #{first_name.yomi}"
26
+ name_kana = "#{last_name.kana} #{first_name.kana}"
27
+ name_romaji = "#{last_name.romaji} #{first_name.romaji}"
24
28
  Kanji.new(name_kanji, name_yomi, name_kana, name_romaji)
25
29
  end
26
30
  end
@@ -1,5 +1,7 @@
1
1
  module Faker
2
- module Japanese
3
- VERSION = "0.2.0"
4
- end
2
+ # Japanese localization for Faker
3
+ module Japanese
4
+ # Current version
5
+ VERSION = '0.2.1'
6
+ end
5
7
  end
metadata CHANGED
@@ -1,59 +1,143 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faker_japanese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Vazhenin
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2014-04-30 00:00:00.000000000 Z
11
+ date: 2015-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: faker
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
19
+ version: '1.8'
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.8'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.3'
33
+ version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.3'
40
+ version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.2.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.2.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: rspec-expectations
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.2.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.2.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-mocks
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 3.2.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 3.2.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: awesome_print
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.6.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.6.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: looksee
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 3.1.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 3.1.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.10.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.10.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: yard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.8.7.6
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.8.7.6
139
+ - !ruby/object:Gem::Dependency
140
+ name: fuubar
57
141
  requirement: !ruby/object:Gem::Requirement
58
142
  requirements:
59
143
  - - ">="
@@ -67,7 +151,7 @@ dependencies:
67
151
  - !ruby/object:Gem::Version
68
152
  version: '0'
69
153
  - !ruby/object:Gem::Dependency
70
- name: rspec-expectations
154
+ name: coveralls
71
155
  requirement: !ruby/object:Gem::Requirement
72
156
  requirements:
73
157
  - - ">="
@@ -81,7 +165,7 @@ dependencies:
81
165
  - !ruby/object:Gem::Version
82
166
  version: '0'
83
167
  - !ruby/object:Gem::Dependency
84
- name: fuubar
168
+ name: rubocop
85
169
  requirement: !ruby/object:Gem::Requirement
86
170
  requirements:
87
171
  - - ">="
@@ -95,13 +179,13 @@ dependencies:
95
179
  - !ruby/object:Gem::Version
96
180
  version: '0'
97
181
  - !ruby/object:Gem::Dependency
98
- name: yard
182
+ name: faker
99
183
  requirement: !ruby/object:Gem::Requirement
100
184
  requirements:
101
185
  - - ">="
102
186
  - !ruby/object:Gem::Version
103
187
  version: '0'
104
- type: :development
188
+ type: :runtime
105
189
  prerelease: false
106
190
  version_requirements: !ruby/object:Gem::Requirement
107
191
  requirements:
@@ -116,18 +200,20 @@ extensions: []
116
200
  extra_rdoc_files: []
117
201
  files:
118
202
  - ".gitignore"
119
- - ".rspec"
203
+ - ".rubocop.yml"
204
+ - ".travis.yml"
120
205
  - Gemfile
121
206
  - LICENSE.txt
122
207
  - README.md
123
208
  - Rakefile
209
+ - bin/console
210
+ - bin/setup
124
211
  - faker_japanese.gemspec
212
+ - lib/faker/japanese.rb
125
213
  - lib/faker_japanese.rb
126
214
  - lib/faker_japanese/data/name.yml
127
215
  - lib/faker_japanese/name.rb
128
216
  - lib/faker_japanese/version.rb
129
- - spec/lib/faker_japanese_spec.rb
130
- - spec/spec_helper.rb
131
217
  homepage:
132
218
  licenses:
133
219
  - MIT
@@ -152,7 +238,5 @@ rubygems_version: 2.2.2
152
238
  signing_key:
153
239
  specification_version: 4
154
240
  summary: Faker extension for japanese names
155
- test_files:
156
- - spec/lib/faker_japanese_spec.rb
157
- - spec/spec_helper.rb
241
+ test_files: []
158
242
  has_rdoc:
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format Fuubar
2
- --color
@@ -1,48 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Faker::Japanese do
4
-
5
- it "should use native methods when locale is not set to ja" do
6
- if (Faker::Config.locale != 'ja')
7
- name = Faker::Name.name
8
- name.should_not be_nil
9
- name.contains_cjk?.should == false
10
- first_name = Faker::Name.first_name
11
- first_name.should_not be_nil
12
- first_name.contains_cjk?.should == false
13
- last_name = Faker::Name.first_name
14
- last_name.should_not be_nil
15
- last_name.contains_cjk?.should == false
16
- else
17
- fail
18
- end
19
- end
20
-
21
- it "should not use japanese method when locale is not set to ja" do
22
- name = Faker::Name.name
23
- expect { name.yomi }.to raise_error NoMethodError
24
- expect { name.kana }.to raise_error NoMethodError
25
- expect { name.romaji }.to raise_error NoMethodError
26
- end
27
-
28
- it "should use japanese method when locale is set to ja" do
29
- Faker::Config.locale = 'ja'
30
- if (Faker::Config.locale == 'ja')
31
- first_name = Faker::Name.first_name
32
- first_name.should_not be_nil
33
- first_name.contains_cjk?.should == true
34
- last_name = Faker::Name.last_name
35
- last_name.should_not be_nil
36
- last_name.contains_cjk?.should == true
37
- name = Faker::Name.name
38
- name.should_not be_nil
39
- name.contains_cjk?.should == true
40
- name.yomi.contains_cjk?.should == true
41
- name.kana.contains_cjk?.should == true
42
- name.romaji.contains_cjk?.should == false
43
- else
44
- fail
45
- end
46
- end
47
-
48
- end
data/spec/spec_helper.rb DELETED
@@ -1,15 +0,0 @@
1
- require 'faker_japanese'
2
-
3
- class String
4
- # Method to check if string contains cjk characters
5
- def contains_cjk?
6
- !!(self =~ /\p{Han}|\p{Katakana}|\p{Hiragana}|\p{Hangul}/)
7
- end
8
- end
9
-
10
- I18n.enforce_available_locales = true
11
-
12
- RSpec.configure do |config|
13
- config.failure_color = :magenta
14
- config.tty = true
15
- end