zetabot 1.1.0 → 2.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a9cad4211323234ab96a59ba56d31982295e7592613da47f5859e89bb0d022a
4
- data.tar.gz: ddf5ed10a9812098fa3af3113a81d6ba6eabbafca13b582dd0556ca04fb7ea36
3
+ metadata.gz: dc2429ddf380f1ac41654c012e259c544c9a0ff0e590f17f913e075942601d18
4
+ data.tar.gz: 648688cd373041736a394c91639f68ad01440befabbbbf4a74d268bb374021a4
5
5
  SHA512:
6
- metadata.gz: 26f5d9265910bdebf81fa1951555293eac0fb993a03578e1c8abf77e1c48ba716d4c5b47bbdd1f71b1646b2db7856f7b60acc78568c1ac016361c8b306f20b24
7
- data.tar.gz: 91eb85dfdba2027300c335d7a8e718aaf4b44ee33d2bb63a9843fe0822c0abe4d601f1ec52e0b76c442289d250bebd69c77962cfc5fa6796756bffec90815032
6
+ metadata.gz: 0f7c7e290f02c30d77c662418ee589d2f5269bcdd1c3bbcda80a7416b1c96e014bf7b24c815d0db4bddf4c0ebc9289e6173f653603857925c5ba5c05d98b37c6
7
+ data.tar.gz: ec190062500dca097dc17477edd7323e5b5ab33fa33de30492c15a92a420e3c2d58275d05f6899f63f1bfcf433391ffe77b37d04bc37de793c6fa8025049195f
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
-
3
2
  # Specify your gem's dependencies in Zeta.gemspec
4
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zetabot (1.0.2)
4
+ zetabot (1.1.0)
5
5
  actionview
6
6
  chronic
7
7
  chronic_duration
@@ -42,18 +42,18 @@ GEM
42
42
  remote: https://rubygems.org/
43
43
  specs:
44
44
  Ascii85 (1.0.3)
45
- actionview (5.2.1)
46
- activesupport (= 5.2.1)
45
+ actionview (5.2.2)
46
+ activesupport (= 5.2.2)
47
47
  builder (~> 3.1)
48
48
  erubi (~> 1.4)
49
49
  rails-dom-testing (~> 2.0)
50
50
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
51
- activesupport (5.2.1)
51
+ activesupport (5.2.2)
52
52
  concurrent-ruby (~> 1.0, >= 1.0.2)
53
53
  i18n (>= 0.7, < 2)
54
54
  minitest (~> 5.1)
55
55
  tzinfo (~> 1.1)
56
- addressable (2.5.2)
56
+ addressable (2.6.0)
57
57
  public_suffix (>= 2.0.2, < 4.0)
58
58
  afm (0.2.2)
59
59
  ansi (1.5.0)
@@ -72,17 +72,17 @@ GEM
72
72
  cinch (~> 2.0)
73
73
  cinch-toolbox (1.1.6)
74
74
  nokogiri (~> 1.6)
75
- clipboard (1.1.2)
75
+ clipboard (1.3.3)
76
76
  code (0.9.2)
77
77
  coderay (~> 1.1)
78
78
  method_source (~> 0.9)
79
79
  coderay (1.1.2)
80
- concurrent-ruby (1.0.5)
80
+ concurrent-ruby (1.1.4)
81
81
  connection_pool (2.2.2)
82
82
  crack (0.4.3)
83
83
  safe_yaml (~> 1.0.0)
84
84
  crass (1.0.4)
85
- daemons (1.2.6)
85
+ daemons (1.3.1)
86
86
  debugging (1.1.1)
87
87
  binding.repl (~> 3.0)
88
88
  paint (>= 0.9, < 3.0)
@@ -90,7 +90,7 @@ GEM
90
90
  thread_safe (~> 0.3, >= 0.3.1)
91
91
  destructor (0.1.0)
92
92
  diff-lcs (1.3)
93
- discourse_api (0.27.0)
93
+ discourse_api (0.33.0)
94
94
  faraday (~> 0.9)
95
95
  faraday_middleware (~> 0.10)
96
96
  rack (>= 1.6)
@@ -100,18 +100,18 @@ GEM
100
100
  dronebl.rb (0.1.0.0)
