fantasy_faker 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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +49 -0
- data/Rakefile +5 -0
- data/fantasy_faker.gemspec +24 -0
- data/lib/fantasy_faker/character.rb +35 -0
- data/lib/fantasy_faker/data/character/name_prefixes_female +46 -0
- data/lib/fantasy_faker/data/character/name_prefixes_male +51 -0
- data/lib/fantasy_faker/data/character/name_sufixes_female +31 -0
- data/lib/fantasy_faker/data/character/name_sufixes_male +51 -0
- data/lib/fantasy_faker/data/character/nicknames_female +150 -0
- data/lib/fantasy_faker/data/character/nicknames_male +150 -0
- data/lib/fantasy_faker/utils/array_utils.rb +27 -0
- data/lib/fantasy_faker/utils/base_module.rb +33 -0
- data/lib/fantasy_faker.rb +15 -0
- data/spec/character_spec.rb +41 -0
- data/spec/spec_helper.rb +1 -0
- data/tasks/rspec.rake +3 -0
- metadata +107 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d8c2e7f6f48a4ccfcbf734f40931eaeafd45e395
|
4
|
+
data.tar.gz: ac553ba2b7c61ef3f39a8d840a09d60a6b261a80
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0e16b1f89f316bc4a45328bbc1847188cb954887e3efa4cdf433822bbf1ac1e9aa49ada1f9971f550234bff99c0526517d902a7d5b3c4e9c565ae0621b9a6fe6
|
7
|
+
data.tar.gz: bf32221ad679f2c8ab1738d220dfcbad490d140095d507c31c1303005d4cb106f22496d50bbdd993d0d9eb7b5e3c016ceab65c136b9deb11a7699c353190aa97
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Konrad Jurkowski
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
[](https://codeship.com/projects/55108) [](https://codeclimate.com/github/msx2/fantasy_faker)
|
2
|
+
|
3
|
+
# FantasyFaker
|
4
|
+
|
5
|
+
Inspired by [ffaker](https://github.com/EmmanuelOga/ffaker), used to easily generate fake random data: e.g. name, nickname.
|
6
|
+
|
7
|
+
Created on a sole purpose to be used in fantasy-climate projects. Currently supports only Polish language.
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
```
|
14
|
+
gem 'fantasy_faker'
|
15
|
+
```
|
16
|
+
|
17
|
+
And then execute:
|
18
|
+
|
19
|
+
```
|
20
|
+
$ bundle
|
21
|
+
```
|
22
|
+
|
23
|
+
Or install it yourself as:
|
24
|
+
|
25
|
+
```
|
26
|
+
$ gem install fantasy_faker
|
27
|
+
```
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
require 'fantasy_faker'
|
33
|
+
|
34
|
+
FantasyFaker::Character.male_name => "Sarillon"
|
35
|
+
FantasyFaker::Character.male_nickname => "Dziecię Pustyni"
|
36
|
+
FantasyFaker::Character.male_full_name => "Aemanti Lepka Dłoń"
|
37
|
+
|
38
|
+
FantasyFaker::Character.female_name => "Linani"
|
39
|
+
FantasyFaker::Character.female_nickname => "Wstydliwa"
|
40
|
+
FantasyFaker::Character.female_full_name => "Setaris Krwawa Klinga"
|
41
|
+
```
|
42
|
+
|
43
|
+
## Contributing
|
44
|
+
|
45
|
+
1. Fork it
|
46
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
47
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
48
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
49
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'fantasy_faker'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'fantasy_faker'
|
8
|
+
spec.version = FantasyFaker::VERSION
|
9
|
+
spec.authors = ['Konrad Jurkowski']
|
10
|
+
spec.email = ['konrad@jurkowski.me']
|
11
|
+
spec.description = 'Generate fake random data for fantasy-climate projects'
|
12
|
+
spec.summary = 'Fantasy Faker, generates dummy data.'
|
13
|
+
spec.homepage = 'https://github.com/msx2/fantasy_faker'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'rspec'
|
24
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module FantasyFaker
|
4
|
+
|
5
|
+
module Character
|
6
|
+
extend BaseModule
|
7
|
+
extend self
|
8
|
+
|
9
|
+
def male_name
|
10
|
+
"%s%s" % [NAME_PREFIXES_MALE.rand, NAME_SUFIXES_MALE.rand]
|
11
|
+
end
|
12
|
+
|
13
|
+
def male_nickname
|
14
|
+
NICKNAMES_MALE.rand
|
15
|
+
end
|
16
|
+
|
17
|
+
def male_full_name
|
18
|
+
"%s %s" % [male_name, male_nickname]
|
19
|
+
end
|
20
|
+
|
21
|
+
def female_name
|
22
|
+
"%s%s" % [NAME_PREFIXES_FEMALE.rand, NAME_SUFIXES_FEMALE.rand]
|
23
|
+
end
|
24
|
+
|
25
|
+
def female_nickname
|
26
|
+
NICKNAMES_FEMALE.rand
|
27
|
+
end
|
28
|
+
|
29
|
+
def female_full_name
|
30
|
+
"%s %s" % [female_name, female_nickname]
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
Ail
|
2
|
+
Aid
|
3
|
+
Ais
|
4
|
+
Alla
|
5
|
+
Bar
|
6
|
+
Ber
|
7
|
+
Cai
|
8
|
+
Car
|
9
|
+
Cel
|
10
|
+
Dan
|
11
|
+
Dar
|
12
|
+
Dek
|
13
|
+
Dor
|
14
|
+
Eil
|
15
|
+
Eal
|
16
|
+
Fin
|
17
|
+
Gud
|
18
|
+
Is
|
19
|
+
Ink
|
20
|
+
Ill
|
21
|
+
Jus
|
22
|
+
Jer
|
23
|
+
Kat
|
24
|
+
Lin
|
25
|
+
Lus
|
26
|
+
Lis
|
27
|
+
Mer
|
28
|
+
Mud
|
29
|
+
Nao
|
30
|
+
Ner
|
31
|
+
Nin
|
32
|
+
Oi
|
33
|
+
Oks
|
34
|
+
Pur
|
35
|
+
Per
|
36
|
+
Red
|
37
|
+
Ris
|
38
|
+
Set
|
39
|
+
Sus
|
40
|
+
Tir
|
41
|
+
Tan
|
42
|
+
Vis
|
43
|
+
Ver
|
44
|
+
Xis
|
45
|
+
Xar
|
46
|
+
Zer
|
@@ -0,0 +1,51 @@
|
|
1
|
+
Ae
|
2
|
+
Arn
|
3
|
+
Abi
|
4
|
+
Alk
|
5
|
+
Baa
|
6
|
+
Beia
|
7
|
+
Bea
|
8
|
+
Chai
|
9
|
+
Cen
|
10
|
+
Dorn
|
11
|
+
Dreg
|
12
|
+
Dov
|
13
|
+
Dap
|
14
|
+
Kyth
|
15
|
+
Lave
|
16
|
+
Tig
|
17
|
+
Aven
|
18
|
+
Kyl
|
19
|
+
My
|
20
|
+
Ang
|
21
|
+
Dil
|
22
|
+
Sar
|
23
|
+
Bip
|
24
|
+
Grai
|
25
|
+
Soan
|
26
|
+
Rugha
|
27
|
+
Jadea
|
28
|
+
Flan
|
29
|
+
Nys
|
30
|
+
Nil
|
31
|
+
Amil
|
32
|
+
Lial
|
33
|
+
Jem
|
34
|
+
Timo
|
35
|
+
Est
|
36
|
+
Esmer
|
37
|
+
Path
|
38
|
+
Marc
|
39
|
+
Paer
|
40
|
+
Aga
|
41
|
+
Khaz
|
42
|
+
Ach
|
43
|
+
Peri
|
44
|
+
Art
|
45
|
+
Fall
|
46
|
+
Kaa
|
47
|
+
Miy
|
48
|
+
Borl
|
49
|
+
Mik
|
50
|
+
Cind
|
51
|
+
Wol
|
@@ -0,0 +1,51 @@
|
|
1
|
+
red
|
2
|
+
illon
|
3
|
+
drak
|
4
|
+
ilo
|
5
|
+
ker
|
6
|
+
anian
|
7
|
+
ath
|
8
|
+
ius
|
9
|
+
ven
|
10
|
+
isab
|
11
|
+
lay
|
12
|
+
vite
|
13
|
+
hun
|
14
|
+
ger
|
15
|
+
gons
|
16
|
+
ving
|
17
|
+
rol
|
18
|
+
lianth
|
19
|
+
kall
|
20
|
+
ven
|
21
|
+
sharr
|
22
|
+
cil
|
23
|
+
unube
|
24
|
+
ahm
|
25
|
+
lino
|
26
|
+
iba
|
27
|
+
ivo
|
28
|
+
freano
|
29
|
+
avo
|
30
|
+
ilo
|
31
|
+
donar
|
32
|
+
jako
|
33
|
+
mina
|
34
|
+
rinh
|
35
|
+
lion
|
36
|
+
manti
|
37
|
+
onga
|
38
|
+
tarea
|
39
|
+
intre
|
40
|
+
scire
|
41
|
+
philus
|
42
|
+
vadro
|
43
|
+
arok
|
44
|
+
olites
|
45
|
+
ka
|
46
|
+
mythe
|
47
|
+
pil
|
48
|
+
reni
|
49
|
+
ra
|
50
|
+
uan
|
51
|
+
dester
|
@@ -0,0 +1,150 @@
|
|
1
|
+
Awanturnica
|
2
|
+
Bandytka
|
3
|
+
Bardka
|
4
|
+
Bezlitosna
|
5
|
+
Bez Serca
|
6
|
+
Bezwzględna
|
7
|
+
Biała
|
8
|
+
Biesiadniczka
|
9
|
+
Błogosławiona
|
10
|
+
Bladolica
|
11
|
+
Brzydka
|
12
|
+
Bystre Oko
|
13
|
+
Bystrooka
|
14
|
+
Chciwa
|
15
|
+
Chmurnooka
|
16
|
+
Chrobra
|
17
|
+
Chroma
|
18
|
+
Cichobieg
|
19
|
+
Cień
|
20
|
+
Czarna
|
21
|
+
Czarna Księżniczka
|
22
|
+
Czarodziejka
|
23
|
+
Dębowa Tarcza
|
24
|
+
Długonosa
|
25
|
+
Długonoga
|
26
|
+
Dumna
|
27
|
+
Dokładna
|
28
|
+
Dwa Miecze
|
29
|
+
Dziecię Pustyni
|
30
|
+
Gromowładna
|
31
|
+
Groźna
|
32
|
+
Honorowa
|
33
|
+
Kamienne Serce
|
34
|
+
Karmazynowa
|
35
|
+
Kłótliwa
|
36
|
+
Koścista
|
37
|
+
Krwawa Klinga
|
38
|
+
Krwawa Siekiera
|
39
|
+
Krwawa
|
40
|
+
Krwiożercza
|
41
|
+
Kulawa
|
42
|
+
Laskonoga
|
43
|
+
Lekkoducha
|
44
|
+
Lekkonoga
|
45
|
+
Leniwa
|
46
|
+
Lepka Dłoń
|
47
|
+
Lepkopalca
|
48
|
+
Lodołamacz
|
49
|
+
Łaskawa
|
50
|
+
Łamignat
|
51
|
+
Marzycielka
|
52
|
+
Mądra
|
53
|
+
Męczenniczka
|
54
|
+
Miła
|
55
|
+
Mistrzyni Miecza
|
56
|
+
Mocarna
|
57
|
+
Mocna Pięść
|
58
|
+
Mocna Tarcza
|
59
|
+
Mściwa
|
60
|
+
Młoda
|
61
|
+
Młotoręka
|
62
|
+
Niebiańska Wojowniczka
|
63
|
+
Niepokonana
|
64
|
+
Nieposkromiona
|
65
|
+
Nieśmiała
|
66
|
+
Obłąkana
|
67
|
+
Obrończyni
|
68
|
+
Okrutna
|
69
|
+
Opętana
|
70
|
+
Pancerna Pięść
|
71
|
+
Piekielna Wojowniczka
|
72
|
+
Pięknogłosa
|
73
|
+
Pięknooka
|
74
|
+
Pięknowłosa
|
75
|
+
Płomiennooka
|
76
|
+
Pobożna
|
77
|
+
Podła
|
78
|
+
Podróżniczka
|
79
|
+
Poetka
|
80
|
+
Pogromczyni
|
81
|
+
Ponura
|
82
|
+
Popędliwa
|
83
|
+
Patetyczna
|
84
|
+
Potępiona
|
85
|
+
Potężna
|
86
|
+
Powierniczka
|
87
|
+
Pustynny Wąż
|
88
|
+
Rozbijaczka
|
89
|
+
Rozbójnica
|
90
|
+
Rudowłosa
|
91
|
+
Ruda
|
92
|
+
Siłaczka
|
93
|
+
Silna
|
94
|
+
Siwa
|
95
|
+
Skromna
|
96
|
+
Skrytobójczyni
|
97
|
+
Skrytonóż
|
98
|
+
Smoczy Oddech
|
99
|
+
Smutna
|
100
|
+
Spokojna
|
101
|
+
Sprawiedliwa
|
102
|
+
Srebrnooka
|
103
|
+
Sroga
|
104
|
+
Stara
|
105
|
+
Stalowe Ramię
|
106
|
+
Staloworęka
|
107
|
+
Strachajło
|
108
|
+
Straszna
|
109
|
+
Sroga
|
110
|
+
Szalonooka
|
111
|
+
Szalona
|
112
|
+
Srebrnowłosa
|
113
|
+
Szczodra
|
114
|
+
Szkarłatna Łowczyni
|
115
|
+
Szybkonoga
|
116
|
+
Szybkopalca
|
117
|
+
Śmiała
|
118
|
+
Święta
|
119
|
+
Tajemnicza
|
120
|
+
Tchórzliwa
|
121
|
+
Twardogłowa
|
122
|
+
Twardy Zgryz
|
123
|
+
Waleczna
|
124
|
+
Wierna
|
125
|
+
Wielka Pięść
|
126
|
+
Wężowy Język
|
127
|
+
Wygadana
|
128
|
+
Wielka Stopa
|
129
|
+
Wielka
|
130
|
+
Wierna
|
131
|
+
Wróżka
|
132
|
+
Wstydliwa
|
133
|
+
Wybrana
|
134
|
+
Wybranka Niebios
|
135
|
+
Wygnana
|
136
|
+
Wyrwiflak
|
137
|
+
Wyrwinóg
|
138
|
+
Wyzyskiwaczka
|
139
|
+
Jednooka
|
140
|
+
Jednoręka
|
141
|
+
Zaklinaczka
|
142
|
+
Zdobywczyni
|
143
|
+
Zgniataczka Kamieni
|
144
|
+
Zhańbiona
|
145
|
+
Zapomniana
|
146
|
+
Złotowłosa
|
147
|
+
Zmęczona
|
148
|
+
Zbawczyni
|
149
|
+
Żmijowy Język
|
150
|
+
Zwyciężczyni
|
@@ -0,0 +1,150 @@
|
|
1
|
+
Awanturnik
|
2
|
+
Bandyta
|
3
|
+
Barbarzyńca
|
4
|
+
Bezlitosny
|
5
|
+
Bez Serca
|
6
|
+
Bezwzględny
|
7
|
+
Biały
|
8
|
+
Biesiadnik
|
9
|
+
Błogosławiony
|
10
|
+
Bladolicy
|
11
|
+
Brzydki
|
12
|
+
Bystre Oko
|
13
|
+
Bystrooki
|
14
|
+
Chciwy
|
15
|
+
Chmurnooki
|
16
|
+
Chrobry
|
17
|
+
Chromy
|
18
|
+
Cichobieg
|
19
|
+
Cień
|
20
|
+
Czarny
|
21
|
+
Czarny Książe
|
22
|
+
Czarny Mag
|
23
|
+
Dębowa Tarcza
|
24
|
+
Długobrody
|
25
|
+
Długonogi
|
26
|
+
Dumny
|
27
|
+
Dokładny
|
28
|
+
Dwa Miecze
|
29
|
+
Dziecię Pustyni
|
30
|
+
Gromowładny
|
31
|
+
Groźny
|
32
|
+
Honorowy
|
33
|
+
Kamienne Serce
|
34
|
+
Karmazynowy Mag
|
35
|
+
Kłótliwy
|
36
|
+
Kościsty
|
37
|
+
Krwawa Klinga
|
38
|
+
Krwawa Siekiera
|
39
|
+
Krwawy
|
40
|
+
Krwiożerczy
|
41
|
+
Kulawy
|
42
|
+
Laskonogi
|
43
|
+
Lekkoduchy
|
44
|
+
Lekkonogi
|
45
|
+
Leniwy
|
46
|
+
Lepka Dłoń
|
47
|
+
Lepkopalcy
|
48
|
+
Lodołamacz
|
49
|
+
Łamacz Kości
|
50
|
+
Łamignat
|
51
|
+
Marzyciel
|
52
|
+
Mądry
|
53
|
+
Męczennik
|
54
|
+
Mędrzec
|
55
|
+
Mistrz Miecza
|
56
|
+
Mocarz
|
57
|
+
Mocna Pięść
|
58
|
+
Mocna Tarcza
|
59
|
+
Mściwy
|
60
|
+
Młotodzierżca
|
61
|
+
Młotoręki
|
62
|
+
Niebiański Wojownik
|
63
|
+
Niepokonany
|
64
|
+
Nieposkromiony
|
65
|
+
Nieśmiały
|
66
|
+
Obłąkany
|
67
|
+
Obrońca
|
68
|
+
Okrutny
|
69
|
+
Opętany
|
70
|
+
Pancerna Pięść
|
71
|
+
Piekielny Wojownik
|
72
|
+
Pięknogłosy
|
73
|
+
Pięknooki
|
74
|
+
Pięknowłosy
|
75
|
+
Płomiennooki
|
76
|
+
Pobożny
|
77
|
+
Podły
|
78
|
+
Podróżnik
|
79
|
+
Poeta
|
80
|
+
Pogromca
|
81
|
+
Ponury
|
82
|
+
Popędliwy
|
83
|
+
Poskramiacz Potworów
|
84
|
+
Potępiony
|
85
|
+
Potężny
|
86
|
+
Powiernik
|
87
|
+
Pustynny Wąż
|
88
|
+
Rozbijacz
|
89
|
+
Rozbójnik
|
90
|
+
Rudobrody
|
91
|
+
Rudy
|
92
|
+
Siłacz
|
93
|
+
Siwobrody
|
94
|
+
Siwy
|
95
|
+
Skromny
|
96
|
+
Skrytobójca
|
97
|
+
Skrytonóż
|
98
|
+
Smoczy Oddech
|
99
|
+
Smutny
|
100
|
+
Spokojny
|
101
|
+
Sprawiedliwy
|
102
|
+
Srebrnobrody
|
103
|
+
Srogi
|
104
|
+
Stary
|
105
|
+
Stalowe Ramię
|
106
|
+
Staloworęki
|
107
|
+
Strachajło
|
108
|
+
Straszny
|
109
|
+
Srogi
|
110
|
+
Szalonooki
|
111
|
+
Szalony
|
112
|
+
Szarobrody
|
113
|
+
Szczodry
|
114
|
+
Szkarłatny Łowca
|
115
|
+
Szybkonogi
|
116
|
+
Szybkopalcy
|
117
|
+
Śmiały
|
118
|
+
Święty
|
119
|
+
Tajemniczy
|
120
|
+
Tchórzliwy
|
121
|
+
Twardogłowy
|
122
|
+
Twardy Zgryz
|
123
|
+
Waleczny
|
124
|
+
Wędrowiec
|
125
|
+
Wielka Pięść
|
126
|
+
Wężowy Język
|
127
|
+
Widłobrody
|
128
|
+
Wielka Stopa
|
129
|
+
Wielki
|
130
|
+
Wierny
|
131
|
+
Wróżbita
|
132
|
+
Wstydliwy
|
133
|
+
Wybraniec
|
134
|
+
Wybraniec Niebios
|
135
|
+
Wygnaniec
|
136
|
+
Wyrwiflak
|
137
|
+
Wyrwinóg
|
138
|
+
Wyzyskiwacz
|
139
|
+
Jednooki
|
140
|
+
Jednoręki
|
141
|
+
Zaklinacz
|
142
|
+
Zdobywca
|
143
|
+
Zgniatacz Kamieni
|
144
|
+
Zhańbiony
|
145
|
+
Złotobrody
|
146
|
+
Złotowłosy
|
147
|
+
Zmęczony
|
148
|
+
Zbawca
|
149
|
+
Żmijowy Język
|
150
|
+
Zwycięzca
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module FantasyFaker
|
2
|
+
module ArrayUtils
|
3
|
+
def self.const_array(argument)
|
4
|
+
array = argument.is_a?(Array) ? argument : argument.to_a
|
5
|
+
array.extend ArrayUtils
|
6
|
+
freeze_all(array)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.rand(array)
|
10
|
+
array.shuffle.sample
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.freeze_all(array)
|
14
|
+
array.each { |e| e.freeze }
|
15
|
+
array.freeze
|
16
|
+
array
|
17
|
+
end
|
18
|
+
|
19
|
+
def rand
|
20
|
+
ArrayUtils.rand(self)
|
21
|
+
end
|
22
|
+
|
23
|
+
def freeze_all
|
24
|
+
ArrayUtils.freeze_all(self)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'fantasy_faker/utils/array_utils'
|
2
|
+
|
3
|
+
module FantasyFaker
|
4
|
+
|
5
|
+
module BaseModule
|
6
|
+
|
7
|
+
def const_missing(const_name)
|
8
|
+
file_content = File.readlines(data_path(const_name)).map(&:strip)
|
9
|
+
data = FantasyFaker::ArrayUtils.const_array(file_content)
|
10
|
+
|
11
|
+
const_set(const_name, data)
|
12
|
+
data
|
13
|
+
end
|
14
|
+
|
15
|
+
def data_path(file_name)
|
16
|
+
"#{FantasyFaker::BASE_LIB_PATH}/fantasy_faker/data/#{underscore(module_name)}/#{underscore(file_name.to_s)}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def module_name
|
20
|
+
ancestors.first.to_s.split('::').last
|
21
|
+
end
|
22
|
+
|
23
|
+
def underscore(string)
|
24
|
+
string.gsub(/::/, '/').
|
25
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
26
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
27
|
+
tr("-", "_").
|
28
|
+
downcase
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module FantasyFaker
|
2
|
+
VERSION = '0.0.2'
|
3
|
+
|
4
|
+
require 'fantasy_faker/utils/array_utils'
|
5
|
+
require 'fantasy_faker/utils/base_module'
|
6
|
+
|
7
|
+
extend BaseModule
|
8
|
+
|
9
|
+
BASE_LIB_PATH = File.expand_path('..', __FILE__)
|
10
|
+
|
11
|
+
# Load all constants.
|
12
|
+
Dir["#{BASE_LIB_PATH}/fantasy_faker/*.rb"].sort.each do |filename|
|
13
|
+
require "fantasy_faker/#{File.basename(filename, '.rb')}"
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe FantasyFaker::Character do
|
4
|
+
|
5
|
+
describe '#male_name' do
|
6
|
+
subject { described_class.male_name }
|
7
|
+
|
8
|
+
it { is_expected.to match(/[a-z]+/i) }
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#male_nickname' do
|
12
|
+
subject { described_class.male_nickname }
|
13
|
+
|
14
|
+
it { is_expected.to match(/[ a-zęóąśłżźćń]+/i) }
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#male_full_name' do
|
18
|
+
subject { described_class.male_nickname }
|
19
|
+
|
20
|
+
it { is_expected.to match(/[ a-zęóąśłżźćń]+/i) }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#female_name' do
|
24
|
+
subject { described_class.female_name }
|
25
|
+
|
26
|
+
it { is_expected.to match(/[a-z]+/i) }
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#female_nickname' do
|
30
|
+
subject { described_class.female_nickname }
|
31
|
+
|
32
|
+
it { is_expected.to match(/[ a-zęóąśłżźćń]+/i) }
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#female_full_name' do
|
36
|
+
subject { described_class.female_nickname }
|
37
|
+
|
38
|
+
it { is_expected.to match(/[ a-zęóąśłżźćń]+/i) }
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'fantasy_faker'
|
data/tasks/rspec.rake
ADDED
metadata
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fantasy_faker
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Konrad Jurkowski
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-01-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Generate fake random data for fantasy-climate projects
|
56
|
+
email:
|
57
|
+
- konrad@jurkowski.me
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- Gemfile
|
64
|
+
- LICENSE.txt
|
65
|
+
- README.md
|
66
|
+
- Rakefile
|
67
|
+
- fantasy_faker.gemspec
|
68
|
+
- lib/fantasy_faker.rb
|
69
|
+
- lib/fantasy_faker/character.rb
|
70
|
+
- lib/fantasy_faker/data/character/name_prefixes_female
|
71
|
+
- lib/fantasy_faker/data/character/name_prefixes_male
|
72
|
+
- lib/fantasy_faker/data/character/name_sufixes_female
|
73
|
+
- lib/fantasy_faker/data/character/name_sufixes_male
|
74
|
+
- lib/fantasy_faker/data/character/nicknames_female
|
75
|
+
- lib/fantasy_faker/data/character/nicknames_male
|
76
|
+
- lib/fantasy_faker/utils/array_utils.rb
|
77
|
+
- lib/fantasy_faker/utils/base_module.rb
|
78
|
+
- spec/character_spec.rb
|
79
|
+
- spec/spec_helper.rb
|
80
|
+
- tasks/rspec.rake
|
81
|
+
homepage: https://github.com/msx2/fantasy_faker
|
82
|
+
licenses:
|
83
|
+
- MIT
|
84
|
+
metadata: {}
|
85
|
+
post_install_message:
|
86
|
+
rdoc_options: []
|
87
|
+
require_paths:
|
88
|
+
- lib
|
89
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
requirements: []
|
100
|
+
rubyforge_project:
|
101
|
+
rubygems_version: 2.1.11
|
102
|
+
signing_key:
|
103
|
+
specification_version: 4
|
104
|
+
summary: Fantasy Faker, generates dummy data.
|
105
|
+
test_files:
|
106
|
+
- spec/character_spec.rb
|
107
|
+
- spec/spec_helper.rb
|