slack-ruby-block-kit 0.12.0 → 0.16.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 -1
- data/.rubocop.yml +15 -2
- data/CHANGELOG.md +84 -6
- data/Gemfile +12 -2
- data/Gemfile.lock +68 -52
- data/README.md +2 -0
- data/lib/slack/block_kit.rb +2 -0
- 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/element/date_picker.rb +9 -6
- data/lib/slack/block_kit/element/plain_text_input.rb +11 -1
- data/lib/slack/block_kit/element/timepicker.rb +49 -0
- data/lib/slack/block_kit/layout/actions.rb +11 -1
- 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 +1 -1
- data/slack-ruby-block-kit.gemspec +0 -10
- metadata +11 -135
- data/.rubocop_todo.yml +0 -43
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3e3c462f9ce5026a4b9121b70e19a956af86b3920635cc88499c3f4ee0b49c8d
|
|
4
|
+
data.tar.gz: c7a671b81c0f5653ad7d81f1e4c6e19e2464c79e8159ae8dd910e6690aad3d4d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b9a94934add60e950ac68cf1e00186e3cb9811a35d8a6f3d37b80afb09f0772075956941587030cbfe1ae6d4735582f0a1a7904482ff84b7dc694bae4624dbef
|
|
7
|
+
data.tar.gz: 9205b0d1d67a2e82b518f39b4cf056960bd71adc9d756592dfe2a803268017eb629f8f5fe63d6eed4f5abbf395a02ed395d453c673bd20e04085e472f0019051
|
data/.deepsource.toml
ADDED
data/.github/workflows/ci.yml
CHANGED
|
@@ -6,6 +6,9 @@ on:
|
|
|
6
6
|
pull_request:
|
|
7
7
|
branches: [ master ]
|
|
8
8
|
|
|
9
|
+
env:
|
|
10
|
+
DEEPSOURCE_DSN: ${{ secrets.DEEPSOURCE_DSN }}
|
|
11
|
+
|
|
9
12
|
jobs:
|
|
10
13
|
build:
|
|
11
14
|
runs-on: ubuntu-latest
|
|
@@ -13,7 +16,7 @@ jobs:
|
|
|
13
16
|
strategy:
|
|
14
17
|
fail-fast: false
|
|
15
18
|
matrix:
|
|
16
|
-
ruby: [ '2.6', '2.7' ]
|
|
19
|
+
ruby: [ '2.6', '2.7', '3.0' ]
|
|
17
20
|
experimental: [ false ]
|
|
18
21
|
name: Ruby ${{ matrix.ruby }}
|
|
19
22
|
steps:
|
|
@@ -21,7 +24,10 @@ jobs:
|
|
|
21
24
|
- uses: ruby/setup-ruby@v1
|
|
22
25
|
with:
|
|
23
26
|
ruby-version: ${{ matrix.ruby }}
|
|
27
|
+
- run: curl https://deepsource.io/cli | sh
|
|
24
28
|
- run: gem install bundler:2.1.4
|
|
25
29
|
- run: bundle install
|
|
26
30
|
- run: bundle exec rubocop
|
|
27
31
|
- run: bundle exec rspec --format progress
|
|
32
|
+
- run: ./bin/deepsource report --analyzer test-coverage --key ruby --value-file ./coverage/.resultset.json
|
|
33
|
+
if: (github.event_name == 'push') || (github.event.pull_request.head.repo.full_name == github.repository) # don't run on forks which don't have access to DEEPSOURCE_DSN
|
data/.rubocop.yml
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
require:
|
|
2
|
-
|
|
1
|
+
require:
|
|
2
|
+
- rubocop-rake
|
|
3
|
+
- rubocop-rspec
|
|
3
4
|
|
|
4
5
|
AllCops:
|
|
5
6
|
TargetRubyVersion: 2.5.3
|
|
@@ -72,3 +73,15 @@ RSpec/MultipleMemoizedHelpers:
|
|
|
72
73
|
|
|
73
74
|
RSpec/NestedGroups:
|
|
74
75
|
Max: 4
|
|
76
|
+
|
|
77
|
+
Style/Documentation:
|
|
78
|
+
Enabled: false
|
|
79
|
+
|
|
80
|
+
Metrics/ClassLength:
|
|
81
|
+
Max: 200
|
|
82
|
+
|
|
83
|
+
Metrics/CyclomaticComplexity:
|
|
84
|
+
Max: 8
|
|
85
|
+
|
|
86
|
+
RSpec/ExampleLength:
|
|
87
|
+
Max: 6
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
|
|
2
3
|
All notable changes to this project will be documented in this file.
|
|
3
4
|
|
|
4
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
@@ -7,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
8
|
## [Unreleased]
|
|
8
9
|
|
|
9
10
|
### Added
|
|
10
|
-
-
|
|
11
|
+
- Added new `Layout::Actions#checkboxes` method (#96 by @ryanwilsonperkin)
|
|
11
12
|
|
|
12
13
|
### Changed
|
|
13
14
|
- N/A
|
|
@@ -25,6 +26,79 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
25
26
|
- N/A
|
|
26
27
|
|
|
27
28
|
|
|
29
|
+
[Unreleased]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.16.0...HEAD
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## [0.16.0] - 2021-06-23
|
|
36
|
+
|
|
37
|
+
This release contains a breaking change on the `Layout::Actions` interface.
|
|
38
|
+
|
|
39
|
+
### Removed
|
|
40
|
+
- `Layout::Actions#converstation_select` (use `#conversation_select` instead) (#97 by @ryanwilsonperkin)
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- Fixed name of method in `Layout::Actions` to be `conversation_select` (#97 by @ryanwilsonperkin)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
[0.16.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.15.0...v0.16.0
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## [0.15.0] - 2021-06-14
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
- Support `dispatch_action` and `dispatch_action_config` (#94 by @deecewan)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
[0.15.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.14.1...v0.15.0
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## [0.14.1] - 2021-05-05
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
- Allow Layout::Section to render without `text` (#87 by @pbendersky)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
[0.14.1]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.14.0...v0.14.1
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## [0.14.0] - 2021-02-06
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
- `Slack::BlockKit::Blocks#header` (#74 by @rspeicher)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
[0.14.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.13.0...v0.14.0
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
## [0.13.0] - 2020-12-29
|
|
89
|
+
|
|
90
|
+
### Added
|
|
91
|
+
- Ruby3 Support
|
|
92
|
+
- `Slack::BlockKit::Element::Timepicker` (#72)
|
|
93
|
+
- Add `input` to `Slack::BlockKit::Blocks` and elements to `Slack::BlockKit::Layout::Input` (#73)
|
|
94
|
+
|
|
95
|
+
### Changed
|
|
96
|
+
- Development dependencies now managed by bundler via Gemfile, rather than in gemspec
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
[0.13.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.12.0...v0.13.0
|
|
100
|
+
|
|
101
|
+
|
|
28
102
|
---
|
|
29
103
|
|
|
30
104
|
|
|
@@ -39,6 +113,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
39
113
|
- `Slack::BlockKit::Element::StaticSelect#initial`, use the `initial:` keyword on `#option`
|
|
40
114
|
|
|
41
115
|
|
|
116
|
+
[0.12.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.11.0...v0.12.0
|
|
117
|
+
|
|
118
|
+
|
|
42
119
|
---
|
|
43
120
|
|
|
44
121
|
|
|
@@ -54,6 +131,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
54
131
|
- Ruby2.7 kwarg deprecation warnings
|
|
55
132
|
|
|
56
133
|
|
|
134
|
+
[0.11.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.10.0...v0.11.0
|
|
135
|
+
|
|
136
|
+
|
|
57
137
|
---
|
|
58
138
|
|
|
59
139
|
|
|
@@ -66,14 +146,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
66
146
|
- Fixed initial options in multi select blocks (#46 by @caalberts)
|
|
67
147
|
|
|
68
148
|
|
|
149
|
+
[0.10.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.9.0...v0.10.0
|
|
150
|
+
|
|
151
|
+
|
|
69
152
|
---
|
|
70
153
|
|
|
71
154
|
See [releases] for previous changes.
|
|
72
155
|
|
|
73
156
|
|
|
74
|
-
[Unreleased]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.12.0...HEAD
|
|
75
|
-
[0.12.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.11.0...v0.12.0
|
|
76
|
-
[0.11.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.10.0...v0.11.0
|
|
77
|
-
[0.10.0]: https://github.com/CGA1123/slack-ruby-block-kit/compare/v0.9.0...v0.10.0
|
|
78
|
-
|
|
79
157
|
[releases]: https://github.com/CGA1123/slack-ruby-block-kit/releases
|
data/Gemfile
CHANGED
|
@@ -4,5 +4,15 @@ source 'https://rubygems.org'
|
|
|
4
4
|
|
|
5
5
|
gemspec
|
|
6
6
|
|
|
7
|
-
gem '
|
|
8
|
-
gem '
|
|
7
|
+
gem 'dotenv', '~> 2'
|
|
8
|
+
gem 'faraday', '~> 1'
|
|
9
|
+
gem 'pry', '~> 0.14'
|
|
10
|
+
gem 'rake', '~> 13'
|
|
11
|
+
gem 'rspec', '~> 3'
|
|
12
|
+
gem 'rspec_junit_formatter', '~> 0.4'
|
|
13
|
+
|
|
14
|
+
gem 'codecov', '~> 0.5', require: false
|
|
15
|
+
gem 'rubocop', '~> 1', require: false
|
|
16
|
+
gem 'rubocop-rake', '~> 0.5', require: false
|
|
17
|
+
gem 'rubocop-rspec', '~> 2', require: false
|
|
18
|
+
gem 'simplecov', '~> 0.21', require: false
|
data/Gemfile.lock
CHANGED
|
@@ -1,85 +1,101 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
slack-ruby-block-kit (0.
|
|
4
|
+
slack-ruby-block-kit (0.16.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
ast (2.4.
|
|
10
|
-
codecov (0.2
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
docile (1.3.2)
|
|
9
|
+
ast (2.4.2)
|
|
10
|
+
codecov (0.5.2)
|
|
11
|
+
simplecov (>= 0.15, < 0.22)
|
|
12
|
+
coderay (1.1.3)
|
|
13
|
+
diff-lcs (1.4.4)
|
|
14
|
+
docile (1.3.5)
|
|
16
15
|
dotenv (2.7.6)
|
|
17
|
-
faraday (1.
|
|
16
|
+
faraday (1.4.2)
|
|
17
|
+
faraday-em_http (~> 1.0)
|
|
18
|
+
faraday-em_synchrony (~> 1.0)
|
|
19
|
+
faraday-excon (~> 1.1)
|
|
20
|
+
faraday-net_http (~> 1.0)
|
|
21
|
+
faraday-net_http_persistent (~> 1.1)
|
|
18
22
|
multipart-post (>= 1.2, < 3)
|
|
19
|
-
|
|
23
|
+
ruby2_keywords (>= 0.0.4)
|
|
24
|
+
faraday-em_http (1.0.0)
|
|
25
|
+
faraday-em_synchrony (1.0.0)
|
|
26
|
+
faraday-excon (1.1.0)
|
|
27
|
+
faraday-net_http (1.0.1)
|
|
28
|
+
faraday-net_http_persistent (1.1.0)
|
|
20
29
|
method_source (1.0.0)
|
|
21
30
|
multipart-post (2.1.1)
|
|
22
|
-
parallel (1.
|
|
23
|
-
parser (
|
|
31
|
+
parallel (1.20.1)
|
|
32
|
+
parser (3.0.1.1)
|
|
24
33
|
ast (~> 2.4.1)
|
|
25
|
-
pry (0.
|
|
34
|
+
pry (0.14.1)
|
|
26
35
|
coderay (~> 1.1)
|
|
27
36
|
method_source (~> 1.0)
|
|
28
37
|
rainbow (3.0.0)
|
|
29
|
-
rake (13.0.
|
|
30
|
-
regexp_parser (1.
|
|
31
|
-
rexml (3.2.
|
|
32
|
-
rspec (3.
|
|
33
|
-
rspec-core (~> 3.
|
|
34
|
-
rspec-expectations (~> 3.
|
|
35
|
-
rspec-mocks (~> 3.
|
|
36
|
-
rspec-core (3.
|
|
37
|
-
rspec-support (~> 3.
|
|
38
|
-
rspec-expectations (3.
|
|
38
|
+
rake (13.0.3)
|
|
39
|
+
regexp_parser (2.1.1)
|
|
40
|
+
rexml (3.2.5)
|
|
41
|
+
rspec (3.10.0)
|
|
42
|
+
rspec-core (~> 3.10.0)
|
|
43
|
+
rspec-expectations (~> 3.10.0)
|
|
44
|
+
rspec-mocks (~> 3.10.0)
|
|
45
|
+
rspec-core (3.10.1)
|
|
46
|
+
rspec-support (~> 3.10.0)
|
|
47
|
+
rspec-expectations (3.10.1)
|
|
39
48
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
40
|
-
rspec-support (~> 3.
|
|
41
|
-
rspec-mocks (3.
|
|
49
|
+
rspec-support (~> 3.10.0)
|
|
50
|
+
rspec-mocks (3.10.2)
|
|
42
51
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
43
|
-
rspec-support (~> 3.
|
|
44
|
-
rspec-support (3.
|
|
52
|
+
rspec-support (~> 3.10.0)
|
|
53
|
+
rspec-support (3.10.2)
|
|
45
54
|
rspec_junit_formatter (0.4.1)
|
|
46
55
|
rspec-core (>= 2, < 4, != 2.12.0)
|
|
47
|
-
rubocop (
|
|
56
|
+
rubocop (1.17.0)
|
|
48
57
|
parallel (~> 1.10)
|
|
49
|
-
parser (>=
|
|
58
|
+
parser (>= 3.0.0.0)
|
|
50
59
|
rainbow (>= 2.2.2, < 4.0)
|
|
51
|
-
regexp_parser (>= 1.8)
|
|
60
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
52
61
|
rexml
|
|
53
|
-
rubocop-ast (>=
|
|
62
|
+
rubocop-ast (>= 1.7.0, < 2.0)
|
|
54
63
|
ruby-progressbar (~> 1.7)
|
|
55
|
-
unicode-display_width (>= 1.4.0, <
|
|
56
|
-
rubocop-ast (
|
|
57
|
-
parser (>=
|
|
58
|
-
rubocop-
|
|
59
|
-
rubocop
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
65
|
+
rubocop-ast (1.7.0)
|
|
66
|
+
parser (>= 3.0.1.1)
|
|
67
|
+
rubocop-rake (0.5.1)
|
|
68
|
+
rubocop
|
|
69
|
+
rubocop-rspec (2.4.0)
|
|
70
|
+
rubocop (~> 1.0)
|
|
71
|
+
rubocop-ast (>= 1.1.0)
|
|
72
|
+
ruby-progressbar (1.11.0)
|
|
73
|
+
ruby2_keywords (0.0.4)
|
|
74
|
+
simplecov (0.21.2)
|
|
62
75
|
docile (~> 1.1)
|
|
63
76
|
simplecov-html (~> 0.11)
|
|
64
|
-
|
|
65
|
-
|
|
77
|
+
simplecov_json_formatter (~> 0.1)
|
|
78
|
+
simplecov-html (0.12.3)
|
|
79
|
+
simplecov_json_formatter (0.1.2)
|
|
80
|
+
unicode-display_width (2.0.0)
|
|
66
81
|
|
|
67
82
|
PLATFORMS
|
|
68
83
|
ruby
|
|
84
|
+
x86_64-darwin-19
|
|
69
85
|
|
|
70
86
|
DEPENDENCIES
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
rubocop
|
|
80
|
-
rubocop-rspec
|
|
81
|
-
simplecov
|
|
87
|
+
codecov (~> 0.5)
|
|
88
|
+
dotenv (~> 2)
|
|
89
|
+
faraday (~> 1)
|
|
90
|
+
pry (~> 0.14)
|
|
91
|
+
rake (~> 13)
|
|
92
|
+
rspec (~> 3)
|
|
93
|
+
rspec_junit_formatter (~> 0.4)
|
|
94
|
+
rubocop (~> 1)
|
|
95
|
+
rubocop-rake (~> 0.5)
|
|
96
|
+
rubocop-rspec (~> 2)
|
|
97
|
+
simplecov (~> 0.21)
|
|
82
98
|
slack-ruby-block-kit!
|
|
83
99
|
|
|
84
100
|
BUNDLED WITH
|
|
85
|
-
2.
|
|
101
|
+
2.2.3
|
data/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
[](https://badge.fury.io/rb/slack-ruby-block-kit)
|
|
2
2
|
[](https://codecov.io/gh/CGA1123/slack-ruby-block-kit)
|
|
3
|
+
[](https://deepsource.io/gh/CGA1123/slack-ruby-block-kit/?ref=repository-badge)
|
|
4
|
+
[](https://deepsource.io/gh/CGA1123/slack-ruby-block-kit/?ref=repository-badge)
|
|
3
5
|
|
|
4
6
|
# Slack::BlockKit
|
|
5
7
|
|
data/lib/slack/block_kit.rb
CHANGED
|
@@ -37,6 +37,12 @@ module Slack
|
|
|
37
37
|
append(block)
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
def header(text:, block_id: nil, emoji: nil)
|
|
41
|
+
block = Layout::Header.new(text: text, block_id: block_id, emoji: emoji)
|
|
42
|
+
|
|
43
|
+
append(block)
|
|
44
|
+
end
|
|
45
|
+
|
|
40
46
|
def image(url:, alt_text:, title: nil, block_id: nil, emoji: nil)
|
|
41
47
|
block = Layout::Image.new(
|
|
42
48
|
url: url,
|
|
@@ -57,6 +63,19 @@ module Slack
|
|
|
57
63
|
append(block)
|
|
58
64
|
end
|
|
59
65
|
|
|
66
|
+
def input(label:, hint: nil, block_id: nil, dispatch_action: nil)
|
|
67
|
+
block = Layout::Input.new(
|
|
68
|
+
label: label,
|
|
69
|
+
hint: hint,
|
|
70
|
+
block_id: block_id,
|
|
71
|
+
dispatch_action: dispatch_action
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
yield(block) if block_given?
|
|
75
|
+
|
|
76
|
+
append(block)
|
|
77
|
+
end
|
|
78
|
+
|
|
60
79
|
def append(block)
|
|
61
80
|
@blocks << block
|
|
62
81
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module BlockKit
|
|
5
|
+
module Composition
|
|
6
|
+
# Determines when a plain-text input element will return a block_actions
|
|
7
|
+
# interaction payload.
|
|
8
|
+
#
|
|
9
|
+
# @param [Array] triggers - values for the `trigger_actions_on` array
|
|
10
|
+
#
|
|
11
|
+
# https://api.slack.com/reference/block-kit/composition-objects#dispatch_action_config
|
|
12
|
+
# https://api.slack.com/reference/block-kit/block-elements#input
|
|
13
|
+
class DispatchActionConfiguration
|
|
14
|
+
def initialize(triggers: nil)
|
|
15
|
+
@triggers = triggers || []
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def trigger_on_enter_pressed
|
|
19
|
+
@triggers << :on_enter_pressed
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def trigger_on_character_entered
|
|
23
|
+
@triggers << :on_character_entered
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def as_json(*)
|
|
27
|
+
{
|
|
28
|
+
trigger_actions_on: @triggers.uniq
|
|
29
|
+
}.compact
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -17,12 +17,7 @@ module Slack
|
|
|
17
17
|
def initialize(action_id:, placeholder: nil, initial: nil, emoji: nil)
|
|
18
18
|
@action_id = action_id
|
|
19
19
|
@initial_date = initial
|
|
20
|
-
|
|
21
|
-
@placeholder = Composition::PlainText.new(
|
|
22
|
-
text: placeholder,
|
|
23
|
-
emoji: emoji
|
|
24
|
-
)
|
|
25
|
-
end
|
|
20
|
+
@placeholder = placeholder_text(placeholder, emoji)
|
|
26
21
|
|
|
27
22
|
yield(self) if block_given?
|
|
28
23
|
end
|
|
@@ -36,6 +31,14 @@ module Slack
|
|
|
36
31
|
confirm: confirm&.as_json
|
|
37
32
|
}.compact
|
|
38
33
|
end
|
|
34
|
+
|
|
35
|
+
private
|
|
36
|
+
|
|
37
|
+
def placeholder_text(text, emoji)
|
|
38
|
+
return unless text
|
|
39
|
+
|
|
40
|
+
Composition::PlainText.new(text: text, emoji: emoji)
|
|
41
|
+
end
|
|
39
42
|
end
|
|
40
43
|
end
|
|
41
44
|
end
|
|
@@ -28,6 +28,15 @@ module Slack
|
|
|
28
28
|
@multiline = multiline
|
|
29
29
|
@min_length = min_length
|
|
30
30
|
@max_length = max_length
|
|
31
|
+
@dispatch_action_config = nil
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def dispatch_action_config(triggers: nil)
|
|
35
|
+
@dispatch_action_config = Composition::DispatchActionConfiguration.new(triggers: triggers)
|
|
36
|
+
|
|
37
|
+
yield(@dispatch_action_config) if block_given?
|
|
38
|
+
|
|
39
|
+
self
|
|
31
40
|
end
|
|
32
41
|
|
|
33
42
|
def as_json(*)
|
|
@@ -38,7 +47,8 @@ module Slack
|
|
|
38
47
|
multiline: @multiline,
|
|
39
48
|
min_length: @min_length,
|
|
40
49
|
max_length: @max_length,
|
|
41
|
-
initial_value: @initial_value
|
|
50
|
+
initial_value: @initial_value,
|
|
51
|
+
dispatch_action_config: @dispatch_action_config&.as_json
|
|
42
52
|
}.compact
|
|
43
53
|
end
|
|
44
54
|
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module BlockKit
|
|
5
|
+
module Element
|
|
6
|
+
# An element which allows selection of a time of day.
|
|
7
|
+
#
|
|
8
|
+
# On desktop clients, this time picker will take the form of a dropdown
|
|
9
|
+
# list with free-text entry for precise choices. On mobile clients, the
|
|
10
|
+
# time picker will use native time picker UIs.
|
|
11
|
+
#
|
|
12
|
+
# https://api.slack.com/reference/block-kit/block-elements#timepicker
|
|
13
|
+
class Timepicker
|
|
14
|
+
include Composition::ConfirmationDialog::Confirmable
|
|
15
|
+
|
|
16
|
+
TYPE = 'timepicker'
|
|
17
|
+
|
|
18
|
+
def initialize(action_id:)
|
|
19
|
+
@placeholder, @initial_time = nil
|
|
20
|
+
@action_id = action_id
|
|
21
|
+
|
|
22
|
+
yield(self) if block_given?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def placeholder(text:, emoji: nil)
|
|
26
|
+
@placeholder = Composition::PlainText.new(text: text, emoji: emoji)
|
|
27
|
+
|
|
28
|
+
self
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def initial_time(time_str)
|
|
32
|
+
@initial_time = time_str
|
|
33
|
+
|
|
34
|
+
self
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def as_json(*)
|
|
38
|
+
{
|
|
39
|
+
type: TYPE,
|
|
40
|
+
action_id: @action_id,
|
|
41
|
+
placeholder: @placeholder&.as_json,
|
|
42
|
+
initial_time: @initial_time,
|
|
43
|
+
confirm: confirm&.as_json
|
|
44
|
+
}.compact
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -46,7 +46,7 @@ module Slack
|
|
|
46
46
|
append(element)
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
def
|
|
49
|
+
def conversation_select(placeholder:, action_id:, initial: nil, emoji: nil)
|
|
50
50
|
element = Element::ConversationsSelect.new(
|
|
51
51
|
placeholder: placeholder,
|
|
52
52
|
action_id: action_id,
|
|
@@ -119,6 +119,16 @@ module Slack
|
|
|
119
119
|
append(element)
|
|
120
120
|
end
|
|
121
121
|
|
|
122
|
+
def checkboxes(action_id:)
|
|
123
|
+
element = Element::Checkboxes.new(
|
|
124
|
+
action_id: action_id
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
yield(element) if block_given?
|
|
128
|
+
|
|
129
|
+
append(element)
|
|
130
|
+
end
|
|
131
|
+
|
|
122
132
|
def append(element)
|
|
123
133
|
@elements << element
|
|
124
134
|
|
|
@@ -4,8 +4,8 @@ module Slack
|
|
|
4
4
|
module BlockKit
|
|
5
5
|
module Layout
|
|
6
6
|
# A block that collects information from users - it can hold a plain-text
|
|
7
|
-
# input element, a
|
|
8
|
-
# datepicker.
|
|
7
|
+
# input element, a checkbox element, a radio button element,
|
|
8
|
+
# a select menu element, a multi-select menu element, or a datepicker.
|
|
9
9
|
#
|
|
10
10
|
# https://api.slack.com/reference/block-kit/blocks#input
|
|
11
11
|
class Input
|
|
@@ -15,17 +15,212 @@ module Slack
|
|
|
15
15
|
|
|
16
16
|
def initialize(
|
|
17
17
|
label:,
|
|
18
|
-
element
|
|
18
|
+
element: nil,
|
|
19
19
|
block_id: nil,
|
|
20
20
|
hint: nil,
|
|
21
21
|
optional: nil,
|
|
22
|
-
emoji: nil
|
|
22
|
+
emoji: nil,
|
|
23
|
+
dispatch_action: nil
|
|
23
24
|
)
|
|
24
25
|
@label = Composition::PlainText.new(text: label, emoji: emoji) if label
|
|
25
26
|
@hint = Composition::PlainText.new(text: hint, emoji: emoji) if hint
|
|
26
27
|
@block_id = block_id
|
|
27
28
|
@optional = optional
|
|
28
29
|
@element = element
|
|
30
|
+
@dispatch_action = dispatch_action
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def conversation_select(placeholder:, action_id:, initial: nil, emoji: nil)
|
|
34
|
+
@element = Element::ConversationsSelect.new(
|
|
35
|
+
placeholder: placeholder,
|
|
36
|
+
action_id: action_id,
|
|
37
|
+
initial: initial,
|
|
38
|
+
emoji: emoji
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
yield(@element) if block_given?
|
|
42
|
+
|
|
43
|
+
self
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def multi_conversations_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil)
|
|
47
|
+
@element = Element::MultiConversationsSelect.new(
|
|
48
|
+
placeholder: placeholder,
|
|
49
|
+
action_id: action_id,
|
|
50
|
+
initial: initial,
|
|
51
|
+
emoji: emoji,
|
|
52
|
+
max_selected_items: max_selected_items
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
yield(@element) if block_given?
|
|
56
|
+
|
|
57
|
+
self
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def channels_select(placeholder:, action_id:, initial: nil, emoji: nil)
|
|
61
|
+
@element = Element::ChannelsSelect.new(
|
|
62
|
+
placeholder: placeholder,
|
|
63
|
+
action_id: action_id,
|
|
64
|
+
initial: initial,
|
|
65
|
+
emoji: emoji
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
yield(@element) if block_given?
|
|
69
|
+
|
|
70
|
+
self
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def checkboxes(action_id:)
|
|
74
|
+
@element = Element::Checkboxes.new(action_id: action_id)
|
|
75
|
+
|
|
76
|
+
yield(@element) if block_given?
|
|
77
|
+
|
|
78
|
+
self
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def datepicker(action_id:, placeholder: nil, initial: nil, emoji: nil)
|
|
82
|
+
@element = Element::DatePicker.new(
|
|
83
|
+
action_id: action_id,
|
|
84
|
+
placeholder: placeholder,
|
|
85
|
+
initial: initial,
|
|
86
|
+
emoji: emoji
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
yield(@element) if block_given?
|
|
90
|
+
|
|
91
|
+
self
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def multi_channels_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil)
|
|
95
|
+
@element = Element::MultiChannelsSelect.new(
|
|
96
|
+
placeholder: placeholder,
|
|
97
|
+
action_id: action_id,
|
|
98
|
+
initial: initial,
|
|
99
|
+
emoji: emoji,
|
|
100
|
+
max_selected_items: max_selected_items
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
yield(@element) if block_given?
|
|
104
|
+
|
|
105
|
+
self
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def static_select(placeholder:, action_id:, emoji: nil)
|
|
109
|
+
@element = Element::StaticSelect.new(
|
|
110
|
+
placeholder: placeholder,
|
|
111
|
+
action_id: action_id,
|
|
112
|
+
emoji: emoji
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
yield(@element) if block_given?
|
|
116
|
+
|
|
117
|
+
self
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def multi_static_select(placeholder:, action_id:, emoji: nil, max_selected_items: nil)
|
|
121
|
+
@element = Element::MultiStaticSelect.new(
|
|
122
|
+
placeholder: placeholder,
|
|
123
|
+
action_id: action_id,
|
|
124
|
+
emoji: emoji,
|
|
125
|
+
max_selected_items: max_selected_items
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
yield(@element) if block_given?
|
|
129
|
+
|
|
130
|
+
self
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def external_select(placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil)
|
|
134
|
+
@element = Element::ExternalSelect.new(
|
|
135
|
+
placeholder: placeholder,
|
|
136
|
+
action_id: action_id,
|
|
137
|
+
initial: initial,
|
|
138
|
+
min_query_length: min_query_length,
|
|
139
|
+
emoji: emoji
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
yield(@element) if block_given?
|
|
143
|
+
|
|
144
|
+
self
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def multi_external_select(
|
|
148
|
+
placeholder:,
|
|
149
|
+
action_id:,
|
|
150
|
+
initial: nil,
|
|
151
|
+
min_query_length: nil,
|
|
152
|
+
emoji: nil,
|
|
153
|
+
max_selected_items: nil
|
|
154
|
+
)
|
|
155
|
+
@element = Element::MultiExternalSelect.new(
|
|
156
|
+
placeholder: placeholder,
|
|
157
|
+
action_id: action_id,
|
|
158
|
+
initial: initial,
|
|
159
|
+
min_query_length: min_query_length,
|
|
160
|
+
emoji: emoji,
|
|
161
|
+
max_selected_items: max_selected_items
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
yield(@element) if block_given?
|
|
165
|
+
|
|
166
|
+
self
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
def plain_text_input(
|
|
170
|
+
action_id:,
|
|
171
|
+
placeholder: nil,
|
|
172
|
+
emoji: nil,
|
|
173
|
+
initial_value: nil,
|
|
174
|
+
multiline: nil,
|
|
175
|
+
min_length: nil,
|
|
176
|
+
max_length: nil
|
|
177
|
+
)
|
|
178
|
+
@element = Element::PlainTextInput.new(
|
|
179
|
+
action_id: action_id,
|
|
180
|
+
placeholder: placeholder,
|
|
181
|
+
emoji: emoji,
|
|
182
|
+
initial_value: initial_value,
|
|
183
|
+
multiline: multiline,
|
|
184
|
+
min_length: min_length,
|
|
185
|
+
max_length: max_length
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
self
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def radio_buttons(action_id:)
|
|
192
|
+
@element = Element::RadioButtons.new(action_id: action_id)
|
|
193
|
+
|
|
194
|
+
yield(@element) if block_given?
|
|
195
|
+
|
|
196
|
+
self
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
def users_select(placeholder:, action_id:, initial: nil, emoji: nil)
|
|
200
|
+
@element = Element::UsersSelect.new(
|
|
201
|
+
placeholder: placeholder,
|
|
202
|
+
action_id: action_id,
|
|
203
|
+
initial: initial,
|
|
204
|
+
emoji: emoji
|
|
205
|
+
)
|
|
206
|
+
|
|
207
|
+
yield(@element) if block_given?
|
|
208
|
+
|
|
209
|
+
self
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
def multi_users_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil)
|
|
213
|
+
@element = Element::MultiUsersSelect.new(
|
|
214
|
+
placeholder: placeholder,
|
|
215
|
+
action_id: action_id,
|
|
216
|
+
initial: initial,
|
|
217
|
+
emoji: emoji,
|
|
218
|
+
max_selected_items: max_selected_items
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
yield(@element) if block_given?
|
|
222
|
+
|
|
223
|
+
self
|
|
29
224
|
end
|
|
30
225
|
|
|
31
226
|
def as_json(*)
|
|
@@ -35,7 +230,8 @@ module Slack
|
|
|
35
230
|
label: @label&.as_json,
|
|
36
231
|
hint: @hint&.as_json,
|
|
37
232
|
block_id: @block_id,
|
|
38
|
-
optional: optional
|
|
233
|
+
optional: optional,
|
|
234
|
+
dispatch_action: @dispatch_action
|
|
39
235
|
}.compact
|
|
40
236
|
end
|
|
41
237
|
end
|
|
@@ -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
|
|
@@ -20,14 +20,4 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
end
|
|
21
21
|
spec.require_paths = ['lib']
|
|
22
22
|
spec.required_ruby_version = '>= 2.5'
|
|
23
|
-
|
|
24
|
-
spec.add_development_dependency 'bundler'
|
|
25
|
-
spec.add_development_dependency 'dotenv'
|
|
26
|
-
spec.add_development_dependency 'faraday'
|
|
27
|
-
spec.add_development_dependency 'pry'
|
|
28
|
-
spec.add_development_dependency 'rake'
|
|
29
|
-
spec.add_development_dependency 'rspec'
|
|
30
|
-
spec.add_development_dependency 'rspec_junit_formatter'
|
|
31
|
-
spec.add_development_dependency 'rubocop'
|
|
32
|
-
spec.add_development_dependency 'rubocop-rspec'
|
|
33
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.16.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-23 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,6 +56,7 @@ 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
|
|
@@ -199,7 +75,7 @@ homepage: https://github.com/CGA1123/slack-ruby-block-kit
|
|
|
199
75
|
licenses:
|
|
200
76
|
- MIT
|
|
201
77
|
metadata: {}
|
|
202
|
-
post_install_message:
|
|
78
|
+
post_install_message:
|
|
203
79
|
rdoc_options: []
|
|
204
80
|
require_paths:
|
|
205
81
|
- lib
|
|
@@ -214,8 +90,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
214
90
|
- !ruby/object:Gem::Version
|
|
215
91
|
version: '0'
|
|
216
92
|
requirements: []
|
|
217
|
-
rubygems_version: 3.1.
|
|
218
|
-
signing_key:
|
|
93
|
+
rubygems_version: 3.1.4
|
|
94
|
+
signing_key:
|
|
219
95
|
specification_version: 4
|
|
220
96
|
summary: A ruby wrapper for Slack's Block Kit
|
|
221
97
|
test_files: []
|
data/.rubocop_todo.yml
DELETED
|
@@ -1,43 +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
|
-
- 'spec/lib/slack/block_kit/composition/option_spec.rb'
|
|
36
|
-
- 'spec/lib/slack/block_kit/element/multi_static_select_spec.rb'
|
|
37
|
-
|
|
38
|
-
# Offense count: 4
|
|
39
|
-
Style/Documentation:
|
|
40
|
-
Exclude:
|
|
41
|
-
- 'spec/**/*'
|
|
42
|
-
- 'test/**/*'
|
|
43
|
-
- 'lib/slack/block_kit.rb'
|