Class: Ruboty::SlackEvents::Filter::Slackify
- Inherits:
-
Object
- Object
- Ruboty::SlackEvents::Filter::Slackify
- Defined in:
- lib/ruboty/slack_events/filter/slackify.rb
Overview
Convert Ruboty text format to Slack text format
Instance Attribute Summary collapse
-
#resolvers ⇒ Object
readonly
: Resolvers.
Instance Method Summary collapse
- #call(text) ⇒ Object
-
#initialize(resolvers:) ⇒ Slackify
constructor
A new instance of Slackify.
- #replace_user_mentions(text) ⇒ Object
Constructor Details
#initialize(resolvers:) ⇒ Slackify
Returns a new instance of Slackify.
11 12 13 |
# File 'lib/ruboty/slack_events/filter/slackify.rb', line 11 def initialize(resolvers:) @resolvers = resolvers end |
Instance Attribute Details
#resolvers ⇒ Object (readonly)
: Resolvers
8 9 10 |
# File 'lib/ruboty/slack_events/filter/slackify.rb', line 8 def resolvers @resolvers end |
Instance Method Details
#call(text) ⇒ Object
16 17 18 |
# File 'lib/ruboty/slack_events/filter/slackify.rb', line 16 def call(text) #: String replace_user_mentions(text) end |
#replace_user_mentions(text) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/ruboty/slack_events/filter/slackify.rb', line 21 def replace_user_mentions(text) #: String text.gsub(/@(?<user_name>\w+)/) do |user_mention| user_name = Regexp.last_match[:user_name] user_info = resolvers.user_resolver.user_info_by_name(user_name) next user_mention unless user_info "<@#{user_info.id}>" end end |