haiku_gadget 1.0.1 → 1.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 688c2e392f62223bb9d6c3a72d9d7bdf2632c60b
4
- data.tar.gz: 54337eccdae51547fd4dbcdd460a71eabad02804
3
+ metadata.gz: 2a15537f69f3e149171a2514415edb876eab3510
4
+ data.tar.gz: bd8706dfbb15420681f2faeaed23cfddd5b03b14
5
5
  SHA512:
6
- metadata.gz: 329a5108ca7082ab7d6b605c10c6214abd80db2a3f1fa3c22d61edb4ec9c73c5a33b5ca151ac209dac8592acda241d25ec51f1d04ad8132d4f875a157db7a33c
7
- data.tar.gz: e0e851e0bb1df0e2a0681a822de438e3762b90ee59dff66961bc8b0adc761ae5b770d54010ed9feb5089902d63491278a946304cbe782bfc2196834017fd8c7c
6
+ metadata.gz: 323b3add5c00b3a07b77855ace907b81520cb7956385e322d56910c3df208265572566ef174aaf8d93eb984a10c68dd6e88094cf099c93505f9e469f08c847db
7
+ data.tar.gz: aff4b7a9ef98cd22d1d71df7f5ddc2de9d48a476a4397ee1ed6bf5482d3403deb12d3ef8d4e175f8320666d3be345e8c3f04158236e1d2bd795b00ede0f97173
data/README.md CHANGED
@@ -4,6 +4,8 @@ Generate random haikus!
4
4
 
5
5
  Uses an algorithm, a custom dictionary, some grammar rules, and a team of hamsters running in wheels.
6
6
 
7
+ ### Play with it at [haikugadget.com](http://www.haikugadget.com/)
8
+
7
9
  ## What is a haiku?
8
10
 
9
11
  A short poem consisting of three lines:
@@ -1,5 +1,5 @@
1
- require File.expand_path('word_template.rb', File.dirname(__FILE__))
2
1
  require File.expand_path('dictionary.rb', File.dirname(__FILE__))
2
+ require File.expand_path('line_templates.rb', File.dirname(__FILE__))
3
3
 
4
4
  module HaikuGadget
5
5
 
@@ -7,88 +7,13 @@ module HaikuGadget
7
7
 
8
8
  attr_reader :template_matrix
9
9
 
10
- COMMON_LINES = [
11
- [
12
- WordTemplate.new(:determiner, 0, :any, 1),
13
- WordTemplate.new(:noun, 1, :any, 1),
14
- WordTemplate.new(:verb, 1, :any, 1),
15
- WordTemplate.new(:mass_noun_determiner),
16
- WordTemplate.new(:mass_noun, 1)
17
- ], [
18
- WordTemplate.new(:adverb, 2),
19
- WordTemplate.new(:verb, 1, :plural),
20
- WordTemplate.new(:adjective, 0, :plural),
21
- WordTemplate.new(:noun, 1, :plural)
22
- ], [
23
- WordTemplate.new(:mass_noun_determiner),
24
- WordTemplate.new(:adjective, 0, :common),
25
- WordTemplate.new(:mass_noun, 1),
26
- WordTemplate.new(:to_be, 1, :singular),
27
- WordTemplate.new(:adjective, 1, :any)
28
- ], [
29
- WordTemplate.new(:determiner, 0, :any, 1),
30
- WordTemplate.new(:noun, 1, :any, 1),
31
- WordTemplate.new(:verb, 1, :any, 1),
32
- WordTemplate.new(:determiner, 0, :any, 2),
33
- WordTemplate.new(:noun, 1, :any, 2)
34
- ], [
35
- WordTemplate.new(:determiner, 0, :any, 1),
36
- WordTemplate.new(:adjective, 0, :any, 1),
37
- WordTemplate.new(:noun, 1, :any, 1),
38
- WordTemplate.custom('of', 1),
39
- WordTemplate.new(:mass_noun, 1),
40
- WordTemplate.new(:verb_self, 1, :any, 1)
41
- ], [
42
- WordTemplate.custom(%w(i we they), 1),
43
- WordTemplate.new(:verb, 1, :plural),
44
- WordTemplate.new(:determiner, 0, :any, 2),
45
- WordTemplate.new(:adjective, 0, :any, 2),
46
- WordTemplate.new(:noun, 1, :any, 2),
47
- WordTemplate.new(:adverb)
48
- ]
49
- ]
50
-
51
- MIDDLE_LINES = [
52
- [
53
- WordTemplate.new(:transition_join),
54
- WordTemplate.new(:determiner, 0, :any, 1),
55
- WordTemplate.new(:adjective, 0, :any, 1),
56
- WordTemplate.new(:noun, 1, :any, 1),
57
- WordTemplate.new(:verb_self, 1, :any, 1),
58
- WordTemplate.new(:adverb)
59
- ]
60
- ]
61
-
62
- BOTTOM_LINES = [
63
- [
64
- WordTemplate.new(:transition_join),
65
- WordTemplate.new(:adjective, 0, :plural, 1),
66
- WordTemplate.new(:noun, 1, :plural, 1),
67
- WordTemplate.new(:verb_self, 1, :plural, 1)
68
- ]
69
- ]
70
-
71
- ALL_TOP_LINES = [
72
- COMMON_LINES
73
- ].flatten(1)
74
-
75
- ALL_MIDDLE_LINES = [
76
- COMMON_LINES,
77
- MIDDLE_LINES
78
- ].flatten(1)
79
-
80
- ALL_BOTTOM_LINES = [
81
- COMMON_LINES,
82
- BOTTOM_LINES
83
- ].flatten(1)
84
-
85
10
  def initialize(template_matrix = nil)