101
101
  httparty (~> 0.13)
102
102
  nokogiri (~> 1.6)
103
- erubi (1.7.1)
103
+ erubi (1.8.0)
104
104
  every_day_irb (2.0.0)
105
105
  cd (~> 1.0)
106
106
  fancy_irb (1.1.0)
107
107
  paint (>= 0.9, < 3.0)
108
108
  unicode-display_width (~> 1.1)
109
- faraday (0.12.2)
109
+ faraday (0.15.4)
110
110
  multipart-post (>= 1.2, < 3)
111
- faraday_middleware (0.12.2)
111
+ faraday_middleware (0.13.1)
112
112
  faraday (>= 0.7.4, < 1.0)
113
- ffi (1.9.25)
114
- geocoder (1.5.0)
113
+ ffi (1.10.0)
114
+ geocoder (1.5.1)
115
115
  gist (5.0.0)
116
116
  github_api (0.18.2)
117
117
  addressable (~> 2.4)
@@ -127,10 +127,11 @@ GEM
127
127
  hirb (0.7.3)
128
128
  http-cookie (1.0.3)
129
129
  domain_name (~> 0.5)
130
- httparty (0.16.2)
130
+ httparty (0.16.4)
131
+ mime-types (~> 3.0)
131
132
  multi_xml (>= 0.5.2)
132
133
  humanize-bytes (2.2.0)
133
- i18n (1.1.0)
134
+ i18n (1.6.0)
134
135
  concurrent-ruby (~> 1.0)
135
136
  instance (0.2.0)
136
137
  interactive_editor (0.0.11)
@@ -157,9 +158,9 @@ GEM
157
158
  ruby_version (~> 1.0)
158
159
  wirb (~> 2.0)
159
160
  iso8601 (0.9.1)
160
- jwt (1.5.6)
161
+ jwt (2.1.0)
161
162
  liner (0.2.4)
162
- loofah (2.2.2)
163
+ loofah (2.2.3)
163
164
  crass (~> 1.0.2)
164
165
  nokogiri (>= 1.5.9)
165
166
  mechanize (2.7.6)
@@ -174,12 +175,12 @@ GEM
174
175
  memoizable (0.4.2)
175
176
  thread_safe (~> 0.3, >= 0.3.1)
176
177
  method_locator (0.0.4)
177
- method_source (0.9.0)
178
+ method_source (0.9.2)
178
179
  methodfinder (2.2.1)
179
180
  mime-types (3.2.2)
180
181
  mime-types-data (~> 3.2015)
181
182
  mime-types-data (3.2018.0812)
182
- mini_portile2 (2.3.0)
183
+ mini_portile2 (2.4.0)
183
184
  minitest (5.11.3)
184
185
  mkfifo (0.1.1)
185
186
  multi_json (1.13.1)
@@ -190,13 +191,13 @@ GEM
190
191
  connection_pool (~> 2.2)
191
192
  net_http_timeout_errors (0.3.3)
192
193
  netrc (0.11.0)
193
- nokogiri (1.8.4)
194
- mini_portile2 (~> 2.3.0)
194
+ nokogiri (1.10.1)
195
+ mini_portile2 (~> 2.4.0)
195
196
  ntlm-http (0.1.1)
196
197
  numerizer (0.1.1)
197
- oauth2 (1.4.0)
198
- faraday (>= 0.8, < 0.13)
199
- jwt (~> 1.0)
198
+ oauth2 (1.4.1)
199
+ faraday (>= 0.8, < 0.16.0)
200
+ jwt (>= 1.0, < 3.0)
200
201
  multi_json (~> 1.3)
201
202
  multi_xml (~> 0.5)
202
203
  rack (>= 1.2, < 3)
@@ -205,9 +206,9 @@ GEM
205
206
  ruby-ll (~> 2.1)
206
207
  ori (0.1.0)
207
208
  os (1.0.0)
208
- paint (2.0.1)
209
+ paint (2.1.0)
209
210
  parslet (1.8.2)
210
- pdf-reader (2.1.0)
211
+ pdf-reader (2.2.0)
211
212
  Ascii85 (~> 1.0.0)
