slack-ruby-block-kit 0.6.1 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1ce18c84f51fac5942313852cb7f12420a4aa77440e3c360ea05b69da6bfa8c
4
- data.tar.gz: b01973fff58d82c84652e9238285463d2b59052ffa4ada98bbf99f45eb789739
3
+ metadata.gz: fa3cc74b7d6e5de2e6889ec9fdc8ba02b8678be5731708cb7b5319985d839354
4
+ data.tar.gz: a261f505882c2662bd1009ff3a020a394154dcfe336439e032e0942085a2df46
5
5
  SHA512:
6
- metadata.gz: db52491fa1c4402c393daf83ad402f7f173f243b42ecc06567e33a69a90056f13547836b5dd6c32ef0774310be8f86190aa96e27bddaa243f4545444d5525583
7
- data.tar.gz: 3b8644c48e2dcacce01d10a8c9b34eb181096bcb94159194169cc618ac233819cacbd78f58afce0baf03c63c233b98b6e686e0af4403b4dfddd81655e2ac60b1
6
+ metadata.gz: 99d3a21decd19a4cfb54351bf31d2ec36516f2777a010ceae26e21b121f3bf229b8c8df2d7a9cef7598ae8fe2f93e42642321d8d7cd72cccdc8b384a62845da2
7
+ data.tar.gz: c90b7442867bc51d87d8d1bb2c6a34193bcc6ad3cec7808527955e5bc0b157360ffac521ed58b8bd545fca76c3bf86f4d459e649eb26f0e5a69b10a990aa4076
@@ -2,7 +2,7 @@ version: 2
2
2
  jobs:
3
3
  build:
4
4
  docker:
5
- - image: circleci/ruby:2.5.3
5
+ - image: circleci/ruby:2.7
6
6
 
7
7
  working_directory: ~/repo
8
8
 
@@ -0,0 +1,9 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 99
8
+ reviewers:
9
+ - CGA1123
@@ -4,7 +4,7 @@ inherit_from: .rubocop_todo.yml
4
4
  AllCops:
5
5
  TargetRubyVersion: 2.5.3
6
6
 
7
- Metrics/LineLength:
7
+ Layout/LineLength:
8
8
  Max: 120
9
9
 
10
10
  Style/AsciiComments:
@@ -23,3 +23,33 @@ Metrics/BlockLength:
23
23
  - '**/*.rake'
24
24
  - 'spec/**/*.rb'
25
25
  - '**/*.gemspec'