86
11
  # generate a template_matrix randomly if one was not provided
87
12
  if template_matrix.nil?
88
13
  template_matrix = [
89
- HaikuTemplate.random_template(ALL_TOP_LINES),
90
- HaikuTemplate.random_template(ALL_MIDDLE_LINES),
91
- HaikuTemplate.random_template(ALL_BOTTOM_LINES)
14
+ HaikuTemplate.random_template(LineTemplates::ALL_TOP_LINES),
15
+ HaikuTemplate.random_template(LineTemplates::ALL_MIDDLE_LINES),
16
+ HaikuTemplate.random_template(LineTemplates::ALL_BOTTOM_LINES)
92
17
  ]
93
18
  end
94
19
  # clone the two-dimensional array (so syllable counts can be changed)
@@ -0,0 +1,163 @@
1
+ require File.expand_path('word_template.rb', File.dirname(__FILE__))
2
+
3
+ module HaikuGadget
4
+
5
+ module LineTemplates
6
+
7
+ COMMON_LINES = [
8
+ [
9
+ # noun(s) act on mass/abstract noun
10
+ WordTemplate.new(:determiner, 0, :any, 1),
11
+ WordTemplate.new(:noun, 1, :any, 1),
12
+ WordTemplate.new(:verb, 1, :any, 1),
13
+ WordTemplate.new(:mass_noun_determiner),
14
+ WordTemplate.new(:mass_noun, 1)
15
+ ], [
16
+ # imperative action (command)
17
+ WordTemplate.new(:adverb, 2),
18
+ WordTemplate.new(:verb, 1, :plural),
19
+ WordTemplate.new(:determiner, 0, :plural),
20
+ WordTemplate.new(:adjective, 0, :plural),
21
+ WordTemplate.new(:noun, 1, :plural)
22
+ ], [
23
+ # mass/abstract noun is adj
24
+ WordTemplate.new(:mass_noun_determiner),
25
+ WordTemplate.new(:adjective, 0, :common),
26
+ WordTemplate.new(:mass_noun, 1),
27
+ WordTemplate.new(:to_be, 1, :singular),
28
+ WordTemplate.new(:adjective, 1, :any)
29
+ ], [
30
+ # noun(s) of mass/abstract noun acts
31
+ WordTemplate.new(:determiner, 0, :any, 1),
32
+ WordTemplate.new(:adjective, 0, :any, 1),
33
+ WordTemplate.new(:noun, 1, :any, 1),
34
+ WordTemplate.custom('of', 1),
35
+ WordTemplate.new(:mass_noun, 1),
36
+ WordTemplate.new(:verb_self, 1, :any, 1)
37
+ ], [
38
+ # adj noun is adj
39
+ WordTemplate.new(:adjective, 0, :any, 1),
40
+ WordTemplate.new(:noun, 1, :any, 1),
41
+ WordTemplate.new(:to_be, 1, :any, 1),
42
+ WordTemplate.new(:adjective, 1, :any, 1)
43
+ ], [
44
+ # metaphors
45
+ [
46
+ WordTemplate.new(:adjective, 0, :common),
47
+ WordTemplate.new(:mass_noun, 1),
48
+ WordTemplate.custom('is like', 2),
49
+ WordTemplate.new(:adjective, 0, :common),
50
+ WordTemplate.new(:mass_noun, 1)
51
+ ], [
52
+ WordTemplate.new(:adjective, 0, :plural),
53
+ WordTemplate.new(:noun, 1, :plural),
54
+ WordTemplate.custom('are like', 2),
55
+ WordTemplate.new(:adjective, 0, :common),
56
+ WordTemplate.new(:mass_noun, 1)
57
+ ], [
58
+ WordTemplate.new(:determiner, 1, :singular, 1),
59
+ WordTemplate.new(:adjective, 0, :singular, 1),
60
+ WordTemplate.new(:noun, 1, :singular, 1),
61
+ WordTemplate.custom('is like', 2),
62
+ WordTemplate.new(:determiner, 1, :singular, 2),
63
+ WordTemplate.new(:adjective, 0, :singular, 2),
64
+ WordTemplate.new(:noun, 1, :singular, 2)
65
+ ], [
66
+ WordTemplate.new(:adjective, 0, :plural, 1),
67
+ WordTemplate.new(:noun, 1, :plural, 1),
68
+ WordTemplate.custom('are like', 2),
69
+ WordTemplate.new(:adjective, 0, :plural, 2),
70
+ WordTemplate.new(:noun, 1, :plural, 2)
71
+ ]
72
+ ], [
73
+ # i/we/they act on noun(s)
74
+ [
75
+ WordTemplate.custom(%w(i we they), 1),
76
+ WordTemplate.new(:verb, 1, :plural),
77
+ WordTemplate.new(:determiner, 1, :singular, 2),
78
+ WordTemplate.new(:adjective, 0, :singular, 2),
79
+ WordTemplate.new(:noun, 1, :singular, 2),
80
+ WordTemplate.new(:adverb)
81
+ ], [
82
+ WordTemplate.custom(%w(i we they), 1),
83
+ WordTemplate.new(:verb, 1, :plural),
84
+ WordTemplate.new(:determiner, 0, :plural, 2),
85
+ WordTemplate.new(:adjective, 0, :plural, 2),
86
+ WordTemplate.new(:noun, 1, :plural, 2),
87
+ WordTemplate.new(:adverb)
88
+ ]
89
+ ], [
90
+ # noun(s) act on noun(s)
91
+ [
92
+ WordTemplate.new(:determiner, 0, :any, 1),
93
+ WordTemplate.new(:noun, 1, :any, 1),
94
+ WordTemplate.new(:verb, 1, :any, 1),
95
+ WordTemplate.new(:determiner, 1, :singular, 2),
96
+ WordTemplate.new(:noun, 1, :singular, 2)
97
+ ], [
98
+ WordTemplate.new(:determiner, 0, :any, 1),
99
+ WordTemplate.new(:noun, 1, :any, 1),
100
+ WordTemplate.new(:verb, 1, :any, 1),
101
+ WordTemplate.new(:determiner, 0, :plural, 2),
102
+ WordTemplate.new(:noun, 1, :plural, 2)
103
+ ]
104
+ ]
105
+ ]
106
+
107
+ MIDDLE_LINES = [
108
+ [
109
+ # (and) noun(s) act
110
+ [
111
+ WordTemplate.new(:transition_join),
112
+ WordTemplate.new(:determiner, 1, :singular, 1),
113
+ WordTemplate.new(:adjective, 0, :singular, 1),
114
+ WordTemplate.new(:noun, 1, :singular, 1),
115
+ WordTemplate.new(:verb_self, 1, :singularß, 1),
116
+ WordTemplate.new(:adverb)
117
+ ], [
118
+ WordTemplate.new(:transition_join),
119
+ WordTemplate.new(:determiner, 0, :plural, 1),
120
+ WordTemplate.new(:adjective, 0, :plural, 1),
121
+ WordTemplate.new(:noun, 1, :plural, 1),
122
+ WordTemplate.new(:verb_self, 1, :plural, 1),
123
+ WordTemplate.new(:adverb)
124
+ ]
125
+ ]
126
+ ]
127
+
128
+ BOTTOM_LINES = [
129
+ [
130
+ # (and) noun(s) act
131
+ [
132
+ WordTemplate.new(:transition_join),
133
+ WordTemplate.new(:determiner, 1, :singular, 1),
134
+ WordTemplate.new(:adjective, 0, :singular, 1),
135
+ WordTemplate.new(:noun, 1, :singular, 1),
136
+ WordTemplate.new(:verb_self, 1, :singular, 1)
137
+ ], [
138
+ WordTemplate.new(:transition_join),
139
+ WordTemplate.new(:determiner, 0, :plural, 1),
140
+ WordTemplate.new(:adjective, 0, :plural, 1),
141
+ WordTemplate.new(:noun, 1, :plural, 1),
142
+ WordTemplate.new(:verb_self, 1, :plural, 1)
143
+ ]
144
+ ]
145
+ ]
146
+
147
+ ALL_TOP_LINES = [
148
+ COMMON_LINES
149
+ ].flatten(1)
150
+
151
+ ALL_MIDDLE_LINES = [
152
+ COMMON_LINES,
153
+ MIDDLE_LINES
154
+ ].flatten(1)
155
+
156
+ ALL_BOTTOM_LINES = [
157
+ COMMON_LINES,
158
+ BOTTOM_LINES
159
+ ].flatten(1)
160
+
161
+ end
162
+
163
+ end
@@ -1,5 +1,5 @@
1
1
  module HaikuGadget
