slack-smart-bot 1.3.0 → 1.3.1

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: 184f25cc7baddfde9859cabae8a25e1204fca24b3c85b509d00c5579d86233ff
4
- data.tar.gz: '08e6e6e647f2ab67f6a56f7022c56469d56f8c768b5dc7f12d3f6cd2338a2334'
3
+ metadata.gz: 53175e003bbaf58181aecd71f350c0534f66541443bf486075197af040127e72
4
+ data.tar.gz: 7872fc51317b5501bb0ee7ec87595bafdcefbdcebbfa702159bbae282e24ee9b
5
5
  SHA512:
6
- metadata.gz: 320e5c00e0acf8e79414cfb582c3be1009bb790374833fe109009df53dbfbe63739b6148d2499eeb83a0d60c277f1cedad59f4375fff39395e7ce7985406eb79
7
- data.tar.gz: f21210b0dc5504a700a1f6c9265f42ff4e62a4d7502e5e3da662df76452ce67f7ade3a4d837f1178881ed5511c5f6c96c122239e010fe5d62ff0385696322b93
6
+ metadata.gz: f11099c6edbc90ff63ee1f5bf01154997386614d5e201a981a223ef4e73208cf2615ba1492bc0ca34f5b0c0ba318083205e2668518104e2d382d656d03cf7241
7
+ data.tar.gz: 69041e01eff53c3157702a47ee45501541bafffde9e5d2c3e082ba36ac7f4b77e1c53f2ed116ee8616b76faffade6414350ff025bbeaff212ed769144af51b2a
data/README.md CHANGED
@@ -284,6 +284,17 @@ Example:
284
284
  `ES4799209592433480943244`
285
285
  `ES8888795057132445752702`
286
286
 
287
+ In case you want to use a shortcut as a inline shortcut inside a command you can do it by adding a $:
288
+ Example:
289
+ >**_Peter>_** `!add shortcut cust1: 3488823-1233`
290
+ >**_Smart-Bot>_** `shortcut added`
291
+ >**_Peter>_** `!add shortcut cust2: 1111555-6688`
292
+ >**_Smart-Bot>_** `shortcut added`
293
+ >**_Peter>_** `!run tests $cust1`
294
+ >**_Smart-Bot>_** `Running tests for customers 3488823-1233`
295
+ >**_Peter>_** `!run tests $cust1 $cust2`
296
+ >**_Smart-Bot>_** `Running tests for customers 3488823-1233 1111555-6688`
297
+
287
298
  To see available shortcuts: **_`see shortcuts`_** and to delete a particular shortcut: **_`delete shortcut NAME`_**
288
299
 
289
300
  ### Routines
@@ -9,6 +9,7 @@ class SlackSmartBot
9
9
  # help: `shortcut for all NAME: COMMAND`
10
10
  # help: It will add a shortcut that will execute the command we supply.
11
11
  # help: In case we supply 'for all' then the shorcut will be available for everybody
12
+ # help: If you want to use a shortcut as a inline shortcut inside a command you can do it by adding a $ fex: _!run tests $cust1_
12
13
  # help: Example:
13
14
  # help: _add shortcut for all Spanish account: code require 'iso/iban'; 10.times {puts ISO::IBAN.random('ES')}_
14
15
  # help: Then to call this shortcut:
@@ -67,6 +67,9 @@ class SlackSmartBot
67
67
  if !files.nil? && (files.size == 1)
68
68
  @logger.info files[0].inspect if config.testing
69
69
  file_path = "#{config.path}/routines/#{@channel_id}/#{name}#{files[0].name.scan(/[^\.]+(\.\w+$)/).join}"
70
+ if files[0].filetype == "ruby" and files[0].name.scan(/[^\.]+(\.\w+$)/).join == ''
71
+ file_path += ".rb"
72
+ end
70
73
  http = NiceHttp.new(host: "https://files.slack.com", headers: { "Authorization" => "Bearer #{config[:token]}" }, log_headers: :partial)
71
74
  http.get(files[0].url_private_download, save_data: file_path)
72
75
  system("chmod +x #{file_path}")
@@ -85,6 +85,27 @@ class SlackSmartBot
85
85
  addexcl = false
86
86
  command = text.downcase.lstrip.rstrip
87
87
  end
88
+
89
+ if command.include?('$') #for adding shortcuts inside commands
90
+ command.scan(/\$([^\$]+)/i).flatten.each do |sc|
91
+ sc.strip!
92
+ if @shortcuts.key?(nick) and @shortcuts[nick].keys.include?(sc)
93
+ command.gsub!("$#{sc}", @shortcuts[nick][sc])
94
+ elsif @shortcuts.key?(:all) and @shortcuts[:all].keys.include?(sc)
95
+ command.gsub!("$#{sc}", @shortcuts[:all][sc])
96
+ end
97
+ end
98
+ command.scan(/\$([^\s]+)/i).flatten.each do |sc|
99
+ sc.strip!
100
+ if @shortcuts.key?(nick) and @shortcuts[nick].keys.include?(sc)
101
+ command.gsub!("$#{sc}", @shortcuts[nick][sc])
102
+ elsif @shortcuts.key?(:all) and @shortcuts[:all].keys.include?(sc)
103
+ command.gsub!("$#{sc}", @shortcuts[:all][sc])
104
+ end
105
+ end
106
+ text = command
107
+ text = "!" + text if addexcl and text[0] != "!"
108
+ end
88
109
  if command.scan(/^(shortcut|sc)\s+([^:]+)\s*$/i).any? or
89
110
  (@shortcuts.keys.include?(:all) and @shortcuts[:all].keys.include?(command)) or
90
111
  (@shortcuts.keys.include?(nick) and @shortcuts[nick].keys.include?(command))
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.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-13 00:00:00.000000000 Z
11
+ date: 2019-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slack-ruby-client
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '1.7'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 1.7.21
42
+ version: 1.7.24
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '1.7'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 1.7.21
52
+ version: 1.7.24
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: nice_hash
55
55
  requirement: !ruby/object:Gem::Requirement