belka 0.0.2

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/lib/belka/name.rb ADDED
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+ module Belka
3
+ class Name
4
+ class <<self
5
+ def gender
6
+ male = Kernel.rand(100) < 50
7
+ yield(male) if block_given?
8
+ male
9
+ end
10
+
11
+ def first_name(male = nil)
12
+ pick_with_gender(male, Data::MaleNames, Data::FemaleNames)
13
+ end
14
+
15
+ def middle_name(male = nil)
16
+ pick_with_gender(male, Data::MaleMiddleNames, Data::FemaleMiddleNames)
17
+ end
18
+
19
+ def family_name(male = nil)
20
+ male = gender if male.nil?
21
+
22
+ famname = Belka.pick(Data::FamilyNames)
23
+
24
+ if famname.is_a? Array
25
+ famname[0] + famname[male ? 1 : 2]
26
+ else
27
+ male ? famname : famname + 'а'
28
+ end
29
+ end
30
+
31
+ def full_name(male = nil)
32
+ male = gender if male.nil?
33
+
34
+ "#{family_name(male)} #{first_name(male)} #{middle_name(male)}"
35
+ end
36
+
37
+ private
38
+
39
+ def pick_with_gender(male, male_ary, female_ary)
40
+ male = gender if male.nil?
41
+ Belka.pick(male ? male_ary : female_ary)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,18 @@
1
+ module Belka
2
+ class PhoneNumber
3
+ Formats = [
4
+
5
+ # номера с кодом города
6
+ '8-(###)(#) ?##-##-##',
7
+ '8-(###) ?##-##-##',
8
+
9
+ ].freeze
10
+
11
+ def self.phone_number
12
+ fmt = Belka.pick(Formats)
13
+
14
+ # локальные номера не могут начинаться на 8 или 0
15
+ Ryba.numerify(fmt.gsub('?') { Ryba.pick("12345679") })
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ module Belka
2
+ class PhoneNumber
3
+ Formats = [
4
+
5
+ # номера с кодом города
6
+ '8-(###)(#) ?##-##-##',
7
+ '8-(###) ?##-##-##',
8
+
9
+ # мобильники
10
+ '+375 ##(#) ##-##-###',
11
+ ].freeze
12
+
13
+ def self.phone_number
14
+ fmt = Belka.pick(Formats)
15
+
16
+ # локальные номера не могут начинаться на 8 или 0
17
+ Ryba.numerify(fmt.gsub('?') { Ryba.pick("12345679") })
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ module Belka
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,3 @@
1
+ module Belka
2
+ VERSION = "0.0.2"
3
+ end
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: belka
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Belka
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-18 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Russian names and addresses generator
14
+ email: m.lakhvich@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files:
18
+ - README.textile
19
+ files:
20
+ - ".gitignore"
21
+ - Gemfile
22
+ - Gemfile~
23
+ - MIT-LICENSE
24
+ - README.md
25
+ - README.textile
26
+ - README.textile~
27
+ - Rakefile
28
+ - belka.gemspec
29
+ - lib/belka.rb
30
+ - lib/belka/address.rb
31
+ - lib/belka/company.rb
32
+ - lib/belka/data.rb
33
+ - lib/belka/name.rb
34
+ - lib/belka/phone_number.rb
35
+ - lib/belka/phone_number.rb~
36
+ - lib/belka/version.rb
37
+ - lib/belka/version.rb~
38
+ homepage: https://github.com/Lakhvich/Belka
39
+ licenses:
40
+ - MIT
41
+ metadata: {}
42
+ post_install_message:
43
+ rdoc_options: []
44
+ require_paths:
45
+ - lib
46
+ required_ruby_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ requirements: []
57
+ rubyforge_project: belka
58
+ rubygems_version: 2.4.1
59
+ signing_key:
60
+ specification_version: 4
61
+ summary: Russian faker
62
+ test_files: []