2
2
 
3
- VERSION = '1.0.1'
3
+ VERSION = '1.0.2'
4
4
 
5
5
  end
@@ -41,4 +41,4 @@ module HaikuGadget
41
41
 
42
42
  end
43
43
 
44
- end
44
+ end
data/lib/words.yml CHANGED
@@ -23,8 +23,8 @@
23
23
  ]
24
24
 
25
25
  :adjective_common: [
26
- [red, fresh, weird, burnt, white, flat, round, weak, old, new, young, swell, sweet, dazed, vague, warmed, cool, strong, blue, clear, soft, hard, black, big, small, tight, loose, long, short, wry, young, green, bold, good, bad, kind, mean, wet, dry, free, light, dark, dim, wise, grim, huge, worn, numb, wild, tall, short, hot, cold, sad, gray, green, gold, raw, rich, poor, bored, dull, calm, smart, dumb, grand, keen, bright, bent, foul, close, chrome, low, last, first, next, fun, high, late, quaint, side, top, lost, cute, real, strict, silk, [north, west, south, east]],
27
- [orange, mental, tired, gloomy, murky, salty, doomed, ecstatic, balanced, frayed, frosted, confused, opened, tasty, frozen, boiling, slimy, failed, crazed, oblong, broken, silver, faulty, limestone, opaque, silly, spinning, busted, lazy, flying, awesome, folded, rhythmic, floating, smoking, twisted, wispy, uncooked, complex, bubbly, immobile, bankrupt, moving, crispy, laundered, rounded, cleaned, ample, dirty, catered, constrained, cosmic, choking, ballistic, red-faced, bizarre, sanded, roasted, inverted, spastic, dapper, swanky, able, fabled, stable, leaning, correct, staggered, wrong, curved, open, evil, closed, edgy, pricey, costly, fancy, stranded, meager, modest, humble, slimy, simple, unkind, unwound, teenage, heavy, standard, hollow, eager, rotten, unwise, grounded, boring, crazy, major, minor, naive, valid, random, happy, endless, human, splendid, certain, somber, livid, lonely, jealous, dreary, lovely, cheerful, secure, renowned, spicy, drunken, bulky, breaded, better, shorter, smaller, larger, smarter, faster, longer, distant, wealthy, dismayed, vital, colored, abstract, vivid, ancient, bitter, sour, airy, timely, sunny, current, funky, skinny, bloody, girly, boyish, roomy, royal, marine, varied, fuzzy, helpful, crafty, silky, plastic, laser, [northern, western, southern, eastern]],
26
+ [red, fresh, weird, burnt, white, flat, round, weak, old, new, young, swell, sweet, dazed, vague, warmed, cool, strong, blue, clear, soft, hard, black, big, small, tight, loose, long, short, wry, young, green, bold, good, bad, kind, mean, wet, dry, free, light, dark, dim, wise, grim, huge, worn, numb, wild, tall, short, hot, cold, sad, gray, green, gold, raw, rich, poor, bored, dull, calm, smart, dumb, grand, keen, bright, bent, foul, close, chrome, low, last, first, next, fun, high, late, quaint, top, lost, cute, real, strict, fast, slow, rough, damp, smooth, [north, west, south, east]],
27
+ [orange, mental, tired, gloomy, murky, salty, doomed, ecstatic, balanced, frayed, frosted, confused, opened, tasty, frozen, boiling, slimy, failed, crazed, oblong, broken, silver, faulty, limestone, opaque, silly, spinning, busted, lazy, flying, awesome, folded, rhythmic, floating, smoking, twisted, wispy, uncooked, complex, bubbly, immobile, bankrupt, moving, crispy, laundered, rounded, cleaned, ample, dirty, catered, constrained, cosmic, choking, ballistic, red-faced, bizarre, sanded, roasted, inverted, spastic, dapper, swanky, able, fabled, stable, leaning, correct, staggered, wrong, curved, open, evil, closed, edgy, pricey, costly, fancy, stranded, meager, modest, humble, slimy, simple, unkind, unwound, teenage, heavy, standard, hollow, eager, rotten, unwise, grounded, boring, crazy, major, minor, naive, valid, random, happy, endless, human, splendid, certain, somber, livid, lonely, jealous, dreary, lovely, cheerful, secure, renowned, spicy, drunken, bulky, breaded, better, shorter, smaller, larger, smarter, faster, longer, distant, wealthy, dismayed, vital, colored, abstract, vivid, ancient, bitter, sour, airy, timely, sunny, current, funky, skinny, bloody, girly, boyish, roomy, royal, marine, varied, fuzzy, helpful, crafty, silky, plastic, laser, upper, lower, cloudy, [northern, western, southern, eastern]],
28
28
  [redundant, respected, uncovered, populous, required, unstable, communist, communal, religious, circular, feminine, masculine, incorrect, underwater, embarrassed, misshapen, glorious, hovering, uncaring, expanded, insulted, discovered, commissioned, considered, opulent, casual, ultimate, imminent, exacting, creative, furious, destructive, modulated, digital, analog, essential, albino, nuclear, atomic, chocolate, overweight, invalid, possible, advertised, natural, terrific, pot-bellied, amazing, confident, exacting, finished, primary, lunatic, satisfied, impressive, lunatic, noteworthy, suitable, musical, eternal, skydiving, expected, parallel],
29
29
  [undulating, incredible, unforgiving, acceptable, elaborate, necessary, stimulated, measurable, recommended, mandatory, honorable, identical, overstated, altruistic, generated, extraneous, aluminum, obfuscated, appropriate, symbiotic, calculated, mysterious, unknowable, beautiful, contemplative, incapable, overbearing, high quality, low quality, microbial, questionable, knowledgeable, elemental, hilarious, inferior, meticulous]
30
30
  ]