212
213
  afm (~> 0.2.1)
213
214
  hashery (~> 2.0)
@@ -215,7 +216,7 @@ GEM
215
216
  ttfunk
216
217
  persist (1.0.0)
217
218
  public_suffix (3.0.3)
218
- rack (2.0.5)
219
+ rack (2.0.6)
219
220
  rails-dom-testing (2.0.3)
220
221
  activesupport (>= 4.2.0)
221
222
  nokogiri (>= 1.6)
@@ -233,7 +234,7 @@ GEM
233
234
  rspec-mocks (~> 3.8.0)
234
235
  rspec-core (3.8.0)
235
236
  rspec-support (~> 3.8.0)
236
- rspec-expectations (3.8.1)
237
+ rspec-expectations (3.8.2)
237
238
  diff-lcs (>= 1.2.0, < 2.0)
238
239
  rspec-support (~> 3.8.0)
239
240
  rspec-mocks (3.8.0)
@@ -247,14 +248,14 @@ GEM
247
248
  ruby_engine (1.0.1)
248
249
  ruby_info (1.0.1)
249
250
  ruby_version (1.0.1)
250
- safe_yaml (1.0.4)
251
+ safe_yaml (1.0.5)
251
252
  signed_multiset (0.2.1)
252
253
  spoon (0.0.6)
253
254
  ffi
254
255
  tag_formatter (0.0.3)
255
- temple (0.8.0)
256
+ temple (0.8.1)
256
257
  thread_safe (0.3.6)
257
- tilt (2.0.8)
258
+ tilt (2.0.9)
258
259
  time-lord (1.0.1)
259
260
  ttfunk (1.5.1)
260
261
  tzinfo (1.2.5)
@@ -262,7 +263,7 @@ GEM
262
263
  unf (0.1.4)
263
264
  unf_ext
264
265
  unf_ext (0.0.7.5)
265
- unicode-display_width (1.4.0)
266
+ unicode-display_width (1.5.0)
266
267
  unitwise (2.2.0)
267
268
  liner (~> 0.2)
268
269
  memoizable (~> 0.4)
@@ -291,4 +292,4 @@ DEPENDENCIES
291
292
  zetabot!
292
293
 
293
294
  BUNDLED WITH
294
- 1.16.1
295
+ 1.17.2
@@ -6,7 +6,6 @@ module Plugins
6
6
  def to_s
7
7
  # "[#{time.asctime}] #{who} was seen in #{where} last saying #{what}"
8
8
  time_ago = time_ago_in_words(Time.at(time))
9
- # "[ \x1F#{where.to_s.upcase}\x0F ] \x0304#{who}\x0F: \"\x0303#{what[0..300]}\x0F\" \x02#{time_ago}\x0F ago"
10
9
  if where.to_s.upcase == 'STAFF' || where.to_s.upcase == 'SERVICES'
11
10
  return ''
12
11
  end
@@ -39,17 +39,17 @@ module Plugins
39
39
  # Lookup user from pstore
40
40
  if !@store[msg.user.to_s].nil? && query.nil?
41
41
  stored_location, stored_source = @store[msg.user.to_s].split('::')
42
- stored_source = @api_src.include?(stored_source) ? stored_source : 'wu'
42
+ stored_source = @api_src.include?(stored_source) ? stored_source : 'darksky'
43
43
  data = send("#{stored_source}_src", stored_location)
44
44
  # location = geolookup(@store[msg.user.to_s])
45
45
  # data = wunderground_src(stored_location, false)
46
46
  elsif query.nil?
47
- return msg.reply 'No location set. ?setw <location> :(wu|darkscy|noaa|apixu|owm)'
47
+ return msg.reply 'No location set. ?setw <location> :(darksky|noaa|apixu|owm)'
48
48
  else
49
49
  # data = wu_src(query, true)
50
50
  src = query[/:\w+/].gsub(/:/, '') if query[/:\w+/]
51
51
  query = query.gsub(/:\w+/, '').strip if query
52
- true_src = @api_src.include?(src) ? src : 'wu'
52
+ true_src = @api_src.include?(src) ? src : 'darksky'
53
53
  data = send("#{true_src}_src", query)
54
54
  end
