name-generator 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|