26
+
27
+ Layout/EmptyLinesAroundAttributeAccessor:
28
+ Enabled: true
29
+
30
+ Layout/SpaceAroundMethodCallOperator:
31
+ Enabled: true
32
+
33
+ Lint/DeprecatedOpenSSLConstant:
34
+ Enabled: true
35
+
36
+ Lint/RaiseException:
37
+ Enabled: true
38
+
39
+ Lint/StructNewOverride:
40
+ Enabled: true
41
+
42
+ Style/ExponentialNotation:
43
+ Enabled: true
44
+
45
+ Style/HashEachMethods:
46
+ Enabled: true
47
+
48
+ Style/HashTransformKeys:
49
+ Enabled: true
50
+
51
+ Style/HashTransformValues:
52
+ Enabled: true
53
+
54
+ Style/SlicingWithRange:
55
+ Enabled: true
@@ -1,56 +1,59 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- slack-ruby-block-kit (0.6.1)
4
+ slack-ruby-block-kit (0.7.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- ast (2.4.0)
9
+ ast (2.4.1)
10
10
  coderay (1.1.2)
11
11
  diff-lcs (1.3)
12
12
  dotenv (2.7.5)
13
13
  faraday (1.0.1)
14
14
  multipart-post (>= 1.2, < 3)
15
- jaro_winkler (1.5.2)
16
15
  method_source (1.0.0)
17
16
  multipart-post (2.1.1)
18
- parallel (1.13.0)
19
- parser (2.6.0.0)
17
+ parallel (1.19.1)
18
+ parser (2.7.1.3)
20
19
  ast (~> 2.4.0)
21
- powerpack (0.1.2)
22
20
  pry (0.13.1)
23
21
  coderay (~> 1.1)
24
22
  method_source (~> 1.0)
25
23
  rainbow (3.0.0)
26
24
  rake (13.0.1)
27
- rspec (3.8.0)
28
- rspec-core (~> 3.8.0)
29
- rspec-expectations (~> 3.8.0)
30
- rspec-mocks (~> 3.8.0)
31
- rspec-core (3.8.0)
32
- rspec-support (~> 3.8.0)
33
- rspec-expectations (3.8.2)
25
+ regexp_parser (1.7.1)
26
+ rexml (3.2.4)
27
+ rspec (3.9.0)
28
+ rspec-core (~> 3.9.0)
29
+ rspec-expectations (~> 3.9.0)
30
+ rspec-mocks (~> 3.9.0)
31
+ rspec-core (3.9.2)
32
+ rspec-support (~> 3.9.3)
33
+ rspec-expectations (3.9.2)
34
34
  diff-lcs (>= 1.2.0, < 2.0)
35
- rspec-support (~> 3.8.0)
36
- rspec-mocks (3.8.0)
35
+ rspec-support (~> 3.9.0)
36
+ rspec-mocks (3.9.1)
37
37
  diff-lcs (>= 1.2.0, < 2.0)
38
- rspec-support (~> 3.8.0)
39
- rspec-support (3.8.0)
38
+ rspec-support (~> 3.9.0)
39
+ rspec-support (3.9.3)
40
40
  rspec_junit_formatter (0.4.1)
41
41
  rspec-core (>= 2, < 4, != 2.12.0)
42
- rubocop (0.63.1)
43
- jaro_winkler (~> 1.5.1)
42
+ rubocop (0.85.1)
44
43
  parallel (~> 1.10)
45
- parser (>= 2.5, != 2.5.1.1)
46
- powerpack (~> 0.1)
44
+ parser (>= 2.7.0.1)
47
45
  rainbow (>= 2.2.2, < 4.0)
46
+ regexp_parser (>= 1.7)
47
+ rexml
48
+ rubocop-ast (>= 0.0.3)
48
49
  ruby-progressbar (~> 1.7)
49
- unicode-display_width (~> 1.4.0)
50
- rubocop-rspec (1.32.0)
51
- rubocop (>= 0.60.0)
52
- ruby-progressbar (1.10.0)
53
- unicode-display_width (1.4.1)
50
+ unicode-display_width (>= 1.4.0, < 2.0)
51
+ rubocop-ast (0.0.3)
52
+ parser (>= 2.7.0.1)
53
+ rubocop-rspec (1.40.0)
54
+ rubocop (>= 0.68.1)
55
+ ruby-progressbar (1.10.1)
56
+ unicode-display_width (1.7.0)
54
57
 
55
58
  PLATFORMS
56
59
  ruby
@@ -6,12 +6,12 @@ module Slack
6
6
  module Element; end
7
7
  module Layout; end
8
8
 
9
- VERSION = '0.6.1'
9
+ VERSION = '0.7.0'
10
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
- Dir[File.join(__dir__, 'block_kit', '*.rb')].each { |file| require file }
11
+ Dir[File.join(__dir__, 'block_kit', 'composition', '*.rb')].sort.each { |file| require file }
12
+ Dir[File.join(__dir__, 'block_kit', 'element', '*.rb')].sort.each { |file| require file }
13
+ Dir[File.join(__dir__, 'block_kit', 'layout', '*.rb')].sort.each { |file| require file }
14
+ Dir[File.join(__dir__, 'block_kit', '*.rb')].sort.each { |file| require file }
15
15
 
16
16
  module_function
17
17
 
@@ -9,6 +9,10 @@ module Slack
9
9
  #
10
10
  # https://api.slack.com/reference/messaging/composition-objects#confirm
11
11
  class ConfirmationDialog
12
+ def initialize
13
+ @title, @confirm, @text, @style = nil
14
+ end
15
+
12
16
  def title(text:, emoji: nil)
13
17
  @title = PlainText.new(text: text, emoji: emoji)
14
18
 
@@ -11,7 +11,7 @@ module Slack
11
11
  def initialize(value:, text:, emoji: nil, description: nil, url: nil)
12
12
  @text = PlainText.new(text: text, emoji: emoji)
13
13
  @value = value
14
- @description = PlainText.new(text: description, emoji: emoji) if description
14
+ @description = description && PlainText.new(text: description, emoji: emoji)
15
15
  @url = url
16
16
  end
17
17
 
@@ -28,6 +28,7 @@ module Slack
28
28
  @action_id = action_id
29
29
  @initial_option = initial
30
30
  @min_query_length = min_query_length
31
+ @confirm = nil
31
32
 
32
33
  yield(self) if block_given?
33
34
  end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ # A select menu, just as with a standard HTML <select> tag, creates a drop
7
+ # down menu with a list of options for a user to choose. The select menu
8
+ # also includes type-ahead functionality, where a user can type a part or
9
+ # all of an option string to filter the list.
10
+ #
11
+ # This multi-select menu will populate its options with a list of public
12
+ # channels visible to the current user in the active workspace.
13
+ #
14
+ # https://api.slack.com/reference/block-kit/block-elements#channel_multi_select
15
+ class MultiChannelsSelect
16
+ TYPE = 'multi_channels_select'
17
+
18
+ attr_accessor :confirm
19
+
20
+ def initialize(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil)
21
+ @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji)
22
+ @action_id = action_id
23
+ @initial_channel = initial
24
+ @confirm = nil
25
+ @max_selected_items = max_selected_items
26
+
27
+ yield(self) if block_given?
28
+ end
29
+
30
+ def confirmation_dialog
31
+ @confirm = Composition::ConfirmationDialog.new
32
+
33
+ yield(@confirm) if block_given?
34
+
35
+ self
36
+ end
37
+
38
+ def as_json(*)
39
+ {
40
+ type: TYPE,
41
+ placeholder: @placeholder.as_json,
42
+ action_id: @action_id,
43
+ initial_channel: @initial_channel,
44
+ confirm: @confirm&.as_json,
45
+ max_selected_items: @max_selected_items
46
+ }.compact
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ # A select menu, just as with a standard HTML <select> tag, creates a drop
7
+ # down menu with a list of options for a user to choose. The select menu
8
+ # also includes type-ahead functionality, where a user can type a part or
9
+ # all of an option string to filter the list.
10
+ #
11
+ # This multi-select menu will populate its options with a list of public and
12
+ # private channels, DMs, and MPIMs visible to the current user in the
13
+ # active workspace.
14
+ #
15
+ # https://api.slack.com/reference/block-kit/block-elements#conversation_multi_select
16
+ class MultiConversationsSelect
17
+ TYPE = 'multi_conversations_select'
18
+
19
+ attr_accessor :confirm
20
+
21
+ def initialize(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil)
22
+ @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji)
23
+ @action_id = action_id
24
+ @initial_conversation = initial
25
+ @confirm = nil
26
+ @max_selected_items = max_selected_items
27
+
28
+ yield(self) if block_given?
29
+ end
30
+
31
+ def confirmation_dialog
32
+ @confirm = Composition::ConfirmationDialog.new
33
+
34
+ yield(@confirm) if block_given?
35
+
36
+ self
37
+ end
38
+
39
+ def as_json(*)
40
+ {
41
+ type: TYPE,
42
+ placeholder: @placeholder.as_json,
43
+ action_id: @action_id,
44
+ initial_conversation: @initial_conversation,
45
+ confirm: @confirm&.as_json,
46
+ max_selected_items: @max_selected_items
47
+ }.compact
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ # A select menu, just as with a standard HTML <select> tag, creates a drop
7
+ # down menu with a list of options for a user to choose. The select menu
8
+ # also includes type-ahead functionality, where a user can type a part or
9
+ # all of an option string to filter the list.
10
+ #
11
+ # This select menu will load its options from an external data source,
12
+ # allowing for a dynamic list of options.
13
+ #
14
+ # Each time a select menu of this type is opened or the user starts typing
15
+ # in the typeahead field, we'll send a request to your specified URL. Your
16
+ # app should return an HTTP 200 OK response, along with an
17
+ # application/json post body with an object containing either an options
18
+ # array, or an option_groups array.
19
+ #
20
+ # https://api.slack.com/reference/block-kit/block-elements#external_multi_select
21
+ class MultiExternalSelect
22
+ TYPE = 'multi_external_select'
23
+
24
+ attr_accessor :confirm
25
+
26
+ def initialize(placeholder:, action_id:,
27
+ initial: nil, min_query_length: nil, emoji: nil, max_selected_items: nil)
28
+
29
+ @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji)
30
+ @action_id = action_id
31
+ @initial_option = initial
32
+ @min_query_length = min_query_length
33
+ @confirm = nil
34
+ @max_selected_items = max_selected_items
35
+
36
+ yield(self) if block_given?
37
+ end
38
+
39
+ def confirmation_dialog
40
+ @confirm = Composition::ConfirmationDialog.new
41
+
42
+ yield(@confirm) if block_given?
43
+
44
+ self
45
+ end
46
+
47
+ def as_json(*)
48
+ {
49
+ type: TYPE,
50
+ placeholder: @placeholder.as_json,
51
+ action_id: @action_id,
52
+ initial_option: @initial_option&.as_json,
53
+ min_query_length: @min_query_length,
54
+ confirm: @confirm&.as_json,
55
+ max_selected_items: @max_selected_items
56
+ }.compact
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ # A select menu, just as with a standard HTML <select> tag, creates a drop
7
+ # down menu with a list of options for a user to choose. The select menu
8
+ # also includes type-ahead functionality, where a user can type a part or
9
+ # all of an option string to filter the list.
10
+ #
11
+ # This is the simplest form of select menu, with a static list of options
12
+ # passed in when defining the element.
13
+ #
14
+ # https://api.slack.com/reference/block-kit/block-elements#static_multi_select
15
+ class MultiStaticSelect
16
+ TYPE = 'multi_static_select'
17
+
18
+ attr_accessor :confirm, :options, :option_groups, :initial_option
19
+
20
+ def initialize(placeholder:, action_id:, emoji: nil, max_selected_items: nil)
21
+ @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji)
22
+ @action_id = action_id
23
+ @confirm = nil
24
+ @max_selected_items = max_selected_items
25
+
26
+ @options = nil
27
+ @option_groups = nil
28
+ @initial_option = nil
29
+
30
+ yield(self) if block_given?
31
+ end
32
+
33
+ def confirmation_dialog
34
+ @confirm = Composition::ConfirmationDialog.new
35
+
36
+ yield(@confirm) if block_given?
37
+
38
+ self
39
+ end
40
+
41
+ def option(value:, text:, emoji: nil)
42
+ @options ||= []
43
+ @options << Composition::Option.new(
44
+ value: value,
45
+ text: text,
46
+ emoji: emoji
47
+ )
48
+
49
+ self
50
+ end
51
+
52
+ def option_group(label:, emoji: nil)
53
+ option_group = Composition::OptionGroup.new(label: label, emoji: emoji)
54
+
55
+ yield(option_group) if block_given?
56
+
57
+ @option_groups ||= []
58
+ @option_groups << option_group
59
+
60
+ self
61
+ end
62
+
63
+ def initial(value:, text:, emoji: nil)
64
+ @initial_option = Composition::Option.new(
65
+ value: value,
66
+ text: text,
67
+ emoji: emoji
68
+ )
69
+
70
+ self
71
+ end
72
+
73
+ def as_json(*)
74
+ {
75
+ type: TYPE,
76
+ placeholder: @placeholder.as_json,
77
+ action_id: @action_id,
78
+ options: @options&.map(&:as_json),
79
+ option_groups: @option_groups&.map(&:as_json),
80
+ initial_option: @initial_option&.as_json,
81
+ confirm: @confirm&.as_json,
82
+ max_selected_items: @max_selected_items
83
+ }.compact
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Element
6
+ # A select menu, just as with a standard HTML <select> tag, creates a drop
7
+ # down menu with a list of options for a user to choose. The select menu
8
+ # also includes type-ahead functionality, where a user can type a part or
9
+ # all of an option string to filter the list.
10
+ #
11
+ # This multi-select menu will populate its options with a list of Slack users
12
+ # visible to the current user in the active workspace.
13
+ #
14
+ # https://api.slack.com/reference/block-kit/block-elements#users_multi_select
15
+ class MultiUsersSelect
16
+ TYPE = 'multi_users_select'
17
+
18
+ attr_accessor :confirm
19
+
20
+ def initialize(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil)
21
+ @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji)
22
+ @action_id = action_id
23
+ @initial_user = initial
24
+ @confirm = nil
25
+ @max_selected_items = max_selected_items
26
+
27
+ yield(self) if block_given?
28
+ end
29
+
30
+ def confirmation_dialog
31
+ @confirm = Composition::ConfirmationDialog.new
32
+
33
+ yield(@confirm) if block_given?
34
+
35
+ self
36
+ end
37
+
38
+ def as_json(*)
39
+ {
40
+ type: TYPE,
41
+ placeholder: @placeholder.as_json,
42
+ action_id: @action_id,
43
+ initial_user: @initial_user,
44
+ confirm: @confirm&.as_json,
45
+ max_selected_items: @max_selected_items
46
+ }.compact
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -22,6 +22,7 @@ module Slack
22
22
  def initialize(action_id:)