55
55
  return msg.reply "No results found for #{query} with #{true_src} source." if data.nil?
@@ -64,7 +64,7 @@ module Plugins
64
64
  query = query.gsub(/:\w+/, '').strip if query
65
65
 
66
66
  # Sanity Check
67
- true_src = @api_src.include?(src) ? src : 'wu'
67
+ true_src = @api_src.include?(src) ? src : 'darksky'
68
68
  data = send("#{true_src}_src", query)
69
69
 
70
70
  # Error
@@ -76,106 +76,13 @@ module Plugins
76
76
  msg.reply "Your location is now set to #{data.ac.name}, #{data.ac.c}!"
77
77
  end
78
78
 
79
- # ?hurricane
80
- def hurricane(msg)
81
- url = URI.encode "http://api.wunderground.com/api/#{Zsec.wunderground}/currenthurricane/view.json"
82
- location = JSON.parse(
83
- # RestClient.get(url)
84
- open(url).read
85
- )
86
- return msg.reply "No results found for #{query}." if location.nil?
87
- reply_msg = "∴ #{location['currenthurricane'][0]['stormInfo']['stormName_Nice']} " \
88
- "(#{location['currenthurricane'][0]['stormInfo']['stormNumber']}) "\
89
- "≈ Category #{location['currenthurricane'][0]['Current']['SaffirSimpsonCategory']} " \
90
- "≈ Wind #{location['currenthurricane'][0]['Current']['WindSpeed']['Mph']} mph " \
91
- "(#{location['currenthurricane'][0]['Current']['WindSpeed']['Kph']} kph) " \
92
- "≈ Wind Gust #{location['currenthurricane'][0]['Current']['WindGust']['Mph']} mph " \
93
- "(#{location['currenthurricane'][0]['Current']['WindGust']['Kph']} kph) " \
94
- "≈ #{location['currenthurricane'][0]['Current']['Time']['pretty']} ∴"
95
- msg.reply(reply_msg)
96
- end
97
-
98
- # ?almanac <location>
99
- def almanac(msg, locale)
100
- autocomplete = JSON.parse(open(URI.encode("http://autocomplete.wunderground.com/aq?query=#{locale}")).read)
101
- url = URI.encode("http://api.wunderground.com/api/#{Config.secrets[:wunderground]}/almanac/#{autocomplete['RESULTS'][0]['l']}.json")
102
- location = JSON.parse(
103
- # RestClient.get(url)
104
- open(url).read
105
- )
106
- return msg.reply "No results found for #{query}." if location.nil?
107
-
108
- time = Time.now()
109
-
110
- data = OpenStruct.new(
111
- date: time.strftime('%B, %d %Y (%A) '),
112
- airport: location['almanac']['airport_code'],
113
- high_norm_f: location['almanac']['temp_high']['normal']['F'],
114
- high_norm_c: location['almanac']['temp_high']['normal']['C'],
115
- high_record_y: location['almanac']['temp_high']['recordyear'],
116
- high_record_f: location['almanac']['temp_high']['record']['F'],
117
- high_record_c: location['almanac']['temp_high']['normal']['C'],
118
- low_norm_f: location['almanac']['temp_low']['normal']['F'],
119
- low_norm_c: location['almanac']['temp_low']['normal']['C'],
120
- low_record_y: location['almanac']['temp_low']['recordyear'],
121
- low_record_f: location['almanac']['temp_low']['record']['F'],
122
- low_record_c: location['almanac']['temp_low']['normal']['C'],
123
- )
124
-
125
- reply_msg = "∴ Almanac #{data.date} ≈ Airport #{data.airport} " \
126
- "≈ Normal #{data.high_norm_f} F (#{data.high_norm_c} C) | #{data.low_norm_f} F (#{data.low_norm_c} C) " \
127
- "≈ High #{data.high_record_f} F (#{data.high_record_c} C) [#{data.high_record_y}] " \
128
- "≈ Low #{data.low_record_f} F (#{data.low_record_c} C) [#{data.low_record_y}] ∴"
129
-
130
- msg.reply(reply_msg)
131
- end
132
-
133
-
134
79
  # -private
135
80
  private
