story-gen 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/NEWS +3 -0
- data/lib/once.rb +5 -0
- data/lib/unique_names.rb +20 -7
- metadata +3 -2
data/NEWS
CHANGED
data/lib/once.rb
ADDED
data/lib/unique_names.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
+
require 'set'
|
3
|
+
require 'once'
|
2
4
|
|
3
|
-
# Infinite
|
5
|
+
# Infinite set of unique names.
|
4
6
|
class UniqueNames
|
5
7
|
|
6
8
|
# @param [Array<String>] base_names base names which will be used to
|
@@ -8,7 +10,8 @@ class UniqueNames
|
|
8
10
|
def initialize(base_names)
|
9
11
|
@base_names = base_names
|
10
12
|
@postfix_id = 0
|
11
|
-
|
13
|
+
@deleted_names = Set.new
|
14
|
+
reinit_current_names()
|
12
15
|
end
|
13
16
|
|
14
17
|
# @return [UniqueNames]
|
@@ -243,14 +246,24 @@ class UniqueNames
|
|
243
246
|
UniqueNames.new ["Olivia", "Grace", "Ruby", "Jessica", "Emily", "Sophie", "Chloe", "Lucy", "Lily", "Ella", "Ellie", "Amelia", "Charlotte", "Katie", "Mia", "Hannah", "Evie", "Megan", "Amy", "Isabella", "Millie", "Isabelle", "Abigail", "Freya", "Molly", "Daisy", "Holly", "Emma", "Erin", "Poppy", "Jasmine", "Phoebe", "Leah", "Keira", "Caitlin", "Imogen", "Madison", "Rebecca", "Elizabeth", "Georgia", "Sophia", "Lauren", "Scarlett", "Amber", "Ava", "Eleanor", "Bethany", "Alice", "Isabel", "Summer", "Paige", "Anna", "Lola", "Libby", "Eva", "Maisie", "Isobel", "Brooke", "Lilly", "Alisha", "Tia", "Sarah", "Amelie", "Gracie", "Faith", "Rosie", "Courtney", "Matilda", "Niamh", "Maddison", "Sienna", "Eve", "Aimee", "Skye", "Zara", "Isla", "Shannon", "Madeleine", "Harriet", "Zoe", "Nicole", "Sofia", "Abbie", "Maya", "Lacey", "Rachel", "Francesca", "Layla", "Lydia", "Alicia", "Hollie", "Martha", "Alexandra", "Julia", "Natasha", "Lexie", "Mollie", "Morgan", "Maria", "Demi", "Rose", "Laura", "Lara", "Victoria", "Tilly", "Sara", "Evelyn", "Eloise"]
|
244
247
|
end
|
245
248
|
|
249
|
+
# @param [String] name
|
250
|
+
# @return [self]
|
251
|
+
def delete(name)
|
252
|
+
@deleted_names.add name
|
253
|
+
return self
|
254
|
+
end
|
255
|
+
|
246
256
|
# @return [String]
|
247
257
|
def pop
|
248
|
-
|
249
|
-
|
250
|
-
@
|
251
|
-
|
258
|
+
once do
|
259
|
+
n = @current_names.pop + postfix
|
260
|
+
if @current_names.empty?
|
261
|
+
@postfix_id += 1
|
262
|
+
reinit_current_names
|
263
|
+
end
|
264
|
+
redo if @deleted_names.include? n
|
265
|
+
return n
|
252
266
|
end
|
253
|
-
return n
|
254
267
|
end
|
255
268
|
|
256
269
|
private
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: story-gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-02-
|
12
|
+
date: 2016-02-28 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Generate stories from descriptions based on Facts!
|
15
15
|
email: various.furriness@gmail.com
|
@@ -18,6 +18,7 @@ executables:
|
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- lib/once.rb
|
21
22
|
- lib/strscan/substr.rb
|
22
23
|
- lib/any.rb
|
23
24
|
- lib/fact.rb
|