23
23
  @action_id = action_id
24
24
  @options = []
25
+ @confirm = nil
25
26
 
26
27
  yield(self) if block_given?
27
28
  end
@@ -22,7 +22,7 @@ module Slack
22
22
  min_length: nil,
23
23
  max_length: nil
24
24
  )
25
- @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji) if placeholder
25
+ @placeholder = placeholder && Composition::PlainText.new(text: placeholder, emoji: emoji)
26
26
  @initial_value = initial_value
27
27
  @action_id = action_id
28
28
  @multiline = multiline
@@ -10,6 +10,7 @@ module Slack
10
10
  TYPE = 'context'
11
11
 
12
12
  attr_accessor :elements
13
+
13
14
  def initialize(block_id: nil)
14
15
  @block_id = block_id
15
16
  @elements = []
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative './section/multi_select_elements'
4
+
3
5
  module Slack
4
6
  module BlockKit
5
7
  module Layout
@@ -8,13 +10,19 @@ module Slack
8
10
  # with any of the available block elements.
9
11
  #
10
12
  # https://api.slack.com/reference/messaging/blocks#section
13
+ # rubocop:disable Metrics/ClassLength
11
14
  class Section
15
+ # rubocop:enable Metrics/ClassLength
16
+
17
+ include Section::MultiSelectElements
12
18
  TYPE = 'section'