136
- #### Weather Sources
137
- # Weather Underground - https://wunderground.com
138
- def wu_src(location)
139
- # Fuzzy location lookup
140
- ac = JSON.parse(
141
- open(URI.encode("https://autocomplete.wunderground.com/aq?query=#{location}")).read,
142
- object_class: OpenStruct
143
- )
144
- return nil if ac.RESULTS.empty?
145
-
146
- ac = ac.RESULTS[0]
147
- geolookup = JSON.parse(
148
- open(URI.encode("https://api.wunderground.com/api/#{Config.secrets[:wunderground]}/geolookup/#{ac.l}.json")).read,
149
- object_class: OpenStruct
150
- ).location.l rescue nil
151
-
152
- # Get Data
153
- data = JSON.parse(
154
- open("https://api.wunderground.com/api/#{Config.secrets[:wunderground]}/alerts/conditions#{geolookup}.json").read,
155
- object_class: OpenStruct
156
- )
157
-
158
- debug "DATA: #{data}"
159
- data.ac = ac
160
- current = data.current_observation
161
- alerts = data.alerts.empty? ? 'none' : data.alerts.map {|l| l['type']}.join(',')
162
- # pressure_si = Unitwise((current.pressure_in.to_f)+14.7, '[psi]').convert_to('kPa').to_f.round(2)
163
-
164
- data.reply = "WU ∴ #{ac.name}, #{ac.c} " \
165
- "≈ #{current.weather} #{current.temperature_string} " \
166
- "≈ Feels like #{current.feelslike_string} " \
167
- "≈ Humidity: #{current.relative_humidity} " \
168
- "≈ Pressure: #{current.pressure_in} in/Hg (#{current.pressure_mb} mbar) " \
169
- "≈ Wind: #{current.wind_string} ≈ Alerts: #{alerts} ∴"
170
- return data
171
- # rescue
172
- # return nil
173
- end
174
81
 
175
82
  # Open Weather map - https://openweathermap.org/api
176
83
  def owm_src(location)
177
84
  ac = JSON.parse(
178
- open(URI.encode("http://maps.googleapis.com/maps/api/geocode/json?address=#{location}")).read,
85
+ open(URI.encode("https://maps.googleapis.com/maps/api/geocode/json?address=#{location}&key=#{Config.secrets[:google]}")).read,
179
86
  object_class: OpenStruct
180
87
  )
181
88
 
@@ -194,13 +101,14 @@ module Plugins
194
101
  )
195
102
 
196
103
  temp = Unitwise(data.main.temp, 'K') # Data is given in kelvin
197
- pressure = Unitwise((data.main.pressure.to_f/10)+101, 'kPa')
104
+ pressure = Unitwise(data.main.pressure.to_f, 'mbar')
198
105
  wind = Unitwise(data.wind.speed, 'kilometer')
199
106
 
200
107
  data.reply = "OWM ∴ #{ac.formatted_address} " \
201
108
  "≈ #{data.weather[0].description}, #{temp.convert_to('[degF]').to_i.round(2)} F (#{temp.convert_to('Cel').to_i.round(2)} C) " \
202
109
  "≈ Humidity: #{data.main.humidity}% " \
203
- "≈ Pressure: #{pressure.convert_to('[psi]').to_f.round(2)} in/Hg (#{data.main.pressure} mbar) " \
110
+ "≈ Pressure: #{pressure.convert_to('[in_i\'Hg]').to_f.round(2)} in/Hg " \
111
+ "(#{pressure.convert_to("kPa").to_f.round(2)} kPa) " \
204
112
  "≈ Wind: #{wind.convert_to('mile').to_i.round(2)} mph (#{wind.to_i.round(2)} km/h) ∴"
205
113
 
206
114
  return data
@@ -210,7 +118,7 @@ module Plugins
210
118
  # DarkSky - https://darksky.net/dev
211
119
  def darksky_src(location)
212
120
  ac = JSON.parse(
213
- open(URI.encode("http://maps.googleapis.com/maps/api/geocode/json?address=#{location}")).read,
121
+ open(URI.encode("https://maps.googleapis.com/maps/api/geocode/json?address=#{location}&key=#{Config.secrets[:google]}")).read,
214
122
  object_class: OpenStruct
215
123
  )
