slack-smart-bot 1.12.3 → 1.12.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad123f03be6f0089506c0922817758ea95c049408fb0fcaf0a32b60a813d3c69
4
- data.tar.gz: 830795a923d755e6b3d92b6a3edf328438f68e855fe3eaaa6ee3a59a43351b3c
3
+ metadata.gz: 36ca224f2a96256ac106440459efac5a513b0ebabac65494d6a070e1faa5abf3
4
+ data.tar.gz: 3aac3bb4b43dc458876c8bd12157bd9e428eb5d684d69861dc174898b8c5cf9e
5
5
  SHA512:
6
- metadata.gz: 37a4da4e6d66617fe11095d932b4cdc34ef6df6cfa1e15aac45b46d28867f69226cd07908d682fee8d4dd5b6133fa57f701d14b591cec911250956592f14124c
7
- data.tar.gz: 6481d7e7e66d4877454d44112e72fb5e41c041951f2627fc5b021631340e85efce4871d7c82304cb4968b063721bcd1b32a41c085070451afd24c583e7618cb6
6
+ metadata.gz: f99650a5ee15bab2a367dbc3de6be5cf00e7e01cd083a0a6f5cc425e51893609dba819f31191da74ace36e03a64b13fa6dae346ab24bddbbfbb0883bad5eccc9
7
+ data.tar.gz: 8f6904c2f655f09a0bdad49e4fe6da578524ccd8b82c0a00c4574398d01e4c7c109aeeb62868469471baf17a26c7778170e707e7ab87f2fe9065df7614db0b93
@@ -76,6 +76,7 @@ class SlackSmartBot
76
76
  end
77
77
  tzone_users = {}
78
78
  job_title_users = {}
79
+ users_by_job_title = {}
79
80
 
80
81
  unless wrong
81
82
  if on_dm_master or (from_user.id == user) # normal user can only see own stats
@@ -320,10 +321,12 @@ class SlackSmartBot
320
321
  end
321
322
  end
322
323
  if rows[0].key?(:job_title) #then save_stats is saving the job title already
323
- rows.job_title.each do |job_title|
324
+ rows.job_title.each_with_index do |job_title, idx|
324
325
  unless job_title == ''
325
326
  job_title_users[job_title] ||= 0
326
327
  job_title_users[job_title] += 1
328
+ users_by_job_title[job_title] ||= []
329
+ users_by_job_title[job_title] << rows.user_name[idx]
327
330
  end
328
331
  end
329
332
  else
@@ -332,17 +335,25 @@ class SlackSmartBot
332
335
  unless rows[i].values[12] == ''
333
336
  job_title_users[rows[i].values[12]] ||= 0
334
337
  job_title_users[rows[i].values[12]] += 1
338
+ users_by_job_title[rows[i].values[12]] ||= []
339
+ users_by_job_title[rows[i].values[12]] << rows.user_name[i]
335
340
  end
336
341
  else
337
342
  user_info = @users.select { |u| u.id == usr or (u.key?(:enterprise_user) and u.enterprise_user.id == usr) }[-1]
338
343
  unless user_info.nil? or user_info.is_app_user or user_info.is_bot
339
344
  job_title_users[user_info.profile.title] ||= 0
340
345
  job_title_users[user_info.profile.title] += 1
346
+ users_by_job_title[user_info.profile.title] ||= []
347
+ users_by_job_title[user_info.profile.title] << rows.user_name[i]
341
348
  end
342
349
  end
343
350
  end
344
351
  end
345
-
352
+ total_users_by_job_title = 0
353
+ users_by_job_title.each do |job_title, users|
354
+ users.uniq!
355
+ total_users_by_job_title += users.size
356
+ end
346
357
  if users.size > 10
347
358
  message << "*Users* - #{users.size} (Top 10)"
348
359
  else
@@ -375,8 +386,10 @@ class SlackSmartBot
375
386
  message << "*Time Zones*"
376
387
  total_known = 0
377
388
  tzone_users.each do |tzone, num|
378
- message << "\t#{tzone}: #{num} (#{(num.to_f*100/total_without_routines).round(2)}%)"
379
- total_known+=num
389
+ unless tzone.to_s == ''
390
+ message << "\t#{tzone}: #{num} (#{(num.to_f*100/total_without_routines).round(2)}%)"
391
+ total_known+=num
392
+ end
380
393
  end
381
394
  total_unknown = total_without_routines - total_known
382
395
  message << "\tUnknown: #{total_unknown} (#{(total_unknown.to_f*100/total_without_routines).round(2)}%)" if total_unknown > 0
@@ -391,16 +404,32 @@ class SlackSmartBot
391
404
  total_known = 0
392
405
  i = 0
393
406
  job_title_users.sort_by {|k,v| -v}.each do |jtitle, num|
394
- i += 1
395
- if i <= 10
396
- message << "\t#{jtitle}: #{num} (#{(num.to_f*100/total_without_routines).round(2)}%)"
407
+ unless jtitle.to_s == ''
408
+ i += 1
409
+ if i <= 10
410
+ message << "\t#{jtitle}: #{num} (#{(num.to_f*100/total_without_routines).round(2)}%)"
411
+ end
412
+ total_known+=num
397
413
  end
398
- total_known+=num
399
414
  end
400
415
  total_unknown = total_without_routines - total_known
401
416
  message << "\tUnknown: #{total_unknown} (#{(total_unknown.to_f*100/total_without_routines).round(2)}%)" if total_unknown > 0
402
417
  end
403
-
418
+ if users_by_job_title.size > 0
419
+ if users_by_job_title.size > 10
420
+ message << "*Num Users by Job Title* (Top 10)"
421
+ else
422
+ message << "*Num Users by Job Title*"
423
+ end
424
+ i = 0
425
+ users_by_job_title.sort_by {|k,v| -v.size}.each do |jtitle, users|
426
+ i += 1
427
+ if i <= 10
428
+ jtitle = 'Unknown' if jtitle.to_s == ''
429
+ message << "\t#{jtitle}: #{users.size} (#{(users.size.to_f*100/total_users_by_job_title).round(2)}%)"
430
+ end
431
+ end
432
+ end
404
433
  end
405
434
  commands_attachment = []
406
435
 
data/whats_new.txt CHANGED
@@ -1,4 +1,4 @@
1
- *Version 1.12.3* Released 2022-Nov-01
1
+ *Version 1.12.5* Released 2022-Nov-01
2
2
 
3
3
  *For General users*
4
4
  - `run repl` accepts local parameters and precode to be supplied (<https://github.com/MarioRuiz/slack-smart-bot/issues/60|#60>).
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-smart-bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.3
4
+ version: 1.12.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-01 00:00:00.000000000 Z
11
+ date: 2022-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slack-ruby-client
@@ -290,14 +290,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
290
290
  requirements:
291
291
  - - ">="
292
292
  - !ruby/object:Gem::Version
293
- version: '2.7'
293
+ version: 2.7.3
294
294
  required_rubygems_version: !ruby/object:Gem::Requirement
295
295
  requirements:
296
296
  - - ">="
297
297
  - !ruby/object:Gem::Version
298
298
  version: '0'
299
299
  requirements: []
300
- rubygems_version: 3.2.15
300
+ rubygems_version: 3.1.6
301
301
  signing_key:
302
302
  specification_version: 4
303
303
  summary: Create a Slack bot that is smart and so easy to expand, create new bots on