story-gen 0.1.4 → 0.1.5
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.
- 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
|