do_username 0.0.2 → 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.
- checksums.yaml +4 -4
- data/lib/do_username.rb +36 -21
- metadata +65 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 730e7a6cf257a9c5bf9732d67c3d0339868fa3a5c97ebeb6fac30c8c20b931c9
|
4
|
+
data.tar.gz: 407c5460760080179c16be991b33d48035b586c9e129cb1dad7caf44d7f67a85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bf420f496e85f2763af426c7e79e776050ef0893d9e6b732c9932d8d6ac205cbf349e95f32ec8b12dbadf951ba4d80c0461d153c8819f70ab2584cec7384839
|
7
|
+
data.tar.gz: ba52e487d9c146633e39a6b74f1af194220653dcdeb6b07bf036535081a04894f6cec327e6b7db60c8e0922a080141938cd4b7d2965e705353fb55721716c008
|
data/lib/do_username.rb
CHANGED
@@ -1,16 +1,28 @@
|
|
1
1
|
module DOUsername
|
2
|
-
SEA_CREATURES = %w
|
3
|
-
|
2
|
+
SEA_CREATURES = %w[
|
3
|
+
walrus seal fish shark clam coral whale crab lobster starfish eel dolphin
|
4
|
+
squid jellyfish ray shrimp mantaRay angler snorkler scubaDiver urchin
|
5
|
+
anemone morel axolotl
|
6
|
+
].freeze
|
7
|
+
SEA_OBJECTS = %w[boat ship submarine yacht dinghy raft kelp seaweed anchor].freeze
|
4
8
|
|
5
|
-
|
6
|
-
SIZE_DESCRIPTORS = %w
|
7
|
-
CREATURE_DESCRIPTORS= %w
|
9
|
+
ADJECTIVE_DESCRIPTORS = %w[cute adorable lovable happy sandy bubbly friendly floating drifting].freeze
|
10
|
+
SIZE_DESCRIPTORS = %w[large big small giant massive tiny little].freeze
|
11
|
+
CREATURE_DESCRIPTORS = %w[swimming sleeping eating hiding].freeze
|
8
12
|
|
9
|
-
|
13
|
+
SEA_LIST = (SEA_OBJECTS + SEA_CREATURES).freeze
|
14
|
+
DESCRIPTORS = (ADJECTIVE_DESCRIPTORS + SIZE_DESCRIPTORS).freeze
|
15
|
+
|
16
|
+
COLORS = %w[
|
17
|
+
blue blueGreen darkCyan electricBlue greenBlue lightCyan lightSeaGreen seaGreen
|
18
|
+
turquoise aqua aquamarine teal cyan gray darkBlue cerulean azure lapis navy
|
19
|
+
].freeze
|
10
20
|
|
11
21
|
extend self
|
12
22
|
|
13
23
|
def generate(max_size = 30)
|
24
|
+
raise ArgumentError, 'The max_size argument must be an integer number greater than zero.' if max_size.to_i <= 0
|
25
|
+
|
14
26
|
# Choose a noun first
|
15
27
|
noun = random_noun
|
16
28
|
|
@@ -25,29 +37,19 @@ module DOUsername
|
|
25
37
|
descriptor = format(descriptor)
|
26
38
|
color = format(color)
|
27
39
|
|
28
|
-
|
29
|
-
if (descriptor + color + noun).length <= max_size
|
30
|
-
descriptor + color + noun
|
31
|
-
elsif (descriptor + noun).length <= max_size
|
32
|
-
descriptor + noun
|
33
|
-
elsif (color + noun).length <= max_size
|
34
|
-
color + noun
|
35
|
-
else
|
36
|
-
noun[0...max_size]
|
37
|
-
end
|
40
|
+
combine_username(max_size, descriptor, color, noun)
|
38
41
|
end
|
39
42
|
|
40
43
|
private
|
41
44
|
|
42
45
|
def random_noun
|
43
|
-
|
46
|
+
SEA_LIST.sample
|
44
47
|
end
|
45
48
|
|
46
49
|
def random_descriptor(noun)
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
descriptors.sample
|
50
|
+
return DESCRIPTORS.sample unless SEA_CREATURES.include?(noun)
|
51
|
+
|
52
|
+
(DESCRIPTORS + CREATURE_DESCRIPTORS).sample
|
51
53
|
end
|
52
54
|
|
53
55
|
def random_color
|
@@ -57,4 +59,17 @@ module DOUsername
|
|
57
59
|
def format(string)
|
58
60
|
string[0].upcase + string[1..-1]
|
59
61
|
end
|
62
|
+
|
63
|
+
def combine_username(max_size, descriptor, color, noun)
|
64
|
+
# Combine to create username shorter than or equal to given length
|
65
|
+
if (descriptor + color + noun).length <= max_size
|
66
|
+
descriptor + color + noun
|
67
|
+
elsif (descriptor + noun).length <= max_size
|
68
|
+
descriptor + noun
|
69
|
+
elsif (color + noun).length <= max_size
|
70
|
+
color + noun
|
71
|
+
else
|
72
|
+
noun[0...max_size]
|
73
|
+
end
|
74
|
+
end
|
60
75
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: do_username
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DigitalOcean
|
@@ -9,8 +9,64 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-10-
|
13
|
-
dependencies:
|
12
|
+
date: 2020-10-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '3.9'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '3.9'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rubocop
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.90.0
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.90.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rubocop-performance
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '1.8'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '1.8'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rubocop-rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.43'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.43'
|
14
70
|
description: A DigitalOcean-community-themed username generator.
|
15
71
|
email: me@mattcowley.co.uk
|
16
72
|
executables: []
|
@@ -18,10 +74,13 @@ extensions: []
|
|
18
74
|
extra_rdoc_files: []
|
19
75
|
files:
|
20
76
|
- lib/do_username.rb
|
21
|
-
homepage: https://
|
77
|
+
homepage: https://github.com/MattIPv4/do_username/tree/master/ruby#readme
|
22
78
|
licenses:
|
23
79
|
- Apache-2.0
|
24
|
-
metadata:
|
80
|
+
metadata:
|
81
|
+
bug_tracker_uri: https://github.com/MattIPv4/do_username/issues
|
82
|
+
homepage_uri: https://github.com/MattIPv4/do_username/tree/master/ruby#readme
|
83
|
+
source_code_uri: https://github.com/MattIPv4/do_username
|
25
84
|
post_install_message:
|
26
85
|
rdoc_options: []
|
27
86
|
require_paths:
|
@@ -30,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
30
89
|
requirements:
|
31
90
|
- - ">="
|
32
91
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
92
|
+
version: 2.5.0
|
34
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
94
|
requirements:
|
36
95
|
- - ">="
|