slack_block_kit 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e5d96c457901f958a818423822d263731b973700608553814c22121d5250bc64
4
+ data.tar.gz: 74f88c477c0611c4396234ccab674ba608d868db9cb2dfdfd9fdd15e96b4166a
5
+ SHA512:
6
+ metadata.gz: de53fe305167a4d8039b30faf18c4f8ea029631a79e8f7571fb913eb6453dc2040e79d0edcd62cfa65f7be7453d1d1f9f32243d9d7ee573c200f96803dc0e637
7
+ data.tar.gz: '018baa8a2ab4b6f046ec8582e22614fce06b88934690c5eaee85bd0d96c706dc582e4cc4079bcb761ee5ba649b9e5f6f15afdc732836c935c34ab9210ac12032'
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rubocop.yml ADDED
@@ -0,0 +1,7 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.5.3
5
+
6
+ Metrics/LineLength:
7
+ Max: 120
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,16 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-03-02 15:46:18 +0000 using RuboCop version 0.63.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Configuration parameters: CountKeywordArgs.
11
+ Metrics/ParameterLists:
12
+ Max: 6
13
+
14
+ # Offense count: 19
15
+ Style/Documentation:
16
+ Enabled: false
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in tenios-rb.gemspec
6
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,53 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ slack_block_kit (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ast (2.4.0)
10
+ diff-lcs (1.3)
11
+ jaro_winkler (1.5.2)
12
+ parallel (1.13.0)
13
+ parser (2.6.0.0)
14
+ ast (~> 2.4.0)
15
+ powerpack (0.1.2)
16
+ rainbow (3.0.0)
17
+ rake (10.5.0)
18
+ rspec (3.8.0)
19
+ rspec-core (~> 3.8.0)
20
+ rspec-expectations (~> 3.8.0)
21
+ rspec-mocks (~> 3.8.0)
22
+ rspec-core (3.8.0)
23
+ rspec-support (~> 3.8.0)
24
+ rspec-expectations (3.8.2)
25
+ diff-lcs (>= 1.2.0, < 2.0)
26
+ rspec-support (~> 3.8.0)
27
+ rspec-mocks (3.8.0)
28
+ diff-lcs (>= 1.2.0, < 2.0)
29
+ rspec-support (~> 3.8.0)
30
+ rspec-support (3.8.0)
31
+ rubocop (0.63.1)
32
+ jaro_winkler (~> 1.5.1)
33
+ parallel (~> 1.10)
34
+ parser (>= 2.5, != 2.5.1.1)
35
+ powerpack (~> 0.1)
36
+ rainbow (>= 2.2.2, < 4.0)
37
+ ruby-progressbar (~> 1.7)
38
+ unicode-display_width (~> 1.4.0)
39
+ ruby-progressbar (1.10.0)
40
+ unicode-display_width (1.4.1)
41
+
42
+ PLATFORMS
43
+ ruby
44
+
45
+ DEPENDENCIES
46
+ bundler (< 2.0)
47
+ rake
48
+ rspec
49
+ rubocop
50
+ slack_block_kit!
51
+
52
+ BUNDLED WITH
53
+ 1.17.3
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Christian Gregg
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # Slack::BlockKit
2
+
3
+ TODO
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'slack_block_kit'
11
+ ```
12
+
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install slack_block_kit
22
+
23
+ Finally, require this:
24
+
25
+ ```ruby
26
+ require 'slack/block_kit'
27
+ ```
28
+
29
+ ## Contributing
30
+
31
+ Bug reports and pull requests are welcome on GitHub at https://github.com/CGA1123/slack_block_kit-ruby
32
+
33
+ ## License
34
+
35
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Composition; end
6
+ module Element; end
7
+ module Layout;end
8
+
9
+ VERSION = '0.1.0'
10
+
11
+ Dir[File.join(__dir__, 'block_kit', 'composition', '*.rb')].each { |file| require file }
12
+ Dir[File.join(__dir__, 'block_kit', 'element', '*.rb')].each { |file| require file }
13
+ Dir[File.join(__dir__, 'block_kit', 'layout', '*.rb')].each { |file| require file }
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Composition
6
+ class ConfirmationDialog
7
+ def initialize(title:, text:, confirm:, deny:)
8
+ @title = title
9
+ @text = text
10
+ @confirm = confirm
11
+ @deny = deny
12
+ end
13
+
14
+ def as_json(*)
15
+ {
16
+ title: @title.as_json,
17
+ text: @text.as_json,
18
+ confirm: @confirm.as_json,
19
+ deny: @deny.as_json
20
+ }
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Composition
6
+ class Option
7
+ def initialize(text:, value:)
8
+ @text = text
9
+ @value = value
10
+ end
11
+
12
+ def as_json(*)
13
+ {
14
+ text: @text.as_json,
15
+ value: @value
16
+ }
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Composition
6
+ class OptionGroup
7
+ def initialize(label:, options:)
8
+ @label = label
9
+ @options = options
10
+ end
11
+
12
+ def as_json(*)
13
+ {
14
+ label: @label.as_json,
15
+ options: options.map(&:as_json)
16
+ }
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Composition
6
+ class Text
7
+ def initialize(type:, text:, emoji: nil, verbatim: nil)
8
+ @type = type
9
+ @text = text
10
+ @emoji = emoji
11
+ @verbatim = verbatim
12
+ end
13
+
14
+ def self.plaintext(text:, emoji: nil)
15
+ new(
16
+ type: 'plain_text',
17
+ text: text,
18
+ emoji: emoji
19
+ )
20
+ end
21
+
22
+ def self.markdown(text:, verbatim: nil)
23
+ new(
24
+ type: 'mrkdwn',
25
+ text: text,
26
+ verbatim: verbatim
27
+ )
28
+ end
29
+
30
+ def as_json(*)
31
+ {
32
+ type: @type,
33
+ text: @text,
34
+ emoji: @emoji,
35
+ verbatim: @verbatim
36
+ }.compact
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class Button
7
+ TYPE = 'button'
8
+
9
+ def initialize(text:, action_id:, url: nil, value: nil, confirm: nil)
10
+ @text = text
11
+ @action_id = action_id
12
+ @url = url
13
+ @value = value
14
+ @confirm = confirm
15
+ end
16
+
17
+ def as_json(*)
18
+ {
19
+ type: TYPE,
20
+ text: @text.as_json,
21
+ action_id: @action_id,
22
+ url: @url,
23
+ value: @value,
24
+ confirm: @confirm&.as_json
25
+ }.compact
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class ChannelsSelect
7
+ TYPE = 'channels_select'
8
+
9
+ def initialize(placeholder:, action_id:, initial_channel: nil, confirm: nil)
10
+ @placeholder = placeholder
11
+ @action_id = action_id
12
+ @initial_conversation = initial_channel
13
+ @confirm = confirm
14
+ end
15
+
16
+ def as_json(*)
17
+ {
18
+ type: TYPE,
19
+ placeholder: @placeholder.as_json,
20
+ action_id: @action_id,
21
+ initial_conversation: @initial_channel,
22
+ confirm: @confirm&.as_json
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class ConversationsSelect
7
+ TYPE = 'conversations_select'
8
+
9
+ def initialize(placeholder:, action_id:, initial_conversation: nil, confirm: nil)
10
+ @placeholder = placeholder
11
+ @action_id = action_id
12
+ @initial_conversation = initial_conversation
13
+ @confirm = confirm
14
+ end
15
+
16
+ def as_json(*)
17
+ {
18
+ type: TYPE,
19
+ placeholder: @placeholder.as_json,
20
+ action_id: @action_id,
21
+ initial_conversation: @initial_conversation,
22
+ confirm: @confirm&.as_json
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class DatePicker
7
+ TYPE = 'datepicker'
8
+
9
+ def initialize(action_id:, placeholder: nil, initial_date: nil, confirm: nil)
10
+ @action_id = action_id
11
+ @placeholder = placeholder
12
+ @initial_date = initial_date
13
+ @confirm = confirm
14
+ end
15
+
16
+ def as_json(*)
17
+ {
18
+ type: TYPE,
19
+ action_id: @action_id,
20
+ placeholder: @placeholder&.as_json,
21
+ initial_date: @initial_date,
22
+ confirm: @confirm&.as_json
23
+ }.compact
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class ExternalSelect
7
+ TYPE = 'external_select'
8
+
9
+ def initialize(placeholder:, action_id:, initial_option: nil, min_query_length: nil, confirm: nil)
10
+ @placeholder = placeholder
11
+ @action_id = action_id
12
+ @initial_option = initial_option
13
+ @min_query_length = min_query_length
14
+ @confirm = confirm
15
+ end
16
+
17
+ def as_json(*)
18
+ {
19
+ type: TYPE,
20
+ placeholder: @placeholder.as_json,
21
+ action_id: @action_id,
22
+ initial_option: @initial_option&.as_json,
23
+ min_query_length: min_query_length,
24
+ confirm: @confirm&.as_json
25
+ }.compact
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class Image
7
+ TYPE = 'image'
8
+
9
+ def initialize(image_url:, alt_text:)
10
+ @image_url = image_url
11
+ @alt_text = alt_text
12
+ end
13
+
14
+ def as_json(*)
15
+ {
16
+ type: TYPE,
17
+ image_url: @image_url,
18
+ alt_text: @alt_text
19
+ }
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class OverflowMenu
7
+ TYPE = 'overflow'
8
+
9
+ def initialize(action_id:, options:, confirm: nil)
10
+ @action_id = action_id
11
+ @options = options
12
+ @confirm = confirm
13
+ end
14
+
15
+ def as_json(*)
16
+ {
17
+ type: TYPE,
18
+ action_id: @action_id,
19
+ options: @options.map(&:as_json),
20
+ confirm: @confirm&.as_json
21
+ }.compact
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class StaticSelect
7
+ TYPE = 'static_select'
8
+
9
+ def initialize(placeholder:, action_id:, options:, option_groups:, initial_option: nil, confirm: nil)
10
+ @placeholder = placeholder
11
+ @action_id = action_id
12
+ @options = options
13
+ @option_groups = option_groups
14
+ @initial_option = initial_option
15
+ @confirm = confirm
16
+ end
17
+
18
+ def as_json(*)
19
+ {
20
+ type: TYPE,
21
+ placeholder: @placeholder.as_json,
22
+ action_id: @action_id,
23
+ options: @options&.map(&:as_json),
24
+ option_groups: @option_groups&.map(&:as_json),
25
+ initial_option: @initial_option&.as_json,
26
+ confirm: @confirm&.as_json
27
+ }.compact
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ class UsersSelect
7
+ TYPE = 'users_select'
8
+
9
+ def initialize(placeholder:, action_id:, initial_user: nil, confirm: nil)
10
+ @placeholder = placeholder
11
+ @action_id = action_id
12
+ @initial_user = initial_user
13
+ @confirm = confirm
14
+ end
15
+
16
+ def as_json(*)
17
+ {
18
+ type: TYPE,
19
+ placeholder: @placeholder.as_json,
20
+ action_id: @action_id,
21
+ initial_user: @initial_user,
22
+ confirm: @confirm&.as_json
23
+ }.compact
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Layout
6
+ class Actions
7
+ TYPE = 'actions'
8
+
9
+ def initialize(elements:, block_id: nil)
10
+ @elements = elements
11
+ @block_id = block_id
12
+ end
13
+
14
+ def as_json(*)
15
+ {
16
+ type: TYPE,
17
+ elements: @elements.map(&:as_json),
18
+ block_id: @block_id
19
+ }.compact
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Layout
6
+ class Context
7
+ TYPE = 'context'
8
+
9
+ def initialize(elements:, block_id: nil)
10
+ @elements = elements
11
+ @block_id = block_id
12
+ end
13
+
14
+ def as_json(*)
15
+ {
16
+ type: TYPE,
17
+ elements: @elements.map(&:as_json),
18
+ block_id: @block_id
19
+ }.compact
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Layout
6
+ class Divider
7
+ TYPE = 'divider'
8
+
9
+ def initialize(block_id: nil)
10
+ @block_id = block_id
11
+ end
12
+
13
+ def as_json(*)
14
+ {
15
+ type: TYPE,
16
+ block_id: @block_id
17
+ }.compact
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Layout
6
+ class Image
7
+ TYPE = 'image'
8
+
9
+ def initialize(image_url:, alt_text:, title: nil, block_id: nil)
10
+ @image_url = image_url
11
+ @alt_text = alt_text
12
+ @title = title
13
+ @block_id = block_id
14
+ end
15
+
16
+ def as_json(*)
17
+ {
18
+ type: TYPE,
19
+ image_url: @image_url,
20
+ alt_text: @alt_text,
21
+ title: @title&.as_json,
22
+ block_id: @block_id
23
+ }.compact
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Layout
6
+ class Section
7
+ TYPE = 'section'
8
+
9
+ def initialize(text:, block_id: nil, fields: nil, accessory: nil)
10
+ @text = text
11
+ @block_id = block_id
12
+ @fields = fields
13
+ @accessory = accessory
14
+ end
15
+
16
+ def as_json(*)
17
+ {
18
+ type: TYPE,
19
+ text: @text.as_json,
20
+ block_id: @block_id,
21
+ fields: @fields&.map(&:as_json),
22
+ accessory: @accessory&.as_json
23
+ }.compact
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'slack/block_kit'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'slack_block_kit'
9
+ spec.version = Slack::BlockKit::VERSION
10
+ spec.authors = ['Christian Gregg']
11
+ spec.email = ['c_arlt@hotmail.com']
12
+ spec.summary = "A ruby wrapper for Slack's Block Kit"
13
+ spec.homepage = 'https://github.com/CGA1123/slack_block_kit-ruby'
14
+ spec.license = 'MIT'
15
+
16
+ if spec.respond_to?(:metadata)
17
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
18
+ else
19
+ raise 'RubyGems 2.0 or newer is required to protect against ' \
20
+ 'public gem pushes.'
21
+ end
22
+
23
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
+ `git ls-files -z`
25
+ .split("\x0")
26
+ .reject { |f| f.match(%r{^(test|spec|features)/}) }
27
+ end
28
+ spec.require_paths = ['lib']
29
+ spec.required_ruby_version = '>= 2.5'
30
+
31
+ spec.add_development_dependency 'bundler', '< 2.0'
32
+ spec.add_development_dependency 'rake'
33
+ spec.add_development_dependency 'rspec'
34
+ spec.add_development_dependency 'rubocop'
35
+ end
metadata ADDED
@@ -0,0 +1,129 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: slack_block_kit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Christian Gregg
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-03-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "<"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "<"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description:
70
+ email:
71
+ - c_arlt@hotmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - ".rubocop.yml"
78
+ - ".rubocop_todo.yml"
79
+ - Gemfile
80
+ - Gemfile.lock
81
+ - LICENSE.txt
82
+ - README.md
83
+ - Rakefile
84
+ - lib/slack/block_kit.rb
85
+ - lib/slack/block_kit/composition/confirmation_dialog.rb
86
+ - lib/slack/block_kit/composition/option.rb
87
+ - lib/slack/block_kit/composition/option_group.rb
88
+ - lib/slack/block_kit/composition/text.rb
89
+ - lib/slack/block_kit/element/button.rb
90
+ - lib/slack/block_kit/element/channels_select.rb
91
+ - lib/slack/block_kit/element/conversations_select.rb
92
+ - lib/slack/block_kit/element/date_picker.rb
93
+ - lib/slack/block_kit/element/external_select.rb
94
+ - lib/slack/block_kit/element/image.rb
95
+ - lib/slack/block_kit/element/overflow_menu.rb
96
+ - lib/slack/block_kit/element/static_select.rb
97
+ - lib/slack/block_kit/element/users_select.rb
98
+ - lib/slack/block_kit/layout/actions.rb
99
+ - lib/slack/block_kit/layout/context.rb
100
+ - lib/slack/block_kit/layout/divider.rb
101
+ - lib/slack/block_kit/layout/image.rb
102
+ - lib/slack/block_kit/layout/section.rb
103
+ - slack_block_kit.gemspec
104
+ homepage: https://github.com/CGA1123/slack_block_kit-ruby
105
+ licenses:
106
+ - MIT
107
+ metadata:
108
+ allowed_push_host: https://rubygems.org
109
+ post_install_message:
110
+ rdoc_options: []
111
+ require_paths:
112
+ - lib
113
+ required_ruby_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '2.5'
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ requirements: []
124
+ rubyforge_project:
125
+ rubygems_version: 2.7.6
126
+ signing_key:
127
+ specification_version: 4
128
+ summary: A ruby wrapper for Slack's Block Kit
129
+ test_files: []