Sha256: 4a89273056454dc7ffedfa441d505f47548e358e037961fbcacbb94c7c9e5dab

Contents?: true

Size: 725 Bytes

Versions: 10

Compression:

Stored size: 725 Bytes

Contents

# frozen_string_literal: true

require "json_schematize"
require "json_schematize/generator"

module SlackBot
  module Events
    module Schemas
      module Type
        class Base < JsonSchematize::Generator
          schema_default option: :dig_type, value: :string

          add_field name: :tldr, type: String, required: false

          def tldr
            if @tldr
              "type: #{type}; #{@tldr}"
            else
              "type: #{type}; unknown;"
            end
          end

          def method_missing(m, *args, &block)
            if __raw_params.has_key?(m.to_s)
              return __raw_params[m.to_s]
            end

            super
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
slack_bot-events-0.4.4 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.4.2 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.4.1 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.4.0 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.3.0 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.2.0 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.1.0 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.0.4 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.0.3 lib/slack_bot/events/schemas/type/base.rb
slack_bot-events-0.0.2 lib/slack_bot/events/schemas/type/base.rb