216
124
  return nil if ac.results.nil? ## Unable to locate
@@ -230,7 +138,7 @@ module Plugins
230
138
  alerts = data.alerts.count rescue 0
231
139
  c = Unitwise(current.temperature, '[degF]').convert_to('Cel').to_i
232
140
  c_feels = Unitwise(current.apparentTemperature, '[degF]').convert_to('Cel').to_i
233
- p = Unitwise((current.pressure.to_f/10)+101, 'kPa')
141
+ p = Unitwise(current.pressure.to_f, 'mbar')
234
142
  gusts = Unitwise(current.windGust, 'mile').convert_to('kilometer').to_i
235
143
 
236
144
  tempstring = "#{current.temperature.to_i} F (#{c} C)"
@@ -240,7 +148,8 @@ module Plugins
240
148
  "≈ #{current.summary} #{tempstring} " \
241
149
  "≈ Feels like #{feelslike} " \
242
150
  "≈ Humidity: #{current.relative_humidity} " \
243
- "≈ Pressure: #{p.convert_to('[psi]').to_f.round(2)} in/Hg (#{current.pressure} mbar) " \
151
+ "≈ Pressure: #{p.convert_to('[in_i\'Hg]').to_f.round(2)} in/Hg " \
152
+ "(#{p.convert_to("kPa").to_f.round(2)} kPa) " \
244
153
  "≈ Wind: gusts upto #{current.windGust} mph (#{gusts} km/h) ≈ Alerts: #{alerts} ∴"
245
154
 
246
155
  return data
@@ -251,7 +160,7 @@ module Plugins
251
160
  # NOAA - https://graphical.weather.gov/xml/
252
161
  def noaa_src(location)
253
162
  ac = JSON.parse(
254
- open(URI.encode("http://maps.googleapis.com/maps/api/geocode/json?address=#{location}")).read,
163
+ open(URI.encode("https://maps.googleapis.com/maps/api/geocode/json?address=#{location}&key=#{Config.secrets[:google]}")).read,
255
164
  object_class: OpenStruct
256
165
  )
257
166
  return nil if ac.results.nil? ## Unable to locate
@@ -278,13 +187,14 @@ module Plugins
278
187
  temp = "#{f.round(2)} F (#{data.temperature.value.to_i.round(2)} C) "
279
188
  wind = "Gusts: #{data.windGust.value} avg: #{data.windSpeed.value.to_i.round(2)}"
280
189
  feelslike = "#{data.windChill.value.to_i.round(2)} C"
281
- pressure = Unitwise(data.barometricPressure.value.to_f+101325, 'Pa')
190
+ pressure = Unitwise(data.barometricPressure.value.to_f, 'Pa')
282
191
 
283
192
  data.reply = "NOAA ∴ #{ac.formatted_address} " \
284
193
  "≈ #{data.textDescription} #{temp} " \
285
194
  "≈ Feels like #{feelslike} " \
286
195
  "≈ Humidity: #{data.relativeHumidity.value.round(2)} " \
287
- "≈ Pressure: #{pressure.convert_to('[psi]').to_f.round(2)} in/Hg (#{pressure.convert_to('kPa').to_f} mbar) " \
196
+ "≈ Pressure: #{pressure.convert_to('[in_i\'Hg]').to_f.round(2)} in/Hg " \
197
+ "(#{pressure.convert_to("kPa").to_f.round(2)} kPa) " \
288
198
  "≈ Wind: #{wind} ≈ Alerts: ∴"
289
199
  return data
290
200
  # rescue
data/lib/Zeta/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Zeta
2
- VERSION = '1.1.0'
2
+ VERSION = '2.0.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zetabot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liothen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-02 00:00:00.000000000 Z
11
+ date: 2019-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -654,8 +654,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
654
654
  - !ruby/object:Gem::Version
655
655
  version: '0'
656
656
  requirements: []
657
- rubyforge_project:
658
- rubygems_version: 2.7.6
657
+ rubygems_version: 3.0.1
659
658
  signing_key:
660
659
  specification_version: 4
661
660
  summary: Zeta is a IRC bot written in ruby using the Cinch Framework