fbomb 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +6 -14
  2. data/Rakefile +1 -1
  3. data/bin/fbomb +83 -23
  4. data/fbomb.gemspec +29 -1
  5. data/images/michael/Aviation-Cat-Halloween-Costume.jpg.jpg +0 -0
  6. data/images/michael/Bumblebee-Cat-Halloween-Costume.jpg.jpg +0 -0
  7. data/images/michael/Burger-Cat-Halloween-Costume.jpg.jpg +0 -0
  8. data/images/michael/Business-Cat-Halloween-Costume.png.png +0 -0
  9. data/images/michael/Cat-Batman-Halloween-Costume.jpg.jpg +0 -0
  10. data/images/michael/Cat-Dressed-as-a-Bunny-For-Halloween.jpg.jpg +0 -0
  11. data/images/michael/Cat-in-the-Hat-Halloween-Costume.jpg.jpg +0 -0
  12. data/images/michael/Fitness-Cat-Halloween-Costume.jpg.jpg +0 -0
  13. data/images/michael/Froggy-Cat-Halloween-Costume.jpg.jpg +0 -0
  14. data/images/michael/Harry-Potter-Cat-Halloween-Costume.jpg.jpg +0 -0
  15. data/images/michael/Hello-Kitty-Cat-Halloween-Costume.jpg.jpg +0 -0
  16. data/images/michael/Lion-Cat-Halloween-Costume.jpg.jpg +0 -0
  17. data/images/michael/Little-Red-Riding-Cat-Halloween-Costume.jpg.jpg +0 -0
  18. data/images/michael/Lobster-Cat-Halloween-Costume.png.png +0 -0
  19. data/images/michael/Pirate-Cat-Halloween-Costume.jpg.jpg +0 -0
  20. data/images/michael/Princess-Leia-Halloween-Cat-Costume.jpg.jpg +0 -0
  21. data/images/michael/Pumpkin-Cat-Halloween-Costume.jpg-600x400.jpg +0 -0
  22. data/images/michael/Pure-Bred-Cat-Halloween-Costume.jpg.jpg +0 -0
  23. data/images/michael/Rice-Krispies-Treat-Cat.jpg.jpg +0 -0
  24. data/images/michael/Scuba-Cat-Halloween-Costume.jpg.jpg +0 -0
  25. data/images/michael/Spider-Cat-Halloween-Costume.jpg-600x427.jpg +0 -0
  26. data/images/michael/Super-Mario-Cat-Halloween-Costume.png.png +0 -0
  27. data/images/michael/Superman-Cat-Halloween-Costume.jpg-600x525.jpg +0 -0
  28. data/images/michael/Sushi-Cat-Halloween-Costume2.jpg2.jpg +0 -0
  29. data/images/michael/Taco-Cat-Halloween-Costume.jpg.jpg +0 -0
  30. data/images/michael/Witch-Hat-Cat-Costume-For-Halloween.jpg.jpg +0 -0
  31. data/images/michael/Yoda-Cat-Halloween-Costume.png.png +0 -0
  32. data/lib/fbomb/command.rb +23 -0
  33. data/lib/fbomb/commands/builtin.rb +64 -0
  34. data/lib/fbomb/flowdock.rb +9 -1
  35. data/lib/fbomb/util.rb +8 -0
  36. data/lib/fbomb.rb +2 -1
  37. metadata +61 -34
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDhkZDQ4ZGYyMGNkOWFhOTRiZmI0NjUyYzYxNWRhMjZlOTE1NjQzMA==
5
- data.tar.gz: !binary |-
6
- MGIzOTkyM2NmM2EyZTZmOGIyYTA4MDZjNzQ2ZWYyNzZhODFjMmM5MA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- OTI0MGQ2MWExNWY3ZGY5MmRhYTg2YTRiN2EwNDgzOTkzM2UxYzFiM2ZkMWQw
10
- OTRkNzEwMzRjZjI1NjcxZTAwOGFkOWRhMDRmNGM2MjU5NTczYjhhOTE5Yzk5
11
- YzJiNTlkNTg3MGI4MzdiODE3NzNlNGNlNDU0ZTlmZGM4NjI1MjI=
12
- data.tar.gz: !binary |-
13
- MTQ2NjM0MTI0Yjg5NzFmMmIyNTliMDYwNWU1MDRiZTEwYTM0NTUxNWFmNWY4
14
- M2MwMGMzNDliOWY4YTQ5YzU5OGUwNmI4NDM3N2UzMmZlOTkzZTg1YTIwZjQx
15
- MzI3YmY2ZWQzODVhYjQ3NWIzZGE1NDZkMGVlYzVkOGI1ODkwZjc=
2
+ SHA1:
3
+ metadata.gz: 409a46bf1e48c9ba0b6f16a670f795e48adeef52
4
+ data.tar.gz: 54aa9ae11da35a979a329a1cba46bc70b93c5f77
5
+ SHA512:
6
+ metadata.gz: 509605066ce0213814cb07aef1a458bafe44b3a7bf0669846e155f673797ba1acd5b7237ac77dc2fa08413bcc8ea69c3c63b724e3b83c7d4a475993b178609f2
7
+ data.tar.gz: 4f4834c9831325c7a147a09785847249060fa00c56ba82cefdae0bc86363942242a1b3259062fd8b7cda1d06593421bac50efea1e529d3f9a54f78b040a403b8
data/Rakefile CHANGED
@@ -327,7 +327,7 @@ BEGIN {
327
327
 
328
328
  # discover full path to this ruby executable
329
329
  #
330
- c = Config::CONFIG
330
+ c = RbConfig::CONFIG
331
331
  bindir = c["bindir"] || c['BINDIR']
332
332
  ruby_install_name = c['ruby_install_name'] || c['RUBY_INSTALL_NAME'] || 'ruby'
333
333
  ruby_ext = c['EXEEXT'] || ''
data/bin/fbomb CHANGED
@@ -174,6 +174,8 @@ Main {
174
174
  option('--daemon', '-d')
175
175
 
176
176
  def run
177
+ $cmd = [Util.which_ruby, File.expand_path(__FILE__), *ARGV].join(' ')
178
+
177
179
  if params['daemon'].given?
178
180
  DATA.flock(File::LOCK_EX|File::LOCK_NB) or exit!(42)
179
181
  Dir.chdir('/tmp')
@@ -192,42 +194,100 @@ Main {
192
194
  end
193
195
 
194
196
  def drop_fbombs!
197
+ #
195
198
  at_exit{ @flow.leave }
196
199
 
197
- @flow.speak("fbomb (beta) in da house...")
200
+ # @flow.speak("fbomb (beta) in da house...")
198
201
 
199
202
  trap('INT'){ exit }
200
203
 
201
204
  =begin
202
205
  {"event"=>"activity.user", "tags"=>[], "uuid"=>nil, "persist"=>false, "id"=>194342, "flow"=>"c6dbc029-2173-4fb6-a423-32293c373106", "content"=>{"last_activity"=>1399656686378}, "sent"=>1399657205286, "app"=>nil, "attachments"=>[], "user"=>"76002"}
203
206
  =end
207
+
208
+ #
209
+ $inactive = true
210
+ $active_at = Time.now
211
+
212
+ @monitor =
213
+ Thread.new do
214
+ Thread.current.abort_on_exception = true
215
+
216
+ loop do
217
+ sleep(60)
218
+
219
+ if($inactive and ((Time.now - $active_at).abs > 300))
220
+ p '$cmd' => $cmd
221
+ Kernel.exec($cmd)
222
+ end
223
+ end
224
+ end
225
+
226
+ #
204
227
  loop do
205
228
  logging_errors do
206
229
  @flow.stream do |flow|
207
- #p :flow => flow
208
- next unless flow[:event] == 'message'
209
-
210
- content = flow[:content].to_s
211
- tokens = content.scan(%r/[^\s]+/)
212
- arg, *args = tokens
213
-
214
- if arg =~ %r|^\s*#{ Regexp.escape(FBomb.leader) }|
215
- key = arg.strip
216
- command = FBomb::Command.table[key]
217
-
218
- if command
219
- user = @flow.user_for(flow[:user])
220
- #p :user => user
221
- FBomb::Command.user = user
222
- begin
223
- logging_errors do
224
- logger.info("#{ key } #{ args.join(' ') }")
225
- command.call(*args)
230
+ begin
231
+ $inactive = false
232
+ $active_at = Time.now
233
+
234
+ #
235
+ next unless %w[ message comment ].include?(flow[:event])
236
+
237
+ #
238
+ content = flow[:content]
239
+
240
+ case content
241
+ when Hash
242
+ content = content[:text].to_s
243
+ else
244
+ content = content.to_s
245
+ end
246
+
247
+ #
248
+ tokens = content.scan(%r/[^\s]+/)
249
+ arg, *args = tokens
250
+
251
+ #
252
+ FBomb::Command.table.each do |key, command|
253
+ if command.matches?(content)
254
+ user = @flow.user_for(flow[:user])
255
+ FBomb::Command.user = user
256
+ begin
257
+ logging_errors do
258
+ logger.info("#{ key } =~ #{ content }")
259
+ command.call(content)
260
+ end
261
+ ensure
262
+ FBomb::Command.user = nil
226
263
  end
227
- ensure
228
- FBomb::Command.user = nil
229
264
  end
230
265
  end
266
+
267
+ #
268
+ if arg =~ %r|^\s*#{ Regexp.escape(FBomb.leader) }|
269
+ key = arg.strip
270
+ command = FBomb::Command.table[key]
271
+
272
+ if command
273
+ user = @flow.user_for(flow[:user])
274
+ FBomb::Command.user = user
275
+ begin
276
+ logging_errors do
277
+ logger.info("#{ key } #{ args.join(' ') }")
278
+ command.call(*args)
279
+ end
280
+ ensure
281
+ FBomb::Command.user = nil
282
+ end
283
+ end
284
+ else
285
+ if @flow.yelling?
286
+ @flow.yell(content)
287
+ end
288
+ end
289
+ ensure
290
+ $inactive = true
231
291
  end
232
292
  end
233
293
 
@@ -268,7 +328,7 @@ Main {
268
328
  []
269
329
  end
270
330
 
271
- content = ARGV.join(' ')
331
+ content = argv.join(' ')
272
332
 
273
333
  if content.strip == '-'
274
334
  content = STDIN.read
data/fbomb.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification::new do |spec|
5
5
  spec.name = "fbomb"
6
- spec.version = "2.0.0"
6
+ spec.version = "3.0.0"
7
7
  spec.platform = Gem::Platform::RUBY
8
8
  spec.summary = "fbomb"
9
9
  spec.description = "description: fbomb kicks the ass"
@@ -18,6 +18,34 @@ Gem::Specification::new do |spec|
18
18
  "bin/fbomb",
19
19
  "fbomb.gemspec",
20
20
  "images",
21
+ "images/michael",
22
+ "images/michael/Aviation-Cat-Halloween-Costume.jpg.jpg",
23
+ "images/michael/Bumblebee-Cat-Halloween-Costume.jpg.jpg",
24
+ "images/michael/Burger-Cat-Halloween-Costume.jpg.jpg",
25
+ "images/michael/Business-Cat-Halloween-Costume.png.png",
26
+ "images/michael/Cat-Batman-Halloween-Costume.jpg.jpg",
27
+ "images/michael/Cat-Dressed-as-a-Bunny-For-Halloween.jpg.jpg",
28
+ "images/michael/Cat-in-the-Hat-Halloween-Costume.jpg.jpg",
29
+ "images/michael/Fitness-Cat-Halloween-Costume.jpg.jpg",
30
+ "images/michael/Froggy-Cat-Halloween-Costume.jpg.jpg",
31
+ "images/michael/Harry-Potter-Cat-Halloween-Costume.jpg.jpg",
32
+ "images/michael/Hello-Kitty-Cat-Halloween-Costume.jpg.jpg",
33
+ "images/michael/Lion-Cat-Halloween-Costume.jpg.jpg",
34
+ "images/michael/Little-Red-Riding-Cat-Halloween-Costume.jpg.jpg",
35
+ "images/michael/Lobster-Cat-Halloween-Costume.png.png",
36
+ "images/michael/Pirate-Cat-Halloween-Costume.jpg.jpg",
37
+ "images/michael/Princess-Leia-Halloween-Cat-Costume.jpg.jpg",
38
+ "images/michael/Pumpkin-Cat-Halloween-Costume.jpg-600x400.jpg",
39
+ "images/michael/Pure-Bred-Cat-Halloween-Costume.jpg.jpg",
40
+ "images/michael/Rice-Krispies-Treat-Cat.jpg.jpg",
41
+ "images/michael/Scuba-Cat-Halloween-Costume.jpg.jpg",
42
+ "images/michael/Spider-Cat-Halloween-Costume.jpg-600x427.jpg",
43
+ "images/michael/Super-Mario-Cat-Halloween-Costume.png.png",
44
+ "images/michael/Superman-Cat-Halloween-Costume.jpg-600x525.jpg",
45
+ "images/michael/Sushi-Cat-Halloween-Costume2.jpg2.jpg",
46
+ "images/michael/Taco-Cat-Halloween-Costume.jpg.jpg",
47
+ "images/michael/Witch-Hat-Cat-Costume-For-Halloween.jpg.jpg",
48
+ "images/michael/Yoda-Cat-Halloween-Costume.png.png",
21
49
  "images/planet",
22
50
  "images/planet/1dEzGbz.jpg",
23
51
  "images/planet/3aASzbv.jpg",
data/lib/fbomb/command.rb CHANGED
@@ -84,6 +84,7 @@ module FBomb
84
84
  fattr(:key)
85
85
  fattr(:help)
86
86
  fattr(:setup)
87
+ fattr(:patterns){ [] }
87
88
 
88
89
  def initialize
89
90
  @call = proc{}
@@ -137,6 +138,11 @@ module FBomb
137
138
  message['body'] if message
138
139
  end
139
140
 
141
+ def matches?(*args)
142
+ text = Coerce.list_of_strings(args).join(' ')
143
+ patterns.any?{|pattern| pattern === text}
144
+ end
145
+
140
146
  ## dsl
141
147
  #
142
148
  class DSL
@@ -165,6 +171,23 @@ module FBomb
165
171
  end
166
172
  alias_method('Command', 'command')
167
173
 
174
+ def match(*args, &block)
175
+ return @command if(args.empty? and block.nil?)
176
+ @command = Command.new
177
+ pattern = args.shift
178
+ key = Util.absolute_key_for(pattern.to_s)
179
+ @command.key = key
180
+ @command.patterns.push(pattern)
181
+ @commands[@command.key] ||= @command
182
+ evaluate(&block)
183
+ end
184
+
185
+ def matches(*args)
186
+ args.each do |arg|
187
+ @command.patterns.push(arg)
188
+ end
189
+ end
190
+
168
191
  def help(*args)
169
192
  @command.help = args.join("\n")
170
193
  end
@@ -1,4 +1,26 @@
1
1
  FBomb {
2
+ ##
3
+ #
4
+ command(:yell){
5
+ help 'YELL'
6
+
7
+ call do |*args|
8
+ flow.yelling = true
9
+ flow.yell(*args) unless args.empty?
10
+ end
11
+ }
12
+
13
+ ##
14
+ #
15
+ command(:stfu){
16
+ help 'no YELLING'
17
+
18
+ call do |*args|
19
+ flow.yell('shut the fuck up!')
20
+ flow.yelling = false
21
+ end
22
+ }
23
+
2
24
  ##
3
25
  #
4
26
  command(:hai){
@@ -137,6 +159,48 @@ FBomb {
137
159
  end
138
160
  }
139
161
 
162
+ ##
163
+ #
164
+ command(:michael) {
165
+ help "Meow."
166
+
167
+ call do |*args|
168
+ basenames = %w[
169
+ Aviation-Cat-Halloween-Costume.jpg.jpg
170
+ Bumblebee-Cat-Halloween-Costume.jpg.jpg
171
+ Burger-Cat-Halloween-Costume.jpg.jpg
172
+ Business-Cat-Halloween-Costume.png.png
173
+ Cat-Batman-Halloween-Costume.jpg.jpg
174
+ Cat-Dressed-as-a-Bunny-For-Halloween.jpg.jpg
175
+ Cat-in-the-Hat-Halloween-Costume.jpg.jpg
176
+ Fitness-Cat-Halloween-Costume.jpg.jpg
177
+ Froggy-Cat-Halloween-Costume.jpg.jpg
178
+ Harry-Potter-Cat-Halloween-Costume.jpg.jpg
179
+ Hello-Kitty-Cat-Halloween-Costume.jpg.jpg
180
+ Lion-Cat-Halloween-Costume.jpg.jpg
181
+ Little-Red-Riding-Cat-Halloween-Costume.jpg.jpg
182
+ Lobster-Cat-Halloween-Costume.png.png
183
+ Pirate-Cat-Halloween-Costume.jpg.jpg
184
+ Princess-Leia-Halloween-Cat-Costume.jpg.jpg
185
+ Pumpkin-Cat-Halloween-Costume.jpg-600x400.jpg
186
+ Pure-Bred-Cat-Halloween-Costume.jpg.jpg
187
+ Rice-Krispies-Treat-Cat.jpg.jpg
188
+ Scuba-Cat-Halloween-Costume.jpg.jpg
189
+ Spider-Cat-Halloween-Costume.jpg-600x427.jpg
190
+ Super-Mario-Cat-Halloween-Costume.png.png
191
+ Superman-Cat-Halloween-Costume.jpg-600x525.jpg
192
+ Sushi-Cat-Halloween-Costume2.jpg2.jpg
193
+ Taco-Cat-Halloween-Costume.jpg.jpg
194
+ Witch-Hat-Cat-Costume-For-Halloween.jpg.jpg
195
+ Yoda-Cat-Halloween-Costume.png.png
196
+ ]
197
+
198
+ basename = basenames.sort_by{ rand }.first
199
+ url = File.join('https://raw.github.com/ahoward/fbomb/master/images/michael', basename)
200
+ speak(url)
201
+ end
202
+ }
203
+
140
204
  ##
141
205
  #
142
206
  command(:chuckle) {
@@ -58,6 +58,14 @@ module FBomb
58
58
  end
59
59
 
60
60
  class Flow < Object
61
+ fattr(:yelling){ false }
62
+
63
+ def yell(*args)
64
+ string = args.join(' ')
65
+ prefix = ["FUCKING", "OH YEAH!?", "SRSLY"].sort_by{ rand }.first
66
+ paste([prefix, string].join(' '))
67
+ end
68
+
61
69
  def escape(string)
62
70
  string.to_s.gsub('+', '%2B')
63
71
  end
@@ -121,7 +129,7 @@ module FBomb
121
129
  end
122
130
 
123
131
  def leave
124
- say 'bai'
132
+ #say 'bai'
125
133
  end
126
134
 
127
135
  =begin
data/lib/fbomb/util.rb CHANGED
@@ -1,4 +1,12 @@
1
1
  module Util
2
+ def which_ruby
3
+ c = RbConfig::CONFIG
4
+ bindir = c["bindir"] || c['BINDIR']
5
+ ruby_install_name = c['ruby_install_name'] || c['RUBY_INSTALL_NAME'] || 'ruby'
6
+ ruby_ext = c['EXEEXT'] || ''
7
+ ruby = File.join(bindir, (ruby_install_name + ruby_ext))
8
+ end
9
+
2
10
  def hostname
3
11
  @hostname ||= (Socket.gethostname rescue 'localhost')
4
12
  end
data/lib/fbomb.rb CHANGED
@@ -8,11 +8,12 @@
8
8
  require 'fileutils'
9
9
  require 'tmpdir'
10
10
  require 'yaml'
11
+ require 'rbconfig'
11
12
 
12
13
  # libs
13
14
  #
14
15
  module FBomb
15
- Version = '2.0.0' unless defined?(Version)
16
+ Version = '3.0.0' unless defined?(Version)
16
17
 
17
18
  def version
18
19
  FBomb::Version
metadata CHANGED
@@ -1,212 +1,212 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbomb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ara T. Howard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-12 00:00:00.000000000 Z
11
+ date: 2015-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: flowdock
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: eventmachine
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.0.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.0.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: em-http-request
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.1.2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.1.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.8.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.8.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: coerce
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.0.6
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.0.6
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: fukung
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.1.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.1.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: main
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 4.7.6
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: 4.7.6
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: nokogiri
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: 1.5.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 1.5.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: google-search
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: 1.0.2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.0.2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: unidecode
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ! '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: 1.0.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ! '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: 1.0.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: systemu
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ! '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: 2.3.0
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ! '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: 2.3.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: pry
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ! '>='
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: 0.9.6.2
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ! '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: 0.9.6.2
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: mechanize
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ! '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: 2.7.3
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ! '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: 2.7.3
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: mime-types
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ! '>='
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
201
  version: '1.16'
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ! '>='
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '1.16'
209
- description: ! 'description: fbomb kicks the ass'
209
+ description: 'description: fbomb kicks the ass'
210
210
  email: ara.t.howard@gmail.com
211
211
  executables:
212
212
  - fbomb
@@ -219,6 +219,33 @@ files:
219
219
  - Rakefile
220
220
  - bin/fbomb
221
221
  - fbomb.gemspec
222
+ - images/michael/Aviation-Cat-Halloween-Costume.jpg.jpg
223
+ - images/michael/Bumblebee-Cat-Halloween-Costume.jpg.jpg
224
+ - images/michael/Burger-Cat-Halloween-Costume.jpg.jpg
225
+ - images/michael/Business-Cat-Halloween-Costume.png.png
226
+ - images/michael/Cat-Batman-Halloween-Costume.jpg.jpg
227
+ - images/michael/Cat-Dressed-as-a-Bunny-For-Halloween.jpg.jpg
228
+ - images/michael/Cat-in-the-Hat-Halloween-Costume.jpg.jpg
229
+ - images/michael/Fitness-Cat-Halloween-Costume.jpg.jpg
230
+ - images/michael/Froggy-Cat-Halloween-Costume.jpg.jpg
231
+ - images/michael/Harry-Potter-Cat-Halloween-Costume.jpg.jpg
232
+ - images/michael/Hello-Kitty-Cat-Halloween-Costume.jpg.jpg
233
+ - images/michael/Lion-Cat-Halloween-Costume.jpg.jpg
234
+ - images/michael/Little-Red-Riding-Cat-Halloween-Costume.jpg.jpg
235
+ - images/michael/Lobster-Cat-Halloween-Costume.png.png
236
+ - images/michael/Pirate-Cat-Halloween-Costume.jpg.jpg
237
+ - images/michael/Princess-Leia-Halloween-Cat-Costume.jpg.jpg
238
+ - images/michael/Pumpkin-Cat-Halloween-Costume.jpg-600x400.jpg
239
+ - images/michael/Pure-Bred-Cat-Halloween-Costume.jpg.jpg
240
+ - images/michael/Rice-Krispies-Treat-Cat.jpg.jpg
241
+ - images/michael/Scuba-Cat-Halloween-Costume.jpg.jpg
242
+ - images/michael/Spider-Cat-Halloween-Costume.jpg-600x427.jpg
243
+ - images/michael/Super-Mario-Cat-Halloween-Costume.png.png
244
+ - images/michael/Superman-Cat-Halloween-Costume.jpg-600x525.jpg
245
+ - images/michael/Sushi-Cat-Halloween-Costume2.jpg2.jpg
246
+ - images/michael/Taco-Cat-Halloween-Costume.jpg.jpg
247
+ - images/michael/Witch-Hat-Cat-Costume-For-Halloween.jpg.jpg
248
+ - images/michael/Yoda-Cat-Halloween-Costume.png.png
222
249
  - images/planet/1dEzGbz.jpg
223
250
  - images/planet/3aASzbv.jpg
224
251
  - images/planet/BCfEwgl.jpg
@@ -254,17 +281,17 @@ require_paths:
254
281
  - lib
255
282
  required_ruby_version: !ruby/object:Gem::Requirement
256
283
  requirements:
257
- - - ! '>='
284
+ - - ">="
258
285
  - !ruby/object:Gem::Version
259
286
  version: '0'
260
287
  required_rubygems_version: !ruby/object:Gem::Requirement
261
288
  requirements:
262
- - - ! '>='
289
+ - - ">="
263
290
  - !ruby/object:Gem::Version
264
291
  version: '0'
265
292
  requirements: []
266
293
  rubyforge_project: codeforpeople
267
- rubygems_version: 2.0.3
294
+ rubygems_version: 2.4.5.1
268
295
  signing_key:
269
296
  specification_version: 4
270
297
  summary: fbomb