silly-id 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +23 -0
- data/.rspec +2 -0
- data/.rubocop.yml +14 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +23 -0
- data/README.md +58 -0
- data/Rakefile +14 -0
- data/lib/silly-id.rb +57 -0
- data/lib/silly-id/version.rb +5 -0
- data/lib/silly-id/words/en_adjectives.txt +64 -0
- data/lib/silly-id/words/en_nouns.txt +63 -0
- data/lib/silly-id/words/nl_adjectives.txt +133 -0
- data/lib/silly-id/words/nl_nouns.txt +219 -0
- data/silly-id.gemspec +27 -0
- data/spec/lib/silly-id_spec.rb +66 -0
- data/spec/spec_helper.rb +25 -0
- metadata +103 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c404dbf321b0d81f5ce2724eca20fed7f12c21bf9edccbfbcd42dc3db1b9c5a8
|
4
|
+
data.tar.gz: 5f4c517ffe10707846013037bd9cd4315ee700e700848b8df3a036ba463e4dfe
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0eb20236eca8594a7f255d79a2aa304d0466240f5b7e00f7d57b86971dfece90c5760b3193ed2878a9f50818c31afc9966ca311dfd4e97a4e71b088976d79476
|
7
|
+
data.tar.gz: e510583c82b8722f1794892038b046d78ff44cb17822b3f332b83faeca370304bccf925e887124ed145f977fdaadf7e927da1adb751d95384ad857138d2aa278
|
data/.gitignore
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
/vendor/bundle
|
5
|
+
.config
|
6
|
+
.yardoc
|
7
|
+
Gemfile.lock
|
8
|
+
InstalledFiles
|
9
|
+
_yardoc
|
10
|
+
coverage
|
11
|
+
doc/
|
12
|
+
lib/bundler/man
|
13
|
+
pkg
|
14
|
+
rdoc
|
15
|
+
spec/reports
|
16
|
+
test/tmp
|
17
|
+
test/version_tmp
|
18
|
+
tmp
|
19
|
+
*.bundle
|
20
|
+
*.so
|
21
|
+
*.o
|
22
|
+
*.a
|
23
|
+
mkmf.log
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
Copyright (c) 2019 Glenn Jones
|
2
|
+
Copyright (c) 2015 Usman Bashir
|
3
|
+
|
4
|
+
MIT License
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
7
|
+
a copy of this software and associated documentation files (the
|
8
|
+
"Software"), to deal in the Software without restriction, including
|
9
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
10
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
11
|
+
permit persons to whom the Software is furnished to do so, subject to
|
12
|
+
the following conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be
|
15
|
+
included in all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
18
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
19
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
20
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
21
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
22
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
23
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
# SillyId [![Gem Version](https://badge.fury.io/rb/silly-id.svg)](https://badge.fury.io/rb/silly-id)
|
2
|
+
|
3
|
+
Generate Heroku-like memorable random names - in different languages (currently supporting 🇬🇧 and 🇳🇱).
|
4
|
+
|
5
|
+
The source repository was forked in order to support multiple languages, and to allow for easy customization of used nouns and adjectives.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
gem 'silly-id'
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install silly-id
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
SillyId.haiku # =>"rough-snowflake-1142"
|
25
|
+
|
26
|
+
# Another locale? Change your I18n.locale
|
27
|
+
I18n.available_locales = [:en, :nl];
|
28
|
+
I18n.locale = :nl
|
29
|
+
SillyId.haiku # => "fabuleuse-kabeljauw-3699"
|
30
|
+
|
31
|
+
# Token range
|
32
|
+
SillyId.haiku(100) # => "nameless-star-13"
|
33
|
+
|
34
|
+
# Don't include the token
|
35
|
+
SillyId.haiku(0) # => "long-flower"
|
36
|
+
|
37
|
+
# Use a different delimiter
|
38
|
+
SillyId.haiku(9999, '.') # => "cool.leaf.6743"
|
39
|
+
|
40
|
+
# No token, no delimiter
|
41
|
+
SillyId.haiku(0, ' ') # => "green fire"
|
42
|
+
```
|
43
|
+
|
44
|
+
## Supported locales
|
45
|
+
|
46
|
+
- [x] English
|
47
|
+
- [x] Dutch
|
48
|
+
- [ ] Adding your language is easy, see below ↓
|
49
|
+
|
50
|
+
## Contributing
|
51
|
+
|
52
|
+
Everyone is encouraged to help improve this project. Here are a few ways you can help:
|
53
|
+
|
54
|
+
- Add adjectives and nouns for your language, see `lib/silly-id/words/`
|
55
|
+
- Report bugs
|
56
|
+
- Fix bugs and submit pull requests
|
57
|
+
- Write, clarify, or fix documentation
|
58
|
+
- Suggest or add new features
|
data/Rakefile
ADDED
data/lib/silly-id.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'silly-id/version'
|
4
|
+
require 'securerandom'
|
5
|
+
require 'i18n'
|
6
|
+
|
7
|
+
module SillyId
|
8
|
+
class << self
|
9
|
+
def haiku(token_range = 9999, delimiter = '-')
|
10
|
+
build_haiku(token_range, delimiter)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def build_haiku(token_range, delimiter)
|
16
|
+
sections = [
|
17
|
+
adjectives[random_seed % adjectives.length],
|
18
|
+
nouns[random_seed % nouns.length],
|
19
|
+
token(token_range)
|
20
|
+
]
|
21
|
+
|
22
|
+
sections.compact.join(delimiter)
|
23
|
+
end
|
24
|
+
|
25
|
+
def random_seed
|
26
|
+
SecureRandom.random_number(4096)
|
27
|
+
end
|
28
|
+
|
29
|
+
def token(range)
|
30
|
+
SecureRandom.random_number(range) if range.positive?
|
31
|
+
end
|
32
|
+
|
33
|
+
def supported_locales
|
34
|
+
@supported_locales ||= begin
|
35
|
+
Dir.glob(File.expand_path("../silly-id/words/*", __FILE__)).map do |path|
|
36
|
+
File.basename(path, ".txt").split('_').first.to_sym
|
37
|
+
end.uniq.sort
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def locale_supported?(locale)
|
42
|
+
supported_locales.include?(locale)
|
43
|
+
end
|
44
|
+
|
45
|
+
def locale
|
46
|
+
locale_supported?(I18n.locale) ? I18n.locale : :en
|
47
|
+
end
|
48
|
+
|
49
|
+
def adjectives
|
50
|
+
File.read(File.expand_path("../silly-id/words/#{locale}_adjectives.txt", __FILE__)).split("\n")
|
51
|
+
end
|
52
|
+
|
53
|
+
def nouns
|
54
|
+
File.read(File.expand_path("../silly-id/words/#{locale}_nouns.txt", __FILE__)).split("\n")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
autumn
|
2
|
+
hidden
|
3
|
+
bitter
|
4
|
+
misty
|
5
|
+
silent
|
6
|
+
empty
|
7
|
+
dry
|
8
|
+
dark
|
9
|
+
summer
|
10
|
+
icy
|
11
|
+
delicate
|
12
|
+
quiet
|
13
|
+
white
|
14
|
+
cool
|
15
|
+
spring
|
16
|
+
winter
|
17
|
+
patient
|
18
|
+
twilight
|
19
|
+
dawn
|
20
|
+
crimson
|
21
|
+
wispy
|
22
|
+
weathered
|
23
|
+
blue
|
24
|
+
billowing
|
25
|
+
broken
|
26
|
+
cold
|
27
|
+
damp
|
28
|
+
falling
|
29
|
+
frosty
|
30
|
+
green
|
31
|
+
long
|
32
|
+
late
|
33
|
+
lingering
|
34
|
+
bold
|
35
|
+
little
|
36
|
+
morning
|
37
|
+
muddy
|
38
|
+
old
|
39
|
+
red
|
40
|
+
rough
|
41
|
+
still
|
42
|
+
small
|
43
|
+
sparkling
|
44
|
+
throbbing
|
45
|
+
shy
|
46
|
+
wandering
|
47
|
+
withered
|
48
|
+
wild
|
49
|
+
black
|
50
|
+
young
|
51
|
+
holy
|
52
|
+
solitary
|
53
|
+
fragrant
|
54
|
+
aged
|
55
|
+
snowy
|
56
|
+
proud
|
57
|
+
floral
|
58
|
+
restless
|
59
|
+
divine
|
60
|
+
polished
|
61
|
+
ancient
|
62
|
+
purple
|
63
|
+
lively
|
64
|
+
nameless
|
@@ -0,0 +1,63 @@
|
|
1
|
+
waterfall
|
2
|
+
river
|
3
|
+
breeze
|
4
|
+
moon
|
5
|
+
rain
|
6
|
+
wind
|
7
|
+
sea
|
8
|
+
morning
|
9
|
+
snow
|
10
|
+
lake sunset
|
11
|
+
pine
|
12
|
+
shadow
|
13
|
+
leaf
|
14
|
+
dawn
|
15
|
+
glitter
|
16
|
+
forest
|
17
|
+
hill
|
18
|
+
cloud
|
19
|
+
meadow
|
20
|
+
sun
|
21
|
+
glade
|
22
|
+
bird
|
23
|
+
brook
|
24
|
+
butterfly
|
25
|
+
bush
|
26
|
+
dew
|
27
|
+
dust
|
28
|
+
field
|
29
|
+
fire
|
30
|
+
flower
|
31
|
+
firefly
|
32
|
+
feather
|
33
|
+
grass
|
34
|
+
haze
|
35
|
+
mountain
|
36
|
+
night
|
37
|
+
pond
|
38
|
+
darkness
|
39
|
+
snowflake
|
40
|
+
silence
|
41
|
+
sound
|
42
|
+
sky
|
43
|
+
shape
|
44
|
+
surf
|
45
|
+
thunder
|
46
|
+
violet
|
47
|
+
water
|
48
|
+
wildflower
|
49
|
+
wave
|
50
|
+
water
|
51
|
+
resonance
|
52
|
+
sun
|
53
|
+
wood
|
54
|
+
dream
|
55
|
+
cherry
|
56
|
+
tree
|
57
|
+
fog
|
58
|
+
frost
|
59
|
+
voice
|
60
|
+
paper
|
61
|
+
frog
|
62
|
+
smoke
|
63
|
+
star
|
@@ -0,0 +1,133 @@
|
|
1
|
+
aanlokkelijke
|
2
|
+
aanstekelijke
|
3
|
+
aantrekkelijke
|
4
|
+
adembenemende
|
5
|
+
almachtige
|
6
|
+
appetijtelijke
|
7
|
+
barstensvolle
|
8
|
+
beeldschone
|
9
|
+
beregoede
|
10
|
+
betoverende
|
11
|
+
bijzondere
|
12
|
+
bliksemsnelle
|
13
|
+
bloedstollende
|
14
|
+
boeiende
|
15
|
+
briljante
|
16
|
+
brute
|
17
|
+
buitengewone
|
18
|
+
buitensporige
|
19
|
+
charmante
|
20
|
+
comfortabele
|
21
|
+
daverende
|
22
|
+
denderende
|
23
|
+
duizelingwekkende
|
24
|
+
effectieve
|
25
|
+
elegante
|
26
|
+
enerverende
|
27
|
+
enorme
|
28
|
+
exceptionele
|
29
|
+
exclusieve
|
30
|
+
exotische
|
31
|
+
extreme
|
32
|
+
fabuleuse
|
33
|
+
fantastische
|
34
|
+
fascinerende
|
35
|
+
favoriete
|
36
|
+
feestelijke
|
37
|
+
fenomenale
|
38
|
+
formidabele
|
39
|
+
geestige
|
40
|
+
gegarandeerde
|
41
|
+
geheime
|
42
|
+
gemakkelijke
|
43
|
+
geniale
|
44
|
+
gepeperde
|
45
|
+
geweldige
|
46
|
+
gigantische
|
47
|
+
glansrijke
|
48
|
+
glasheldere
|
49
|
+
grandiose
|
50
|
+
grappige
|
51
|
+
heerlijke
|
52
|
+
hevige
|
53
|
+
hilarische
|
54
|
+
hoogstaande
|
55
|
+
hysterische
|
56
|
+
ideale
|
57
|
+
immense
|
58
|
+
indrukwekkende
|
59
|
+
intense
|
60
|
+
interessante
|
61
|
+
jaloersmakende
|
62
|
+
krachtige
|
63
|
+
loeiharde
|
64
|
+
lollige
|
65
|
+
lumineuse
|
66
|
+
machtige
|
67
|
+
magische
|
68
|
+
magnifieke
|
69
|
+
majestueuse
|
70
|
+
meeslepende
|
71
|
+
meesterlijke
|
72
|
+
mieterse
|
73
|
+
moderne
|
74
|
+
mooie
|
75
|
+
onbegrensde
|
76
|
+
onbetwiste
|
77
|
+
ongeëvenaarde
|
78
|
+
ongekende
|
79
|
+
onmetelijke
|
80
|
+
onovertroffene
|
81
|
+
onoverwinnelijke
|
82
|
+
onstuitbaare
|
83
|
+
onvoorstelbaare
|
84
|
+
opgeruimde
|
85
|
+
opzienbarende
|
86
|
+
originele
|
87
|
+
overdonderende
|
88
|
+
overweldigende
|
89
|
+
perfecte
|
90
|
+
pijlsnelle
|
91
|
+
pikante
|
92
|
+
plezierige
|
93
|
+
populaire
|
94
|
+
prachtige
|
95
|
+
prettige
|
96
|
+
professionele
|
97
|
+
razendsnelle
|
98
|
+
relaxte
|
99
|
+
reusachtige
|
100
|
+
revolutionaire
|
101
|
+
rotsvaste
|
102
|
+
royale
|
103
|
+
schitterende
|
104
|
+
schokkende
|
105
|
+
sensationele
|
106
|
+
smaakvolle
|
107
|
+
snoeiharde
|
108
|
+
spannende
|
109
|
+
spectaculaire
|
110
|
+
sterke
|
111
|
+
stoere
|
112
|
+
subtiele
|
113
|
+
super-de-luxe
|
114
|
+
toonaangevende
|
115
|
+
toffe
|
116
|
+
trefzekere
|
117
|
+
uitbundige
|
118
|
+
uitmuntende
|
119
|
+
uitstekende
|
120
|
+
ultieme
|
121
|
+
unieke
|
122
|
+
verbazende
|
123
|
+
verrukkelijke
|
124
|
+
vette
|
125
|
+
vliegende
|
126
|
+
vrolijke
|
127
|
+
waanzinnige
|
128
|
+
weergaloze
|
129
|
+
wervelende
|
130
|
+
wrede
|
131
|
+
zekere
|
132
|
+
zeldzame
|
133
|
+
zwoele
|
@@ -0,0 +1,219 @@
|
|
1
|
+
aardvarken
|
2
|
+
albatros
|
3
|
+
alligator
|
4
|
+
alpaca
|
5
|
+
mier
|
6
|
+
miereneter
|
7
|
+
antilope
|
8
|
+
aap
|
9
|
+
gordeldier
|
10
|
+
baviaan
|
11
|
+
das
|
12
|
+
barracuda
|
13
|
+
vleermuis
|
14
|
+
beer
|
15
|
+
bever
|
16
|
+
bij
|
17
|
+
bizon
|
18
|
+
buffel
|
19
|
+
vlinder
|
20
|
+
kameel
|
21
|
+
capybara
|
22
|
+
caribou
|
23
|
+
casuaris
|
24
|
+
kat
|
25
|
+
rups
|
26
|
+
vee
|
27
|
+
gems
|
28
|
+
cheetah
|
29
|
+
kip
|
30
|
+
chimpansee
|
31
|
+
chinchilla
|
32
|
+
kauw
|
33
|
+
clam
|
34
|
+
cobra
|
35
|
+
kakkerlak
|
36
|
+
kabeljauw
|
37
|
+
aalscholver
|
38
|
+
coyote
|
39
|
+
krab
|
40
|
+
kraan
|
41
|
+
krokodil
|
42
|
+
kraai
|
43
|
+
wulp
|
44
|
+
hert
|
45
|
+
dinosaurus
|
46
|
+
hond
|
47
|
+
doornhaai
|
48
|
+
dolfijn
|
49
|
+
ezel
|
50
|
+
lobbes
|
51
|
+
duif
|
52
|
+
libel
|
53
|
+
eend
|
54
|
+
dugong
|
55
|
+
dunlin
|
56
|
+
adelaar
|
57
|
+
mier
|
58
|
+
paling
|
59
|
+
eland
|
60
|
+
olifant
|
61
|
+
zeeolifant
|
62
|
+
eland
|
63
|
+
emoe
|
64
|
+
valk
|
65
|
+
fret
|
66
|
+
vink
|
67
|
+
vis
|
68
|
+
flamingo
|
69
|
+
vlieg
|
70
|
+
vos
|
71
|
+
kikker
|
72
|
+
gaur
|
73
|
+
gazelle
|
74
|
+
gerbil
|
75
|
+
guanaco
|
76
|
+
panda
|
77
|
+
giraffe
|
78
|
+
mug
|
79
|
+
gnoe
|
80
|
+
geit
|
81
|
+
gans
|
82
|
+
distelvink
|
83
|
+
goudvis
|
84
|
+
gorilla
|
85
|
+
havik
|
86
|
+
sprinkhaan
|
87
|
+
kankeren
|
88
|
+
parelhoen
|
89
|
+
cavia
|
90
|
+
meeuw
|
91
|
+
hamster
|
92
|
+
haas
|
93
|
+
havik
|
94
|
+
egel
|
95
|
+
reiger
|
96
|
+
haring
|
97
|
+
nijlpaard
|
98
|
+
horzel
|
99
|
+
paard
|
100
|
+
mens
|
101
|
+
kolibrie
|
102
|
+
hyena
|
103
|
+
steenbok
|
104
|
+
ibis
|
105
|
+
jakhals
|
106
|
+
jaguar
|
107
|
+
vlaamse gaai
|
108
|
+
kwal
|
109
|
+
kangoeroe
|
110
|
+
ijsvogel
|
111
|
+
koala
|
112
|
+
komodo-dragon
|
113
|
+
kookabura
|
114
|
+
kouprey
|
115
|
+
kudu
|
116
|
+
kievit
|
117
|
+
leeuwerik
|
118
|
+
lemur
|
119
|
+
luipaard
|
120
|
+
leeuw
|
121
|
+
lama
|
122
|
+
kreeft
|
123
|
+
sprinkhaan
|
124
|
+
loris
|
125
|
+
luis
|
126
|
+
vogel
|
127
|
+
ekster
|
128
|
+
eend
|
129
|
+
zeekoe
|
130
|
+
baviaan
|
131
|
+
mantis
|
132
|
+
marter
|
133
|
+
meerkat
|
134
|
+
nerts
|
135
|
+
mol
|
136
|
+
mangoest
|
137
|
+
aap
|
138
|
+
eland
|
139
|
+
muis
|
140
|
+
mug
|
141
|
+
muildier
|
142
|
+
narwal
|
143
|
+
watersalamander
|
144
|
+
nachtegaal
|
145
|
+
octopus
|
146
|
+
okapi
|
147
|
+
buidelrat
|
148
|
+
struisvogel
|
149
|
+
otter
|
150
|
+
uil
|
151
|
+
os
|
152
|
+
oester
|
153
|
+
panter
|
154
|
+
papegaai
|
155
|
+
patrijs
|
156
|
+
pauw
|
157
|
+
pelikaan
|
158
|
+
pinguïn
|
159
|
+
fazant
|
160
|
+
duif
|
161
|
+
ijsbeer
|
162
|
+
pony
|
163
|
+
stekelvarken
|
164
|
+
bruinvis
|
165
|
+
prairiehond
|
166
|
+
kwartel
|
167
|
+
quelea
|
168
|
+
quetzal
|
169
|
+
konijn
|
170
|
+
wasbeer
|
171
|
+
ram
|
172
|
+
raaf
|
173
|
+
hert
|
174
|
+
panda
|
175
|
+
rendier
|
176
|
+
neushoorn
|
177
|
+
salamander
|
178
|
+
zalm
|
179
|
+
schorpioen
|
180
|
+
zeeleeuw
|
181
|
+
egel
|
182
|
+
zeepaardje
|
183
|
+
haai
|
184
|
+
schapen
|
185
|
+
spitsmuis
|
186
|
+
stinkdier
|
187
|
+
slak
|
188
|
+
slang
|
189
|
+
mus
|
190
|
+
spin
|
191
|
+
lepelaar
|
192
|
+
inktvis
|
193
|
+
eekhoorn
|
194
|
+
spreeuw
|
195
|
+
pijlstaartrog
|
196
|
+
schildwants
|
197
|
+
ooievaar
|
198
|
+
zwaan
|
199
|
+
tapir
|
200
|
+
termiet
|
201
|
+
tijger
|
202
|
+
pad
|
203
|
+
forel
|
204
|
+
schildpad
|
205
|
+
adder
|
206
|
+
gier
|
207
|
+
kangoeroe
|
208
|
+
walrus
|
209
|
+
wesp
|
210
|
+
waterbuffel
|
211
|
+
wezel
|
212
|
+
walvis
|
213
|
+
wolf
|
214
|
+
wolverine
|
215
|
+
wombat
|
216
|
+
specht
|
217
|
+
worm
|
218
|
+
jak
|
219
|
+
zebra
|
data/silly-id.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'silly-id/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'silly-id'
|
9
|
+
spec.version = SillyId::VERSION
|
10
|
+
spec.authors = ['Glenn Jones']
|
11
|
+
spec.email = ['glenn@glennjon.es']
|
12
|
+
spec.summary = 'Locale-aware heroku-like random name generator, just a tad more silly'
|
13
|
+
spec.description = 'Generate memorable random names to use in your apps'\
|
14
|
+
' or anywhere else.'
|
15
|
+
spec.homepage = 'https://github.com/glennpjones/silly-id'
|
16
|
+
spec.license = 'MIT'
|
17
|
+
|
18
|
+
spec.files = `git ls-files -z`.split("\x0")
|
19
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
21
|
+
spec.require_paths = ['lib']
|
22
|
+
|
23
|
+
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'rspec'
|
25
|
+
|
26
|
+
spec.add_dependency 'i18n'
|
27
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../spec_helper'
|
4
|
+
|
5
|
+
describe SillyId do
|
6
|
+
it 'generates a name like still-silence-5012' do
|
7
|
+
name = SillyId.haiku
|
8
|
+
|
9
|
+
expect(name).to match(/\A\w+-\w+-\d{1,4}\z/)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "won't return the same name for subsequent calls" do
|
13
|
+
name1 = SillyId.haiku
|
14
|
+
name2 = SillyId.haiku
|
15
|
+
|
16
|
+
expect(name1).not_to eql(name2)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'permits optional configuration of the token range' do
|
20
|
+
name = SillyId.haiku(9)
|
21
|
+
|
22
|
+
expect(name).to match(/-\d{1}\z/)
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'drops the token if token range is 0' do
|
26
|
+
name = SillyId.haiku(0)
|
27
|
+
|
28
|
+
expect(name).to match(/\A\w+-\w+\z/)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'permits optional configuration of the delimiter' do
|
32
|
+
name = SillyId.haiku(9999, '.')
|
33
|
+
|
34
|
+
expect(name).to match(/\A\w+\.\w+\.\d{1,4}\z/)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'drops the token and delimiter if token range is 0 and delimiter empty space' do
|
38
|
+
name = SillyId.haiku(0, ' ')
|
39
|
+
|
40
|
+
expect(name).to match(/\A\w+ \w+\z/)
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'private' do
|
44
|
+
describe '#supported_locales' do
|
45
|
+
it 'returns a list of supported locales' do
|
46
|
+
expect(SillyId.send(:supported_locales)).to eq(%w[en nl])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '#locale' do
|
51
|
+
it 'defaults to :en' do
|
52
|
+
expect(SillyId.send(:locale)).to eq(:en)
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'supports :nl' do
|
56
|
+
allow(I18n).to receive(:locale).and_return(:nl)
|
57
|
+
expect(SillyId.send(:locale)).to eq(:nl)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'defaults to :en when unsupported locale' do
|
61
|
+
allow(I18n).to receive(:locale).and_return(:pl)
|
62
|
+
expect(SillyId.send(:locale)).to eq(:en)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# require "coveralls"
|
4
|
+
# Coveralls.wear!
|
5
|
+
|
6
|
+
require 'silly-id'
|
7
|
+
|
8
|
+
RSpec.configure do |config|
|
9
|
+
config.expect_with :rspec do |expectations|
|
10
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
11
|
+
end
|
12
|
+
|
13
|
+
config.mock_with :rspec do |mocks|
|
14
|
+
mocks.verify_partial_doubles = true
|
15
|
+
end
|
16
|
+
|
17
|
+
# Use the specified formatter
|
18
|
+
config.formatter = :documentation
|
19
|
+
|
20
|
+
# Print top 2 slowest examples
|
21
|
+
config.profile_examples = 2
|
22
|
+
|
23
|
+
# Run specs in random order
|
24
|
+
config.order = :random
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: silly-id
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Glenn Jones
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-08-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
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: i18n
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Generate memorable random names to use in your apps or anywhere else.
|
56
|
+
email:
|
57
|
+
- glenn@glennjon.es
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- ".rspec"
|
64
|
+
- ".rubocop.yml"
|
65
|
+
- Gemfile
|
66
|
+
- LICENSE.txt
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- lib/silly-id.rb
|
70
|
+
- lib/silly-id/version.rb
|
71
|
+
- lib/silly-id/words/en_adjectives.txt
|
72
|
+
- lib/silly-id/words/en_nouns.txt
|
73
|
+
- lib/silly-id/words/nl_adjectives.txt
|
74
|
+
- lib/silly-id/words/nl_nouns.txt
|
75
|
+
- silly-id.gemspec
|
76
|
+
- spec/lib/silly-id_spec.rb
|
77
|
+
- spec/spec_helper.rb
|
78
|
+
homepage: https://github.com/glennpjones/silly-id
|
79
|
+
licenses:
|
80
|
+
- MIT
|
81
|
+
metadata: {}
|
82
|
+
post_install_message:
|
83
|
+
rdoc_options: []
|
84
|
+
require_paths:
|
85
|
+
- lib
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
requirements: []
|
97
|
+
rubygems_version: 3.0.3
|
98
|
+
signing_key:
|
99
|
+
specification_version: 4
|
100
|
+
summary: Locale-aware heroku-like random name generator, just a tad more silly
|
101
|
+
test_files:
|
102
|
+
- spec/lib/silly-id_spec.rb
|
103
|
+
- spec/spec_helper.rb
|