haiku_gadget 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a63b1c6d6f0c2a432459f5266f6440399d29e0e
4
- data.tar.gz: a7e878aa0efa2930a903618166e85acb91da5bbb
3
+ metadata.gz: bfa1e32af2124a0410f4e05bb99b282db65ea886
4
+ data.tar.gz: 45e4b90a13b256686855d207ca78cd476014a10b
5
5
  SHA512:
6
- metadata.gz: 54f172d1cea6952df9a2602031820391da2d10aad92468289d53a2febdab8331362ffa70d30c22898d790983aad1dcc8f7af9acebfce8134a45164c6cacf3060
7
- data.tar.gz: d229c74c5c04f96d30613ca8c1e4e21056b54cc12f89409d9f0e95013c2ccf28c72ab68d90c75310574727fda8d789c18709f5098d00a05741c8c0f7a9959d42
6
+ metadata.gz: 19ceb10c6c502dbae34c9169e71f3ed034a1f416ed65c4026a6de3e17f35f7108d343785441cb913e368a6d47691ca577312a2fc847c19b72225c9be898877eb
7
+ data.tar.gz: 44e9f5fa36e64a72ec25229a0ff629c56d074534bcc1778f072506efcb37e5fd980390fb6db6b3479d11dcb068f4f41506d5cf73a58e488e54cb8a75712c6594
@@ -89,6 +89,23 @@ module HaikuGadget
89
89
  out
90
90
  end
91
91
 
92
+ def self.contains_word_anywhere?(word)
93
+ @@dict.each do |key, array|
94
+ return true if array.flatten.include? word
95
+ end
96
+ false
97
+ end
98
+
99
+ def self.contains_valid_data_types?
100
+ @@dict.each do |key, array|
101
+ array.flatten.each do |item|
102
+ puts "error: #{item} in #{key.to_s} is a #{item.class}" if item.class != String
103
+ return false unless item.is_a? String
104
+ end
105
+ end
106
+ true
107
+ end
108
+
92
109
  # force load of dictionary from yaml file now
93
110
  def self.load(path = DEFAULT_DICT_PATH)
94
111
  dict = YAML.load_file(File.expand_path(path, File.dirname(__FILE__)))
@@ -97,8 +114,6 @@ module HaikuGadget
97
114
  Dictionary.complete_plurality(dict, wt)
98
115
  end
99
116
 
100
- #ap dict
101
-
102
117
  dict
103
118
  end
104
119
 
@@ -1,5 +1,5 @@
1
1
  module HaikuGadget
2
2
 
3
- VERSION = '1.0.4'
3
+ VERSION = '1.0.5'
4
4
 
5
5
  end
data/lib/words.yml CHANGED
@@ -1,10 +1,12 @@
1
1
  ---
2
+ # the word 'no' must be in quotes, otherwise it gets parsed as false
3
+
2
4
  :transition_join: [
3
5
  [so, and, or, plus, but, yet, while, when, if, then, thus, hence, now]
4
6
  ]
5
7
 
6
8
  :determiner_common: [
7
- [the, [no, some, your, my, his, her, its, their, our]]
9
+ [the, ['no', some, your, my, his, her, its, their, our]]
8
10
  ]
9
11
  :determiner_singular: [
10
12
  [a, [this, that]]
@@ -23,8 +25,8 @@
23
25
  ]
24
26
 
25
27
  :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, 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
+ [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, clean, great, [north, west, south, east]],
29
+ [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, 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, stronger, weaker, bigger, taller, greater, [northern, western, southern, eastern]],
28
30
  [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
31
  [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
32
  ]
@@ -38,26 +40,26 @@
38
40
  ]
39
41
 
40
42
  :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, whale, frog, trail],
