File: silly.rb

package info (click to toggle)
ruby-rantly 3.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 196 kB
  • sloc: ruby: 832; makefile: 4
file content (116 lines) | stat: -rw-r--r-- 3,261 bytes parent folder | download | duplicates (3)
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