rules_ai 0.2.0 → 0.8.0

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rules_ai.rb +217 -41
  3. data/lib/rules_ai/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 288b2167dde783360e7875c09ac620577c08d5f8dab22876a4058e9eb3aea1da
4
- data.tar.gz: 2cd87888de329e274910b9487c2065682279149691ce508df056b220a6e00e78
3
+ metadata.gz: 917312bdc11c8d360345f504f6a160d8c21d80b56b3c5ac06be35026e5d1f63c
4
+ data.tar.gz: 773c7dcc9056709b30d5e8a5cf4ab395c63846cbd88bb4ea310c420a6805c575
5
5
  SHA512:
6
- metadata.gz: 3952a4e1f0be18f47f997766800e6f72fc13f40919e547446a3132238d3db939d166090a03c35d5568b2a6165c506d4626d99eb06d23cf582c9705f94b66c758
7
- data.tar.gz: ad2576b892f6d494953279ff0245d315dab9bab2a528ddf41f288593ec17b0167f6a19a137b782eeadd20c26f60fd4e683e504789161b4f4fdf6ad3f5d3f623c
6
+ metadata.gz: 10a75fa6ac8e510d1a6d3f4f523db82fe7693080ae756314256dbae347eb09b3d121ba324826ef3b624c8c7f01649bb666e786843f8fb18fb7a6bf95272b7f05
7
+ data.tar.gz: 613f23e64aa1c446e5ad21676f56e62e1ba9c3ae3bab3edf27b16b30bb5c1a442ea909b475b588b7dc93b94fda85cf7cb19925065bf7e403bfd002fd84252137
@@ -6,24 +6,26 @@ module RulesAi
6
6
  # Your code goes here...
7
7
  class Rules_Set
8
8
  def self.hours_passed
9
- a = File.read("data/hours_passed/number/a_input.txt").strip.to_i
10
- b = File.read("data/hours_passed/number/b_input.txt").strip.to_i
9
+ bot_name = File.read("data/bot_identity/name.txt").strip
11
10
 
12
- starting_time = a
13
- ending_time = b
11
+ print "What is your starting time? >> "
12
+ starting_time = gets.chomp.strip.to_i # % 12
14
13
 
15
- hours_passed = ending_time - starting_time
14
+ print "What is your ending time? >> "
15
+ ending_time = gets.chomp.strip.to_i # %12
16
16
 
17
- second_starting_time = a + interval_a
18
- second_ending_time = second_starting_time + hours_passed
17
+ print "What is your working interval? >> "
18
+ time_interval = gets.chomp.to_i
19
19
 
20
- puts "For starting time #{a} and ending time: #{b}: #{hours_passed} has passed."
21
- puts "For starting time #{second_starting_time} and same hours passed: the second ending time is #{second_ending_time}"
20
+ hours_added_start = starting_time + time_interval
21
+ hours_added_end = ending_time + time_interval
22
+
23
+ puts "#{bot_name}: If starting time was #{starting_time}:00 and ending time was #{ending_time}:00,\nthe new time alottments are #{hours_added_start}:00 and #{hours_added_end}:00."
22
24
  end
23
25
 
24
26
  def self.tesla_multiplication
25
- input = File.read("data/tesla_multiplication/number/input.txt").strip.to_f
26
- rounds = File.read("data/tesla_multiplication/number/input.txt").strip.to_i
27
+ input = File.read("evo_data/tesla_multiplication/number/input.txt").strip.to_f
28
+ rounds = File.read("evo_data/tesla_multiplication/number/input.txt").strip.to_i
27
29
 
28
30
  if input > 100
29
31
  input = 0
@@ -47,30 +49,32 @@ module RulesAi
47
49
  end
48
50
 
49
51
  def self.autonomous_prompting
50
- number = File.read("data/autonomous_prompting/input/number.txt").strip.to_i
52
+ system("tts 'Time To Get Up!'")
51
53
 
52
- if number > 3
53
- number = 0
54
- end
54
+ monday_meds = File.read("data/medication/monday_meds.txt").strip
55
+ tuesday_meds = File.read("data/medication/tuesday_meds.txt").strip
56
+ wednesday_meds = File.read("data/medication/wednesday_meds.txt").strip
57
+ thursday_meds = File.read("data/medication/thursday_meds.txt").strip
58
+ friday_meds = File.read("data/medication/friday_meds.txt").strip
59
+ saturday_meds = File.read("data/medication/saturday_meds.txt").strip
60
+ sunday_meds = File.read("data/medication/sunday_meds.txt").strip
55
61
 