@@ -38,7 +38,7 @@
38
38
  ]
39
39
 
40
40
  :noun_common: [
41
- [thing, bug, head, toe, eye, phone, web, ball, hand, ear, sheet, bed, car, truck, plane, brain, day, sun, square, bike, lake, creek, stone, moon, shoe, yacht, field, task, thought, sword, wig, boy, girl, prince, kid, pet, fig, moth, dog, bun, cat, bat, oar, lip, grain, soul, ape, duck, ray, beam, leg, rat, bear, boar, boat, door, goon, gob, plank, brick, stake, cube, ant, cord, bowl, chord, crate, wire, wreath, spear, isle, tree, wheel, hut, hat, gnat, spot, pond, cork, star, tribe, wine, beer, drink, film, bum, cup, rock, hook, path, king, queen, jack, mob, skill, job, house, cow, chair, disk, pit, hole, card, face, hill, mound, knob, zoo, light, fool, pill, quark, cloud, glove, sock, boot, slave, shrub, cook, pie, bird, snake, worm, tank, pen, weed, flute, nest, pot, bee, pan, gem, mom, dad, son, jeep, train, nun, pal, month, year, week, poem, shark, yak, joke, owl, skunk, worm, egg, cake, pea, grape, bean, spore, seed, fruit, wing, fire, world, heart, rod, board, nail, end, ring, sea, key, god, word, night, knight, bone, room, toy, side, top, book, name, game, ship, test, park, time, bag, school, clone, shop, store, war],
41
+ [thing, bug, head, toe, eye, phone, web, ball, hand, ear, sheet, bed, car, truck, plane, brain, day, sun, square, bike, lake, creek, stone, moon, shoe, yacht, field, task, thought, sword, wig, boy, girl, prince, kid, pet, fig, moth, dog, bun, cat, bat, oar, lip, grain, soul, ape, duck, ray, beam, leg, rat, bear, boar, boat, door, goon, gob, plank, brick, stake, cube, ant, cord, bowl, chord, crate, wire, wreath, spear, isle, tree, wheel, hut, hat, gnat, spot, pond, cork, star, tribe, wine, beer, drink, film, bum, cup, rock, hook, path, king, queen, jack, mob, skill, job, house, cow, chair, disk, pit, hole, card, face, hill, mound, knob, zoo, light, fool, pill, quark, cloud, glove, sock, boot, slave, shrub, cook, pie, bird, snake, worm, tank, pen, weed, flute, nest, pot, bee, pan, gem, mom, dad, son, jeep, train, nun, pal, month, year, week, poem, shark, yak, joke, owl, skunk, worm, egg, cake, pea, grape, bean, spore, seed, fruit, wing, fire, world, heart, rod, board, nail, end, ring, sea, key, god, word, night, knight, bone, room, toy, side, top, book, name, game, ship, test, park, time, bag, school, clone, shop, store, war, whale, frog, trail],
42
42
  [zombie, ninja, pirate, monkey, robot, hot dog, space ship, rain drop, circle, tv, flower, typhoon, garden, cookie, taco, gyro, mountain, painting, river, meadow, island, message, morsel, marble, mitten, trombone, nugget, chicken, donkey, llama, hamster, raisin, nation, rocket, bottle, anvil, sunset, muskrat, treasure, coastline, building, lighthouse, concept, forest, python, dinner, hammer, robber, jacket, singer, puppet, valley, comet, scooter, joker, pebble, kayak, gorilla, airplane, table, atom, movie, poster, fountain, missile, pimple, player, shovel, window, rooster, biscuit, raven, eagle, question, vampire, peon, otter, camel, suburb, towel, turkey, pencil, planet, viking, squirrel, snowboard, dweller, lemon, photo, item, skillet, mother, father, brother, sister, elder, aardvark, apple, object, pickle, staple, wizard, raccoon, tadpole, spigot, daughter, mantra, pizza, calzone, vision, haiku, pixel, onion, glacier, penguin, cobra, dolphin, spider, trumpet, donut, ion, aura, geezer, freedom, attempt, pigeon, teacher, battle, laser, [sunday, monday, tuesday, wednesday, thursday, friday, saturday]],
43
43
  [samurai, spatula, tornado, hurricane, restaurant, computer, radio, stereo, commuter, newspaper, hairdryer, photograph, sombrero, burrito, telephone, animal, bicycle, dinosaur, iguana, kangaroo, umbrella, hiking boot, dishwasher, asteroid, meteor, cruise liner, oil tanker, apple pie, gorilla, tricycle, artichoke, musician, visitor, universe, disaster, piano, canteloupe, pyramid, article, location, banana],
44
44
  [fortune cookie, ecosystem, obligation, generator, generation, ambassador, elevator, watermelon, convertible, calculator, harmonica, operation, invitation, kindergarten, helicopter, alligator, caterpillar, constellation, germination, politician, corporation, advertisement, declaration, astronomer, variation, civilization, perimeter, population, denominator, semicircle, operator, aquarium, disappointment, kaleidoscope, television, orangutan, washing machine, environment]
@@ -61,9 +61,9 @@
61
61
  ]
