1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
require 'rantly'
module Rantly::Silly
class << self
def love_letter(n)
Rantly.new.extend(Rantly::Silly::Love).value { letter(n) }
end
end
end
module Rantly::Silly::Love
def letter(n = 3)
body = array(n) { paragraph }.join "\n\n"
<<~EOS
#{address}:
#{body}
#{sign}
#{post_script}
EOS
end
def address
"my #{extremifier} #{pedestal_label}"
end
def extremifier
choose 'most', 'ultimate', 'unbelievable', 'incredible', 'burning'
end
def pedestal_label
choose 'beloved', 'desire', 'dove', 'virgin goddess', 'existential solution', 'lighthouse', 'beacon', 'holy mother', 'queen', 'mistress'
end
def double_plus_good
choose 'holy', 'shiny', 'glittering', 'joyous', 'delicious'
end
def how_i_feel
choose 'my heart aches', 'my spine pines', 'my spirit wanders and wonders', 'my soul is awed', 'my loin burns'
end
def paragraph
array(range(2, 4)) { sentence }.join ' '
end
def sentence
freq \
proc {
"when #{how_i_feel}, my #{pedestal_label}, i feel the need to #{stalk_action},"\
"but this is not because #{how_i_feel}, but rather a symptom of my being your #{whoami}."
},
proc { "because you are my #{pedestal_label}, and i am your #{whoami}, no, rather your #{whoami}, #{fragment}." },
proc { "do not think that saying '#{how_i_feel}' suffices to show the depth of how #{how_i_feel}, because more than that, #{fantasy}" },
proc { "as a #{whoami}, that #{how_i_feel} is never quite enough for you, my #{double_plus_good} #{pedestal_label}." }
end
def fragment
fun = fantasy
choose "i hope to god #{fun}", "i believe #{fun}", "i will that #{fun}"
end
def caused_by; end
def whoami
"#{extremifier} #{humbleizer} #{groveler}"
end
def sign
"your #{whoami}"
end
def humbleizer
choose 'undeserving', 'insignificant', 'unremarkable', 'fearful', 'menial'
end
def groveler
choose 'slave', 'servant', 'captive', 'lapdog'
end
def post_script
"ps: #{i_am_stalking_you}, and hope that #{fantasy}"
end
def i_am_stalking_you
"every #{time_duration} i #{stalk_action}"
end
def fantasy
freq \
proc {
make = choose 'raise', 'nurture', 'bring into the world'
babies = choose 'brood of babies', "#{double_plus_good} angels"
good = double_plus_good
effect = choose "the world becomes all the more #{good}",
"we may at the end of our lives rest in #{good} peace.",
"you, my #{pedestal_label}, would continue to live."
"we would #{make} #{babies}, so #{effect}."
},
proc {
do_thing = choose('kiss', 'hug', 'read poetry to each other', 'massage', "whisper empty nothings into each others' ears",
'be with each other, and oblivious to the entire world')
affect = choose 'joy', 'mindfulness', 'calm', 'sanctity'
"we would #{do_thing} with #{double_plus_good} #{affect}"
}
end
def stalk_action
choose 'think of you', 'dream of us together', 'look at your picture and sigh'
end
def time_duration
choose 'once in a while', 'night', 'day', 'hour', 'minute'
end
end
|