56
- version = [
57
- "brush_teeth",
58
- "make_bed",
59
- "go_run_laps",
60
- "take_shower",
61
- ]
62
+ system("date > data/time/date.txt")
62
63
 
63
- if version[number] == "brush_teeth"; system("tts 'Time to brush your teeth.', 'en'")
64
- elsif version[number] == "make_bed"; system("tts 'Time to make your bed.', 'en'")
65
- elsif version[number] == "go_run_laps"; system("tts 'Time to go run some laps.', 'en'")
66
- elsif version[number] == "take_shower"; system("tts 'Time to take a shower.', 'en'")
67
- end
64
+ data = File.read("data/time/date.txt").split(" ")
68
65
 
69
- number = number + 1
66
+ current_day = "#{data[0]}"
70
67
 
71
- open("data/input/number.txt", "w") { |f|
72
- f.puts number
73
- }
68
+ puts "You need to take #{current_day}'s medication."
69
+
70
+ if current_day == "Mon"; puts "Take: #{monday_meds}."
71
+ elsif current_day == "Tue"; puts "Take: #{tuesday_meds}."
72
+ elsif current_day == "Wed"; puts "Take: #{wednesday_meds}."
73
+ elsif current_day == "Thu"; puts "Take: #{thursday_meds}."
74
+ elsif current_day == "Fri"; puts "Take: #{friday_meds}."
75
+ elsif current_day == "Sat"; puts "Take: #{saturday_meds}."
76
+ elsif current_day == "Sun"; puts "Take: #{sunday_meds}."
77
+ end
74
78
  end
75
79
 
76
80
  def self.greet_user
@@ -81,20 +85,148 @@ module RulesAi
81
85
 
82
86
  ## Simple reciprocal cipher with randomized key.
83
87
  def self.mixed_13
84
- alph = File.read("keyset/alph.txt").strip
85
- beta = File.read("keyset/beta.txt").strip
88
+ alph = File.read("evo_data/keyset/alph.txt").strip
89
+ beta = File.read("evo_data/keyset/beta.txt").strip
86
90
 
87
- input = File.read("documents/plaintext.txt").to_s.upcase
91
+ input = File.read("evo_data/documents/plaintext.txt").to_s.downcase
88
92
 
89
93
  ciphertext = input.tr alph, beta
90
94
 
91
- open("documents/ciphertext.txt", "w") { |f|
95
+ open("evo_data/documents/ciphertext.txt", "w") { |f|
92
96
  f.puts ciphertext
93
97
  }
94
98
  end
95
99
 
96
- #def self.write_poetry
97
- #end
100
+ def self.write_poetry
101
+ ## Read In Each Poem
102
+ allistodust = File.read("syllables/allistodust.txt").strip
103
+ alongforestgreen = File.read("syllables/alongforestgreen.txt").strip
104
+ anarchojean = File.read("syllables/anarchojean.txt").strip
105
+ atmydoor = File.read("syllables/atmydoor.txt").strip
106
+ badinbed = File.read("syllables/badinbed.txt").strip
107
+ beingmyself = File.read("syllables/castleofthesea.txt").strip
108
+ coping = File.read("syllables/coping.txt").strip
109
+ devilgoodcompany = File.read("syllables/devilgoodcompany.txt").strip
110
+ dianacyberneticdreams = File.read("syllables/dianacyberneticdreams.txt").strip
111
+ dontfallback = File.read("syllables/dontfallback.txt").strip
112
+ droptheidealogies = File.read("syllables/droptheideologies.txt").strip
113
+ flalaikurose = File.read("syllables/flalaikurose.txt").strip
114
+ girlnothingbutadream = File.read("syllables/goodopticsinthetropics.txt").strip
115
+ haywiremeltingdown = File.read("syllables/haywiremeltingdown.txt").strip
116
+ inthislandoftennessee = File.read("syllables/inthislandoftennessee.txt").strip
117
+ invisibleminorities = File.read("syllables/invisibleminorities.txt").strip
118
+ juicyneonsteak = File.read("syllables/juicyneonsteak.txt").strip
119
+ lackofcommunication = File.read("syllables/lackofcommunication.txt").strip
120
+ laimencoformoonlight = File.read("syllables/laimencoformoonlight.txt").strip
121
+ leadwithfeelingnotthemind = File.read("syllables/leadwithfeelingnotthemind.txt").strip
122
+ littleants = File.read("syllables/littleants.txt").strip
123
+ lonelypetalswither = File.read("syllables/lonelypetalswither.txt").strip
124
+ marrowlust = File.read("syllables/marrowlust.txt").strip
125
+ mmesmiled = File.read("syllables/mmesmiled.txt").strip
126
+ momentarysilence = File.read("syllables/nightlystatues.txt").strip
127
+ neveradrollmoment = File.read("syllables/neveradrollmoment.txt").strip
128
+ newlaconia = File.read("syllables/newlaconia.txt").strip
129
+ nightlystatues = File.read("syllables/policestate.txt").strip
130
+ sentimentality = File.read("syllables/sentimentality.txt").strip
131
+ shadowonthewall = File.read("syllables/shadowonthewall.txt").strip
132
+ shotgungirl = File.read("syllables/shotgungirl.txt").strip
133
+ skeletonsfinallaugh = File.read("syllables/skeletonsfinallaugh.txt").strip
134
+ sliceoflife = File.read("syllables/sliceoflife.txt").strip
135
+ spidersandtheghost = File.read("syllables/spidersandtheghost.txt").strip
136
+ superyacht = File.read("syllables/superyacht.txt").strip
137
+ thegirlwiththerosecheeks = File.read("syllables/thegirlwiththerosecheeks.txt").strip
138
+ turntodust = File.read("syllables/turntodust.txt").strip
139
+ undertheweepingwillowtree = File.read("syllables/undertheweepingwillowtree.txt").strip
140
+ unravelingfriendship = File.read("syllables/unravelingfriendship.txt").strip
141
+ waitinginthewall = File.read("syllables/waitinginthewall.txt").strip
142
+ whattheysayofrome = File.read("syllables/whattheysayofrome.txt").strip
143
+ windmillsong = File.read("syllables/windmillsong.txt").strip
144
+
145
+ ## Assign Each Poem To Large String
146
+ super_poem = [
147
+ allistodust,
148
+ alongforestgreen,
149
+ anarchojean,
150
+ atmydoor,
151
+ badinbed,
152
+ beingmyself,
153
+ coping,
154
+ devilgoodcompany,
155
+ dianacyberneticdreams,
156
+ dontfallback,
157
+ droptheidealogies,
158
+ flalaikurose,
159
+ girlnothingbutadream,
160
+ haywiremeltingdown,
161
+ inthislandoftennessee,
162
+ invisibleminorities,
163
+ juicyneonsteak,
164
+ lackofcommunication,
165
+ laimencoformoonlight,
166
+ leadwithfeelingnotthemind,
167
+ littleants,
168
+ lonelypetalswither,
169
+ marrowlust,
170
+ mmesmiled,
171
+ momentarysilence,
172
+ neveradrollmoment,
173
+ newlaconia,
174
+ nightlystatues,
175
+ sentimentality,
176
+ shadowonthewall,
177
+ shotgungirl,
178
+ skeletonsfinallaugh,
179
+ sliceoflife,
180
+ spidersandtheghost,
181
+ superyacht,
182
+ thegirlwiththerosecheeks,
183
+ turntodust,
184
+ undertheweepingwillowtree,
185
+ unravelingfriendship,
186
+ waitinginthewall,
187
+ whattheysayofrome,
188
+ windmillsong,
189
+ ]
190
+
191
+ ran_1 = rand(8) % 12
192
+ ran_2 = rand(8) % 12
193
+ ran_3 = rand(8) % 12
194
+ ran_4 = rand(8) % 12
195
+ ran_5 = rand(8) % 12
196
+ ran_6 = rand(8) % 12
197
+ ran_7 = rand(8) % 12
198
+ ran_8 = rand(8) % 12
199
+
200
+ poem_1 = super_poem[ran_1].split(",")
201
+ poem_2 = super_poem[ran_2].split(",")
202
+ poem_3 = super_poem[ran_3].split(",")
203
+ poem_4 = super_poem[ran_4].split(",")
204
+ poem_5 = super_poem[ran_5].split(",")
205
+ poem_6 = super_poem[ran_6].split(",")
206
+ poem_7 = super_poem[ran_7].split(",")
207
+ poem_8 = super_poem[ran_8].split(",")
208
+
209
+ ## Output New Poem From Shuffled String
210
+ line_1 = poem_1[0]
211
+ line_2 = poem_2[1]
212
+ line_3 = poem_3[2]
213
+ line_4 = poem_4[3]
214
+ line_5 = poem_5[4]
215
+ line_6 = poem_6[5]
216
+ line_7 = poem_7[6]
217
+ line_8 = poem_8[7]
218
+
219
+ open("output/poetry/poem.txt", "w") { |f|
220
+ f.puts line_1# .strip
221
+ f.puts line_2# .strip
222
+ f.puts line_3# .strip
223
+ f.puts line_4# .strip
224
+ f.puts line_5# .strip
225
+ f.puts line_6# .strip
226
+ f.puts line_7# .strip
227
+ f.puts line_8# .strip
228
+ }
229
+ end
98
230
 
99
231
  def self.estimate_digest
100
232
  ream_size = 4
@@ -212,6 +344,40 @@ module RulesAi
212
344
  +----------------+
213
345
  '
214
346
  end
347
+
348
+ end
349
+
350
+ class RuleCalculation
351
+ def self.calculate_metarules
352
+ print "How many regular rules? >> "
353
+
354
+ r = gets.chomp.to_i
355
+
356
+ # For each amount of rules, meta rules is that many variations of rule combination.
357
+ meta_rule_count = r
358
+ meta_rule_size = r * r
359
+ meta_total = meta_rule_size * r
360
+
361
+ puts "For #{r} many regular rules, there are #{meta_rule_count} metarule variations of #{meta_rule_size} each. Totalling #{meta_total} lines of code."
362
+ end
363
+ end
364
+
365
+ # Rulesets generated by the algorithm itself.
366
+ class MetaRuleset
367
+
368
+ def self.meta_rule_one
369
+ RulesAi::Rule_Set.estimate_digest
370
+ RulesAi::Rule_Set.autonomous_prompting
371
+ RulesAi::Rule_Set.calculate_hyper
372
+ RulesAi::Rule_Set.mixed_13
373
+ RulesAi::Rule_Set.hours_passed
374
+ RulesAi::Rule_Set.tesla_multiplication
375
+ end
376
+
377
+ end
378
+
379
+ # Evolutionary Function that calls the rulesets.
380
+ class Evo_Function
215
381
  end
216
382
 
217
383
  class Chatbot
@@ -290,15 +456,25 @@ module RulesAi
290
456
  class New_Routine # Generates Meta rules
291
457
 
292
458
  def self.generate_ruleset
293
- ruleset = File.readlines("data/rules/input.txt")
459
+ ruleset = File.readlines("evo_data/rules/input.txt")
294
460
 
295
- scatter_rules = ruleset.shuffle
461
+ numbers = "0 1 2 3 4 5".split(" ").shuffle
296
462
 
297
- puts "Generated Rules:\n#{scatter_rules}"
463
+ one = numbers[0].to_i
464
+ two = numbers[1].to_i
465
+ tre = numbers[2].to_i
466
+ fro = numbers[3].to_i
467
+ fiv = numbers[4].to_i
468
+ six = numbers[5].to_i
298
469
 
299
470
  open("new_routine.rb", "w") { |f|
300
- puts 'require "rules_ai"'
301
- puts "\n#{scatter_rules}"
471
+ f.puts "require 'rules_ai'\n\n"
472
+ f.puts "RulesAi::Rule_Set.#{ruleset[one]}"
473
+ f.puts "RulesAi::Rule_Set.#{ruleset[two]}"
474
+ f.puts "RulesAi::Rule_Set.#{ruleset[tre]}"
475
+ f.puts "RulesAi::Rule_Set.#{ruleset[fro]}"
476
+ f.puts "RulesAi::Rule_Set.#{ruleset[fiv]}"
477
+ f.puts "RulesAi::Rule_Set.#{ruleset[six]}"
302
478
  }
303
479
  end
304
480
 
@@ -1,3 +1,3 @@
1
1
  module RulesAi
2
- VERSION = "0.2.0"
2
+ VERSION = "0.8.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rules_ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gitea
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-07 00:00:00.000000000 Z
11
+ date: 2020-11-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This is a collection of different rules based functions, from calculating
14
14
  how many hours have passed, tesla multiplication, autonomous prompting ( such as