name-generator 0.1.2 → 0.1.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/README.md +12 -0
- data/Rakefile +20 -0
- data/lib/name-generator/main.rb +13 -23
- data/lib/name-generator/version.rb +3 -2
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec178ae128ee1ff1f1c0d50866c81bfb71ba59fc
|
4
|
+
data.tar.gz: 1f923c479dcd9a63b7a02ed8145975bb7de3517a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16a7d908ae57eb2e1cfaa1bdd902c01464f92512dae1eadf703d9b92da6486f6b6a5f3e4783bdfc24f0b29945b705eaf6a8e05e17e2a31908d0454f3c0a2c2d3
|
7
|
+
data.tar.gz: a51895083b7e1a178c49adc11d56844ec3d0b38d5ade009000c3c7a983b7f7a2953e5f5c578487425a377de87afc267e5598eb68e925f231935d51d23d921ed5
|
data/README.md
CHANGED
@@ -17,6 +17,18 @@ Use in your code:
|
|
17
17
|
generator = NameGenerator::Main.new
|
18
18
|
puts generator.next_name
|
19
19
|
# => "Foonqtar"
|
20
|
+
|
21
|
+
10.times { puts generator.next_name }
|
22
|
+
Ties
|
23
|
+
Hamiedla
|
24
|
+
Artoni
|
25
|
+
Folo
|
26
|
+
Acendro
|
27
|
+
Jula
|
28
|
+
Tuveqtpha
|
29
|
+
Gubouna
|
30
|
+
Axlesone
|
31
|
+
Oisova
|
20
32
|
```
|
21
33
|
|
22
34
|
For more examples see [the specs](spec/name-generator/main_spec.rb).
|
data/Rakefile
CHANGED
@@ -5,3 +5,23 @@ require 'bundler/gem_tasks'
|
|
5
5
|
require 'rspec/core/rake_task'
|
6
6
|
RSpec::Core::RakeTask.new(:spec)
|
7
7
|
task default: :spec
|
8
|
+
|
9
|
+
desc 'Do what a CI server would do'
|
10
|
+
task ci: [:spec, 'test:rubocop']
|
11
|
+
|
12
|
+
namespace :test do
|
13
|
+
require 'rubocop/rake_task'
|
14
|
+
RuboCop::RakeTask.new(:rubocop) do |task|
|
15
|
+
# run with .rubocop.yml config:
|
16
|
+
task.options = [
|
17
|
+
'--config', '.rubocop.yml',
|
18
|
+
'--fail-level', 'W'
|
19
|
+
]
|
20
|
+
# only show the files with failures
|
21
|
+
task.formatters = %w(clang offenses)
|
22
|
+
# silence "Running RuboCop..." output:
|
23
|
+
task.verbose = ENV['CI']
|
24
|
+
# abort rake on failure
|
25
|
+
task.fail_on_error = true
|
26
|
+
end
|
27
|
+
end
|
data/lib/name-generator/main.rb
CHANGED
@@ -7,24 +7,22 @@
|
|
7
7
|
# the Mote project (http://mote.sourceforge.net/)
|
8
8
|
|
9
9
|
module NameGenerator
|
10
|
+
# Your one stop location for generating random names
|
10
11
|
class Main
|
11
|
-
|
12
|
-
def next_name syllables = random_syllable_count
|
12
|
+
def next_name(syllables = random_syllable_count)
|
13
13
|
name = generate_name(syllables)
|
14
|
-
until sensible_name?(name)
|
15
|
-
name = generate_name(syllables)
|
16
|
-
end
|
14
|
+
name = generate_name(syllables) until sensible_name?(name)
|
17
15
|
titlecase(name)
|
18
16
|
end
|
19
17
|
|
20
18
|
private
|
21
19
|
|
22
|
-
def titlecase
|
20
|
+
def titlecase(name)
|
23
21
|
name[0] = name[0].upcase
|
24
22
|
name
|
25
23
|
end
|
26
24
|
|
27
|
-
def generate_name
|
25
|
+
def generate_name(syllables)
|
28
26
|
name = (1...syllables).collect do
|
29
27
|
digraphs.sample
|
30
28
|
end
|
@@ -33,8 +31,8 @@ module NameGenerator
|
|
33
31
|
name.join
|
34
32
|
end
|
35
33
|
|
36
|
-
def sensible_name?
|
37
|
-
name
|
34
|
+
def sensible_name?(name)
|
35
|
+
name != ~ /.*[aeiou]{3}.*/i # reject if at least three vowels in a row
|
38
36
|
end
|
39
37
|
|
40
38
|
def random_syllable_count
|
@@ -42,23 +40,15 @@ module NameGenerator
|
|
42
40
|
end
|
43
41
|
|
44
42
|
def digraphs
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
"le", "lo", "mi", "mo", "na", "ne", "ne", "ni", "no", "o", "ob", "oi",
|
50
|
-
"ol", "on", "or", "or", "os", "ou", "pe", "pi", "po", "qt", "re", "ro",
|
51
|
-
"sa", "se", "so", "ta", "te", "ti", "to", "tu", "ud", "um", "un", "us",
|
52
|
-
"ut", "va", "ve", "ve", "za", "zi"
|
53
|
-
]
|
43
|
+
%w(a ac ad ar as at ax ba bi bo ce ci co de di e ed en es ex fa fo
|
44
|
+
ga ge gi gu ha he in is it ju ka ky la le le lo mi mo na ne ne ni
|
45
|
+
no o ob oi ol on or or os ou pe pi po qt re ro sa se so ta te ti
|
46
|
+
to tu ud um un us ut va ve ve za zi)
|
54
47
|
end
|
55
48
|
|
56
49
|
def trigraphs
|
57
|
-
|
58
|
-
|
59
|
-
"she", "sta", "stu", "tha", "the", "thi", "thy", "tri"
|
60
|
-
]
|
50
|
+
%w(cla clu cra cre dre dro pha phi pho sha she sta stu tha the thi
|
51
|
+
thy tri)
|
61
52
|
end
|
62
|
-
|
63
53
|
end
|
64
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: name-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laust Rud Jacobsen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rubocop
|
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'
|
41
55
|
description:
|
42
56
|
email: laust@object.io
|
43
57
|
executables: []
|
@@ -71,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
85
|
version: '0'
|
72
86
|
requirements: []
|
73
87
|
rubyforge_project:
|
74
|
-
rubygems_version: 2.4.
|
88
|
+
rubygems_version: 2.4.8
|
75
89
|
signing_key:
|
76
90
|
specification_version: 4
|
77
91
|
summary: Easily generate game-compatible names
|