62
62
 
63
63
  :mass_noun: [
64
- [fun, love, snow, funk, earth, space, home, dust, pain, life, health, death, loss, thought, beer, wine, dirt, fire, flame, style, lore, wind, force, fog, haze, time, war, peace, doom, food, art, gloom, hope, ice, oil, gold, light, cheese, grass, breath, steel, iron, stone, zen, stuff, hair, soup, sense, air, gas, ground, foam, glass, wealth, slime, cloth, tea, juice, fruit, jazz, heat, speed, glue, noise, wood, milk, cake, rice, work, grief, fish, lust, sleep, heart, night, skin, blood, sand, math, rain, youth, lore, grace, corn, bread, glee, mist, jive, help, trash, cream],
64
+ [fun, love, snow, funk, earth, space, home, dust, pain, life, health, death, loss, thought, beer, wine, dirt, fire, flame, style, lore, wind, force, fog, haze, time, war, peace, doom, food, art, gloom, hope, ice, oil, gold, light, cheese, grass, breath, steel, iron, stone, zen, stuff, hair, soup, sense, air, gas, ground, foam, glass, wealth, slime, cloth, tea, juice, fruit, jazz, heat, speed, glue, noise, wood, milk, cake, rice, work, grief, fish, lust, sleep, heart, night, skin, blood, sand, math, rain, youth, lore, grace, corn, bread, glee, mist, jive, help, trash, cream, silk],
65
65
  [metal, essence, power, magic, evil, peril, disease, vapor, butter, sugar, darkness, fortune, soda, success, failure, water, passion, wonder, beauty, reason, fabric, lava, jello, ketchup, coffee, jelly, ice cream, sadness, goodness, physics, money, ethics, traffic, plastic, dancing, anger, danger, softness, friendship, trouble, culture, virtue, fuel, music, freedom, cornbread, lightning, sorrow, mustard, fluid, liquid, knowledge, silver, plasma],
66
- [happiness, gravity, desire, misfortune, pestilence, certainty, mystery, energy, chocolate, honesty, poverty, laziness, chemistry, furniture, equipment, violence, liberty, jealousy, gelato, intention, religion, cookie dough],
66
+ [happiness, gravity, desire, misfortune, pestilence, certainty, mystery, energy, chocolate, honesty, poverty, laziness, chemistry, furniture, equipment, violence, liberty, jealousy, gelato, intention, religion, cookie dough, atmosphere],
67
67
  [society, community, contemplation, inconvenience, humanity, morality, information, intelligence, stupidity, geometry]
68
68
  ]