13
19
 
14
20
  attr_accessor :fields, :text, :accessory
15
21
 
16
22
  def initialize(block_id: nil)
17
23
  @block_id = block_id
24
+ @fields = nil
25
+ @accessory = nil
18
26
 
19
27
  yield(self) if block_given?
20
28
  end
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Slack
4
+ module BlockKit
5
+ module Layout
6
+ class Section
7
+ # Helper methods for Multi Select to inject to section
8
+ module MultiSelectElements
9
+ def multi_channels_select(placeholder:, action_id:,
10
+ initial: nil, emoji: nil, max_selected_items: nil)
11
+ element = Element::MultiChannelsSelect.new(
12
+ placeholder: placeholder,
13
+ action_id: action_id,
14
+ initial: initial,
15
+ emoji: emoji,
16
+ max_selected_items: max_selected_items
17
+ )
18
+
19
+ yield(element) if block_given?
20
+
21
+ accessorise(element)
22
+ end
23
+
24
+ def multi_conversations_select(placeholder:, action_id:,
25
+ initial: nil, emoji: nil, max_selected_items: nil)
26
+ element = Element::MultiConversationsSelect.new(
27
+ placeholder: placeholder,
28
+ action_id: action_id,
29
+ initial: initial,
30
+ emoji: emoji,
31
+ max_selected_items: max_selected_items
32
+ )
33
+
34
+ yield(element) if block_given?
35
+
36
+ accessorise(element)
37
+ end
38
+
39
+ def multi_external_select(placeholder:, action_id:,
40
+ initial: nil,
41
+ min_query_length: nil,
42
+ emoji: nil,
43
+ max_selected_items: nil)
44
+ element = Element::MultiExternalSelect.new(
45
+ placeholder: placeholder,
46
+ action_id: action_id,
47
+ initial: initial,
48
+ min_query_length: min_query_length,
49
+ emoji: emoji,
50
+ max_selected_items: max_selected_items
51
+ )
52
+
53
+ yield(element) if block_given?
54
+
55
+ accessorise(element)
56
+ end
57
+
58
+ def multi_static_select(placeholder:, action_id:,
59
+ emoji: nil, max_selected_items: nil)
60
+ element = Element::MultiStaticSelect.new(
61
+ placeholder: placeholder,
62
+ action_id: action_id,
63
+ emoji: emoji,
64
+ max_selected_items: max_selected_items
65
+ )
66
+
67
+ yield(element) if block_given?
68
+
69
+ accessorise(element)
70
+ end
71
+
72
+ def multi_users_select(placeholder:, action_id:,
73
+ initial: nil,
74
+ emoji: nil,
75
+ max_selected_items: nil)
76
+ element = Element::MultiUsersSelect.new(
77
+ placeholder: placeholder,
78
+ action_id: action_id,
79
+ emoji: emoji,
80
+ initial: initial,
81
+ max_selected_items: max_selected_items
82
+ )
83
+
84
+ yield(element) if block_given?
85
+
86
+ accessorise(element)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-ruby-block-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Gregg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-19 00:00:00.000000000 Z
11
+ date: 2020-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,6 +144,7 @@ extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
146
  - ".circleci/config.yml"
