Sha256: 0113e5bb8ad20685e8926d9dd49d5f1e7b7038f10a5ed95de38df26eabd2dcab

Contents?: true

Size: 838 Bytes

Versions: 2

Compression:

Stored size: 838 Bytes

Contents

# frozen_string_literal: true

module SlackRubyBotServer
  module Events
    module AppMentions
      module Support
        class Attrs
          attr_accessor :mention_name, :mention_desc, :mention_long_desc
          attr_reader :klass, :mentions

          def initialize(klass)
            @klass = klass
            @mentions = []
          end

          def title(title)
            self.mention_name = title
          end

          def desc(desc)
            self.mention_desc = desc
          end

          def long_desc(long_desc)
            self.mention_long_desc = long_desc
          end

          def mention(title, &block)
            @mentions << self.class.new(klass).tap do |k|
              k.title(title)
              k.instance_eval(&block)
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
slack-ruby-bot-server-events-app-mentions-0.1.1 lib/slack-ruby-bot-server-events-app-mentions/mentions/support/attrs.rb
slack-ruby-bot-server-events-app-mentions-0.1.0 lib/slack-ruby-bot-server-events-app-mentions/mentions/support/attrs.rb