69
69
 
@@ -74,17 +74,17 @@
74
74
  ]
75
75
  :verb_singular: [
76
76
  [soothes],
77
- [eases, nudges, uses, raises, slices, falls on, dreams of, jumps over, looks at, looks for, studies, tosses, touches, coaxes, pushes, reaches, punches, cares for, ties up, sticks to, goes to, swarms on, flails at, cooks for, kisses, smooches, speaks to, quests for, raves about, sits on, waves to, shines on, mixes, watches, copies, marries, senses, closes, sings to, smiles at, asks for, hopes for, toys with, plays with, floats on, lives with, steps on, jives with, hops on, washes],
77
+ [eases, nudges, uses, raises, slices, falls on, dreams of, jumps over, looks at, looks for, studies, tosses, touches, coaxes, pushes, reaches, punches, cares for, ties up, sticks to, goes to, swarms on, flails at, cooks for, kisses, smooches, speaks to, quests for, raves about, sits on, waves to, shines on, mixes, watches, copies, marries, senses, closes, sings to, smiles at, asks for, hopes for, toys with, plays with, floats on, lives with, steps on, jives with, hops on, washes, sounds like],
78
78
  [amazes, cares about, notifies, objects to, condenses, beautifies, glorifies, liquefies, nullifies, occupies, purifies, satisfies, stupefies, wishes for, thinks about, writes about]
79
79
  ]