43
+ [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, mind],
42
44
  [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
45
  [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
46
  [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]
45
47
  ]
46
48
  :noun_singular: [
47
- [fish, man, child, box, sky, beach, sheep, church, mouse, fox, goose, wish, life],
49
+ [fish, man, child, box, sky, beach, sheep, church, mouse, fox, goose, wish, life, foot],
48
50
  [hobby, woman, baby, country, princess, person, hero, werewolf],
49
51
  [enemy, remedy, nebula, library, factory, mosquito, buffalo, potato],
50
52
  [bacteria, reality, discovery, super hero, territory, deficiency, activity, calamity, emergency]
51
53
  ]
52
54
  :noun_plural: [
53
- [fish, men, skies, sheep, mice, geese, lives],
55
+ [fish, men, skies, sheep, mice, geese, lives, feet],
54
56
  [women, children, babies, countries, cities, boxes, cattle, people, grizzlies, heroes, foxes, beaches, churches, wishes, werewolves],
55
57
  [enemies, hobbies, remedies, libraries, factories, potatoes, mosquitoes, buffaloes],
56
58
  [bacteria, realities, discoveries, super heroes, territories, activities, calamities, emergencies]
57
59
  ]
58
60
 
59
61
  :mass_noun_determiner: [
60
- [the, [all, some, no], [your, my, his, her, our, their]]
62
+ [the, [all, some, 'no'], [your, my, his, her, our, their]]
61
63
  ]
62
64
 
63
65
  :mass_noun: [
@@ -68,7 +70,7 @@
68
70
  ]
69
71
 
70
72
  :verb_common: [
71
- [bloom, drain, pat, climb, bend, give, take, pour, yank, clip, spread, build, shape, hate, throw, find, hear, see, smell, taste, eat, like, wake, tempt, smack, fold, farm, sip, lure, rip, rock, poke, warm, pull, grab, shove, pet, cut, get, bang, bust, bet, trick, lick, steal, boil, toast, dunk, gulp, meet, dig, form, roll, bathe, trap, treat, feed, hack, kick, heal, blast, lift, draw, cook, shake, bring, see, want, need, feel, love, hug, break, make, shock, paint, gain, kill, fund, hire, read, bake, own, rob, herd, rent, move, pay, jab, stop, start, turn, tear, fire, eye, scare, ask, win, make, ship, test, ride, clone, train, drive, know, buy, store, save, help],
73
+ [bloom, drain, pat, climb, bend, give, take, pour, yank, clip, spread, build, shape, hate, throw, find, hear, see, smell, taste, eat, like, wake, tempt, smack, fold, farm, sip, lure, rip, rock, poke, warm, pull, grab, shove, pet, cut, get, bang, bust, bet, trick, lick, steal, boil, toast, dunk, gulp, meet, dig, form, roll, bathe, trap, treat, feed, hack, kick, heal, blast, lift, draw, cook, shake, bring, see, want, need, feel, love, hug, break, make, shock, paint, gain, kill, fund, hire, read, bake, own, rob, herd, rent, move, pay, jab, stop, start, turn, tear, fire, eye, scare, ask, win, make, ship, test, ride, clone, train, drive, know, buy, store, save, help, clean],
72
74
  [consume, destroy, attack, nurture, explore, open, construct, befriend, explain, target, retain, prevent, protest, direct, procure, locate, staple, strangle, topple, avoid, reveal, survey, maintain, fasten, harden, straighten, offer, transform, tickle, question, deceive, mislead, support, become, revive, connect, iron, annoy, forget, handle, answer, inspect, behold, design, acquire, obtain, believe, dazzle, honor, master, gather, savor, adjust, expect, create, instruct, afford, succeed, battle],
73
75
  [imagine, examine, interrupt, activate, agitate, animate, apprehend, calibrate, captivate, celebrate, complicate, decimate, decipher, dishonor, dominate, enliven, generate, jettison, isolate, medicate, nominate, orient, overwhelm, recycle, terminate, violate, discover, calculate]
74
76
  ]
@@ -84,7 +86,7 @@
84
86
  ]
85
87
 
86
88
  :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, wail, tire],
89
+ [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, clean],
88
90
  [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
91
  [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
92
  ]
@@ -49,6 +49,24 @@ module HaikuGadget
49
49
  end
50
50
  end
51
51
 
52
+ it 'should contain some random expected words' do
53
+
54
+ %w(banana advise the sadly moon red my).each do |word|
55
+
56
+ expect(Dictionary.contains_word_anywhere? word).to eq true
57
+
58
+ end
59
+
60
+ end
61
+
62
+ # this test ensures that no words are being parsed as data types other than String,
63
+ # for example, the word 'no' gets parsed as false and needs to be in quotes in the YAML file
64
+ it 'should contain only string data types (inside arrays)' do
65
+
66
+ expect(Dictionary.contains_valid_data_types?).to eq true
67
+
68
+ end
69
+
52
70
  end
53
71
 
54
72
  describe 'with single possibility test dictionary' do
data/test_haiku.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # test functionality from the command line
2
+
1
3
  require File.expand_path('lib/haiku_gadget.rb', File.dirname(__FILE__))
2
4
 
3
5
  puts HaikuGadget.haiku "\n"
@@ -8,3 +10,4 @@ require File.expand_path('lib/haiku_gadget.rb', File.dirname(__FILE__))
8
10
  puts HaikuGadget.middle_line
9
11
  puts HaikuGadget.bottom_line
10
12
 
13
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haiku_gadget
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Balay