slack-ruby-block-kit 0.11.0 → 0.15.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 +4 -4
- data/.deepsource.toml +15 -0
- data/.github/workflows/ci.yml +7 -5
- data/.rubocop.yml +19 -2
- data/CHANGELOG.md +87 -4
- data/Gemfile +13 -0
- data/Gemfile.lock +70 -45
- data/README.md +3 -1
- data/lib/slack/block_kit.rb +2 -2
- data/lib/slack/block_kit/blocks.rb +19 -0
- data/lib/slack/block_kit/composition/dispatch_action_configuration.rb +34 -0
- data/lib/slack/block_kit/composition/option.rb +6 -1
- data/lib/slack/block_kit/composition/option_group.rb +2 -2
- data/lib/slack/block_kit/element/checkboxes.rb +12 -14
- data/lib/slack/block_kit/element/date_picker.rb +9 -6
- data/lib/slack/block_kit/element/multi_static_select.rb +15 -16
- data/lib/slack/block_kit/element/plain_text_input.rb +11 -1
- data/lib/slack/block_kit/element/radio_buttons.rb +12 -7
- data/lib/slack/block_kit/element/static_select.rb +17 -16
- data/lib/slack/block_kit/element/timepicker.rb +49 -0
- data/lib/slack/block_kit/layout/header.rb +29 -0
- data/lib/slack/block_kit/layout/input.rb +201 -5
- data/lib/slack/block_kit/layout/section.rb +2 -4
- data/lib/slack/block_kit/version.rb +7 -0
- data/slack-ruby-block-kit.gemspec +1 -18
- metadata +14 -137
- data/.rubocop_todo.yml +0 -41
@@ -10,10 +10,7 @@ module Slack
|
|
10
10
|
# with any of the available block elements.
|
11
11
|
#
|
12
12
|
# https://api.slack.com/reference/messaging/blocks#section
|
13
|
-
# rubocop:disable Metrics/ClassLength
|
14
13
|
class Section
|
15
|
-
# rubocop:enable Metrics/ClassLength
|
16
|
-
|
17
14
|
include Section::MultiSelectElements
|
18
15
|
TYPE = 'section'
|
19
16
|
|
@@ -23,6 +20,7 @@ module Slack
|
|
23
20
|
@block_id = block_id
|
24
21
|
@fields = nil
|
25
22
|
@accessory = nil
|
23
|
+
@text = nil
|
26
24
|
|
27
25
|
yield(self) if block_given?
|
28
26
|
end
|
@@ -189,7 +187,7 @@ module Slack
|
|
189
187
|
def as_json(*)
|
190
188
|
{
|
191
189
|
type: TYPE,
|
192
|
-
text: @text
|
190
|
+
text: @text&.as_json,
|
193
191
|
block_id: @block_id,
|
194
192
|
fields: @fields&.map(&:as_json),
|
195
193
|
accessory: @accessory&.as_json
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
lib = File.expand_path('lib', __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'slack
|
5
|
+
require 'slack/block_kit/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
8
|
spec.name = 'slack-ruby-block-kit'
|
@@ -13,13 +13,6 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = 'https://github.com/CGA1123/slack-ruby-block-kit'
|
14
14
|
spec.license = 'MIT'
|
15
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
16
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
24
17
|
`git ls-files -z`
|
25
18
|
.split("\x0")
|
@@ -27,14 +20,4 @@ Gem::Specification.new do |spec|
|
|
27
20
|
end
|
28
21
|
spec.require_paths = ['lib']
|
29
22
|
spec.required_ruby_version = '>= 2.5'
|
30
|
-
|
31
|
-
spec.add_development_dependency 'bundler'
|
32
|
-
spec.add_development_dependency 'dotenv'
|
33
|
-
spec.add_development_dependency 'faraday'
|
34
|
-
spec.add_development_dependency 'pry'
|
35
|
-
spec.add_development_dependency 'rake'
|
36
|
-
spec.add_development_dependency 'rspec'
|
37
|
-
spec.add_development_dependency 'rspec_junit_formatter'
|
38
|
-
spec.add_development_dependency 'rubocop'
|
39
|
-
spec.add_development_dependency 'rubocop-rspec'
|
40
23
|
end
|
metadata
CHANGED
@@ -1,154 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slack-ruby-block-kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Gregg
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: dotenv
|
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: faraday
|
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: pry
|
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
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rspec_junit_formatter
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rubocop
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rubocop-rspec
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
description:
|
11
|
+
date: 2021-06-14 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
140
14
|
email:
|
141
15
|
- c_arlt@hotmail.com
|
142
16
|
executables: []
|
143
17
|
extensions: []
|
144
18
|
extra_rdoc_files: []
|
145
19
|
files:
|
20
|
+
- ".deepsource.toml"
|
146
21
|
- ".github/dependabot.yml"
|
147
22
|
- ".github/workflows/ci.yml"
|
148
23
|
- ".gitignore"
|
149
24
|
- ".rspec"
|
150
25
|
- ".rubocop.yml"
|
151
|
-
- ".rubocop_todo.yml"
|
152
26
|
- CHANGELOG.md
|
153
27
|
- Gemfile
|
154
28
|
- Gemfile.lock
|
@@ -161,6 +35,7 @@ files:
|
|
161
35
|
- lib/slack/block_kit/blocks.rb
|
162
36
|
- lib/slack/block_kit/composition/confirmation_dialog.rb
|
163
37
|
- lib/slack/block_kit/composition/conversation_filter.rb
|
38
|
+
- lib/slack/block_kit/composition/dispatch_action_configuration.rb
|
164
39
|
- lib/slack/block_kit/composition/mrkdwn.rb
|
165
40
|
- lib/slack/block_kit/composition/option.rb
|
166
41
|
- lib/slack/block_kit/composition/option_group.rb
|
@@ -181,14 +56,17 @@ files:
|
|
181
56
|
- lib/slack/block_kit/element/plain_text_input.rb
|
182
57
|
- lib/slack/block_kit/element/radio_buttons.rb
|
183
58
|
- lib/slack/block_kit/element/static_select.rb
|
59
|
+
- lib/slack/block_kit/element/timepicker.rb
|
184
60
|
- lib/slack/block_kit/element/users_select.rb
|
185
61
|
- lib/slack/block_kit/layout/actions.rb
|
186
62
|
- lib/slack/block_kit/layout/context.rb
|
187
63
|
- lib/slack/block_kit/layout/divider.rb
|
64
|
+
- lib/slack/block_kit/layout/header.rb
|
188
65
|
- lib/slack/block_kit/layout/image.rb
|
189
66
|
- lib/slack/block_kit/layout/input.rb
|
190
67
|
- lib/slack/block_kit/layout/section.rb
|
191
68
|
- lib/slack/block_kit/layout/section/multi_select_elements.rb
|
69
|
+
- lib/slack/block_kit/version.rb
|
192
70
|
- lib/slack/surfaces/home.rb
|
193
71
|
- lib/slack/surfaces/message.rb
|
194
72
|
- lib/slack/surfaces/modal.rb
|
@@ -196,9 +74,8 @@ files:
|
|
196
74
|
homepage: https://github.com/CGA1123/slack-ruby-block-kit
|
197
75
|
licenses:
|
198
76
|
- MIT
|
199
|
-
metadata:
|
200
|
-
|
201
|
-
post_install_message:
|
77
|
+
metadata: {}
|
78
|
+
post_install_message:
|
202
79
|
rdoc_options: []
|
203
80
|
require_paths:
|
204
81
|
- lib
|
@@ -213,8 +90,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
213
90
|
- !ruby/object:Gem::Version
|
214
91
|
version: '0'
|
215
92
|
requirements: []
|
216
|
-
rubygems_version: 3.1.
|
217
|
-
signing_key:
|
93
|
+
rubygems_version: 3.1.4
|
94
|
+
signing_key:
|
218
95
|
specification_version: 4
|
219
96
|
summary: A ruby wrapper for Slack's Block Kit
|
220
97
|
test_files: []
|
data/.rubocop_todo.yml
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
|
3
|
-
# 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: 5
|
10
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
11
|
-
# ExcludedMethods: refine
|
12
|
-
Metrics/BlockLength:
|
13
|
-
Max: 63
|
14
|
-
|
15
|
-
# Offense count: 1
|
16
|
-
# Configuration parameters: CountComments.
|
17
|
-
Metrics/ClassLength:
|
18
|
-
Max: 117
|
19
|
-
|
20
|
-
# Offense count: 1
|
21
|
-
# Configuration parameters: IgnoredMethods.
|
22
|
-
Metrics/CyclomaticComplexity:
|
23
|
-
Exclude:
|
24
|
-
- 'lib/slack/block_kit/element/multi_static_select.rb'
|
25
|
-
|
26
|
-
# Offense count: 5
|
27
|
-
# Configuration parameters: Max.
|
28
|
-
RSpec/ExampleLength:
|
29
|
-
Exclude:
|
30
|
-
- 'spec/lib/slack/block_kit/composition/confirmation_dialog_spec.rb'
|
31
|
-
- 'spec/lib/slack/block_kit/composition/option_group_spec.rb'
|
32
|
-
- 'spec/lib/slack/block_kit/composition/option_spec.rb'
|
33
|
-
- 'spec/lib/slack/block_kit/element/checkboxes_spec.rb'
|
34
|
-
- 'spec/lib/slack/block_kit/element/radio_buttons_spec.rb'
|
35
|
-
|
36
|
-
# Offense count: 4
|
37
|
-
Style/Documentation:
|
38
|
-
Exclude:
|
39
|
-
- 'spec/**/*'
|
40
|
-
- 'test/**/*'
|
41
|
-
- 'lib/slack/block_kit.rb'
|