80
80
  :verb_plural: [
81
81
  [ease, nudge, use, raise, slice, study, toss, touch, coax, push, reach, punch, kiss, smooch, mix, watch, copy, sense, soothe, close, wash],
82
- [amaze, fall on, dream of, jump over, look at, look for, finish, care for, approach, tie up, stick to, go to, swarm on, flail at, cook for, dance with, dance for, speak to, quest for, rave about, sit on, wave to, shine on, condense, marry, advise, sing to, smile at, ask for, hope for, wish for, toy with, play with, think about, float on, lives on, step on, jive with, hop on],
82
+ [amaze, fall on, dream of, jump over, look at, look for, finish, care for, approach, tie up, stick to, go to, swarm on, flail at, cook for, dance with, dance for, speak to, quest for, rave about, sit on, wave to, shine on, condense, marry, advise, sing to, smile at, ask for, hope for, wish for, toy with, play with, think about, float on, lives on, step on, jive with, hop on, sound like],
83
83
  [care about, notify, object to, beautify, glorify, liquefy, nullify, occupy, purify, satisfy, stupefy, vandalize, vaporize, minimize, maximize, encourage, equalize, pulverize, write about]
84
84
  ]
85
85
 
86
86
  :verb_self_common: [
87
- [wake, jump, speed, climb, live, hope, fail, float, fall, slow, creep, sleep, groan, moan, coast, suck, walk, run, wait, think, land, scream, crawl, play, smile, glow, wave, dream, yell, work, feel, nap, quake, whine, trek, learn, weep, sob, speak, hide, pose, laugh, bathe, burn, grow, shrink, feast, warn, stray, peek, creak, flow, come, feed, cope, heal, race, read, dig, dwell, move, pray, gawk, breed, sag, spit, stand, stop, swerve, eat, lust, shine, end, bleed, drop, open, shake, start, fart, tear, turn, sail, sing, ask, sin, point, ail, flail, fold, die, smell, groove, shout, lie, dine, win, write, train, drive, know, jive, hop, shop, paint, drink, bend, spread, sulk],
87
+ [wake, jump, speed, climb, live, hope, fail, float, fall, slow, creep, sleep, groan, moan, coast, suck, walk, run, wait, think, land, scream, crawl, play, smile, glow, wave, dream, yell, work, feel, nap, quake, whine, trek, learn, weep, sob, speak, hide, pose, laugh, bathe, burn, grow, shrink, feast, warn, stray, peek, creak, flow, come, feed, cope, heal, race, read, dig, dwell, move, pray, gawk, breed, sag, spit, stand, stop, swerve, eat, lust, shine, end, bleed, drop, open, shake, start, fart, tear, turn, sail, sing, ask, sin, point, ail, flail, fold, die, smell, groove, shout, lie, dine, win, write, train, drive, know, jive, hop, shop, paint, drink, bend, spread, sulk, wail, tire],
88
88
  [survive, ponder, wonder, travel, transform, falter, wallow, improve, believe, boogie, crumble, giggle, complain, forget, persist, explore, exist, arrive, await, agree, connect, engage, haggle, return, rotate, resist, dabble, murmur, mature, protest, gossip, growl, begin, approve, clamber, attack, perform, abide, achieve, succeed, explode, constrict, topple, dazzle, question],
89
89
  [concentrate, speculate, hesitate, meditate, calculate, celebrate, co-exist, consider, continue, deviate, disagree, disbelieve, disconnect, elevate, imagine, meander, navigate, overact, postulate, propagate, radiate, recover, replicate, duplicate, surrender, terminate, understand, undulate, hibernate, self-destruct]
90
90
  ]
data/test_haiku.rb ADDED
@@ -0,0 +1,8 @@
1
+ require File.expand_path('lib/haiku_gadget.rb', File.dirname(__FILE__))
2
+
3
+ 10.times do
4
+
5
+ puts HaikuGadget.haiku "\n"
6
+ puts "\n"
7
+
8
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haiku_gadget
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Balay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-30 00:00:00.000000000 Z
11
+ date: 2014-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -71,6 +71,7 @@ files:
71
71
  - lib/haiku_gadget/dictionary.rb
72
72
  - lib/haiku_gadget/haiku_gadget.rb
73
73
  - lib/haiku_gadget/haiku_template.rb
74
+ - lib/haiku_gadget/line_templates.rb
74
75
  - lib/haiku_gadget/version.rb
75
76
  - lib/haiku_gadget/word_template.rb
76
77
  - lib/haiku_gadget/word_type.rb
@@ -81,6 +82,7 @@ files:
81
82
  - spec/spec_helper.rb
82
83
  - spec/test_words_nested.yml
83
84
  - spec/test_words_single.yml
85
+ - test_haiku.rb
84
86
  homepage: http://github.com/zenblender/haiku_gadget
85
87
  licenses:
86
88
  - MIT