class Slappy::Listener::Targettable::Target
Public Instance Methods
channel()
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 48 def channel @channel ||= [] end
channel=(value)
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 37 def channel=(value) value = [value] unless value.instance_of? Array @channel = value end
list(target)
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 42 def list(target) send(target).each_with_object([]) do |t, result| result << Slappy::SlackAPI.find(t) end end
target_names(target)
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 52 def target_names(target) send(target).join(',') end
user()
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 61 def user @user ||= [] end
user=(value)
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 56 def user=(value) value = [value] unless value.instance_of? Array @user = value end
valid?(event)
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 17 def valid?(event) return true if channel.blank? && user.blank? result = [] result << false unless validation(:channel, event) result << false unless validation(:user, event) result.blank? end
validation(target, event)
click to toggle source
# File lib/slappy/listeners/concerns/targettable.rb, line 28 def validation(target, event) return true if send(target).compact.blank? unless send(:list, target).include? event.send target Debug.log "Message from restrict #{target}(expect: #{target_names(target)})" return false end true end