147
+ - ".github/dependabot.yml"
147
148
  - ".gitignore"
148
149
  - ".rspec"
149
150
  - ".rubocop.yml"
@@ -168,6 +169,11 @@ files:
168
169
  - lib/slack/block_kit/element/date_picker.rb
169
170
  - lib/slack/block_kit/element/external_select.rb
170
171
  - lib/slack/block_kit/element/image.rb
172
+ - lib/slack/block_kit/element/multi_channels_select.rb
173
+ - lib/slack/block_kit/element/multi_conversations_select.rb
174
+ - lib/slack/block_kit/element/multi_external_select.rb
175
+ - lib/slack/block_kit/element/multi_static_select.rb
176
+ - lib/slack/block_kit/element/multi_users_select.rb
171
177
  - lib/slack/block_kit/element/overflow_menu.rb
172
178
  - lib/slack/block_kit/element/plain_text_input.rb
173
179
  - lib/slack/block_kit/element/static_select.rb
@@ -178,6 +184,7 @@ files:
178
184
  - lib/slack/block_kit/layout/image.rb
179
185
  - lib/slack/block_kit/layout/input.rb
180
186
  - lib/slack/block_kit/layout/section.rb
187
+ - lib/slack/block_kit/layout/section/multi_select_elements.rb
181
188
  - slack-ruby-block-kit.gemspec
182
189
  homepage: https://github.com/CGA1123/slack-ruby-block-kit
183
190
  licenses: