flex_core 0.0.3 → 0.0.5

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/flex_core.rb +107 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14c2b146e949e54b3ef4415d9277da2b40262b76
4
- data.tar.gz: 350a44137d3aafcd60987e3821adf26aa6eb6184
3
+ metadata.gz: 3beab33e8512dc6ebd1500ee262c2381845a7925
4
+ data.tar.gz: 4d9328ae1b2206d90b770ee04361b41c3f987829
5
5
  SHA512:
6
- metadata.gz: 063406f8e113922bfece344455c36b5d2172cb3a123121c896884a6f3fa8c9d774e7898ddc21ec62d224eb3a426b9d7079c9b1ac470df5b4a20be670fe501490
7
- data.tar.gz: b0d0a6b4836a233138b30c6803b94d21d0bb6b9382c357c87fa5d22c734d159e72f86c1e26ba212d84c6c9fdd0065dd92c7b37ed606731191ede3d0ea0c74352
6
+ metadata.gz: 74d37ac5551022701c7f8ff191f9ae72c77ad948104cc7fb2150fae6ba3564f3f8c4010ca36c0d0573152e4260ce500b519c7e7ffbd4285ec59571096bfdb879
7
+ data.tar.gz: 44f53543d1a186015570a6c790a6a502881295904915ef9a2c41b6eff6ad44c2cb063c1c167cf285cd2dc680d65348399eb73c0841a9ccb9f54e154563866f55
data/lib/flex_core.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'yaml'
2
+
1
3
  class FlexCore
2
4
 
3
5
  class << self
@@ -10,6 +12,85 @@ class FlexCore
10
12
 
11
13
  end
12
14
 
15
+ module Kernel
16
+
17
+ class << self
18
+ attr_accessor :print_flag, :print_counter
19
+ end
20
+
21
+ old_puts = Kernel.instance_method(:puts)
22
+
23
+ define_method(:puts) do |thing|
24
+
25
+ if Kernel.print_flag
26
+ old_puts.bind(self).()
27
+ Kernel.print_flag = false
28
+ Kernel.print_counter = 0
29
+ end
30
+
31
+ old_puts.bind(self).(thing)
32
+
33
+ end
34
+
35
+ def vsleep (seconds)
36
+ sleep = seconds.to_i
37
+ puts
38
+ sleep.times do
39
+ sleep(1)
40
+ print '.'
41
+ end
42
+ puts
43
+ end
44
+
45
+ def boink
46
+ print "\a"
47
+ end
48
+
49
+ def blip (tone = 440)
50
+ `play -n synth 0.04 triangle #{tone}`
51
+ end
52
+
53
+ def strum (speed = 0.2)
54
+ `play -n synth sin G3 sin D4 sin A sin E5 fade h 0.2 #{speed} 0.2`
55
+ end
56
+
57
+ def sputs (string, speed = 0.005)
58
+
59
+ chars = string.chars
60
+ specials = ["\n", ',', '.']
61
+
62
+ chars.each_with_index { |char, index|
63
+
64
+ print char
65
+
66
+ if char.is_in?(specials) && chars[index + 1].is_not_in?(specials)
67
+ sleep(speed * 5)
68
+ else
69
+ sleep(speed)
70
+ end
71
+
72
+ }
73
+ puts
74
+ end
75
+
76
+ def lprint (thing, limit = 50)
77
+ print thing
78
+
79
+ Kernel.print_counter ||= 0
80
+ Kernel.print_counter += 1
81
+
82
+ puts if Kernel.print_counter == limit
83
+
84
+ Kernel.print_flag = true
85
+ end
86
+
87
+ def rputs (thing)
88
+ puts thing
89
+ thing
90
+ end
91
+
92
+ end
93
+
13
94
  class Hash
14
95
 
15
96
  def store! (key, value)
@@ -66,12 +147,30 @@ class NilClass
66
147
  self
67
148
  end
68
149
 
150
+ def strip
151
+ ''
152
+ end
153
+
69
154
  end
70
155
 
71
156
  class Object
157
+
72
158
  def deep_copy
73
159
  Marshal.load(Marshal.dump(self))
74
160
  end
161
+
162
+ def is_in? (array)
163
+ array.include?(self)
164
+ end
165
+
166
+ def not_in? (array)
167
+ array.exclude?(self)
168
+ end
169
+
170
+ def is_not_in? (array)
171
+ array.exclude?(self)
172
+ end
173
+
75
174
  end
76
175
 
77
176
  class Dummy
@@ -107,3 +206,11 @@ class String
107
206
 
108
207
  end
109
208
 
209
+ class Array
210
+
211
+ def exclude? (object)
212
+ !self.include?(object)
213
+ end
214
+
215
+ end
216
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flex_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugene Lai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-12 00:00:00.000000000 Z
11
+ date: 2016-03-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: To do
14
14
  email: ejt.lai@gmail.com