slack-ruby-block-kit 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 378d3c0f61c46eb14a2b94d00b17ec9c244651410ca1808af7a153799fd5aae3
4
- data.tar.gz: 5c6e19732f13dca80bcb6903d33d2b74ab2276d1e3440f39c959ba693d56a0b0
3
+ metadata.gz: 98d7b9d263e5a169d46a97f64512f013580d455ef0c928a095e417bbccc77d52
4
+ data.tar.gz: ee8488ad4d4bb36317f93a556bc0728d07dc16e38da892fb8067ba9efe5fa661
5
5
  SHA512:
6
- metadata.gz: f461f8b3321c739727690bf72f02598698e5de10a2a99626f1bffa68a47771777f9af783df6063df841ab85e8db6fea6dcce8e5cb027ae029fcf88253f7f13f5
7
- data.tar.gz: 7c80bdbf03ce41fef6a11f816a3ffaf9eda92ddd2011a9e20e3c6e9653ebf3306e529aa1b5c53811792d532a18ba732ec55163df3467e490652f6c4c7b2df562
6
+ metadata.gz: f0e114f5f7e4455a9773e16cd8bf906cc94d1052601d85d0ea5af83d8597cc40c3b462912a6174832ff22ae54c91a9d9f8f79dab864963ec907f8da47e7e0107
7
+ data.tar.gz: eddb7b032cd53b0c5974204c518d279311a76ba5f9a88455882ff691f6984ca0f94e6acbfc37b143315519c19fc79a4800c8cdaf581bf962948303d376ee6b6f
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
  # rspec failure tracking
12
12
  .rspec_status
13
13
  *.gem
14
+ .env
data/.rubocop.yml CHANGED
@@ -16,3 +16,10 @@ Naming/FileName:
16
16
 
17
17
  Metrics/ParameterLists:
18
18
  Max: 8
19
+
20
+ Metrics/BlockLength:
21
+ Exclude:
22
+ - 'Rakefile'
23
+ - '**/*.rake'
24
+ - 'spec/**/*.rb'
25
+ - '**/*.gemspec'
data/Gemfile.lock CHANGED
@@ -1,18 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- slack-ruby-block-kit (0.5.0)
4
+ slack-ruby-block-kit (0.6.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.0)
10
+ coderay (1.1.2)
10
11
  diff-lcs (1.3)
12
+ dotenv (2.7.5)
13
+ faraday (1.0.1)
14
+ multipart-post (>= 1.2, < 3)
11
15
  jaro_winkler (1.5.2)
16
+ method_source (1.0.0)
17
+ multipart-post (2.1.1)
12
18
  parallel (1.13.0)
13
19
  parser (2.6.0.0)
14
20
  ast (~> 2.4.0)
15
21
  powerpack (0.1.2)
22
+ pry (0.13.1)
23
+ coderay (~> 1.1)
24
+ method_source (~> 1.0)
16
25
  rainbow (3.0.0)
17
26
  rake (13.0.1)
18
27
  rspec (3.8.0)
@@ -48,6 +57,9 @@ PLATFORMS
48
57
 
49
58
  DEPENDENCIES
50
59
  bundler (< 2.0)
60
+ dotenv
61
+ faraday
62
+ pry
51
63
  rake
52
64
  rspec
53
65
  rspec_junit_formatter
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![CircleCI](https://circleci.com/gh/CGA1123/slack-ruby-block-kit/tree/master.svg?style=svg)](https://circleci.com/gh/CGA1123/slack_block_kit-ruby/tree/master)
1
+ [![CircleCI](https://circleci.com/gh/CGA1123/slack-ruby-block-kit/tree/master.svg?style=svg)](https://circleci.com/gh/CGA1123/slack-ruby-block-kit/tree/master)
2
2
  [![Gem Version](https://badge.fury.io/rb/slack-ruby-block-kit.svg)](https://badge.fury.io/rb/slack-ruby-block-kit)
3
3
 
4
4
  # Slack::BlockKit
@@ -86,7 +86,7 @@ You can also check out the [`slackerduty`](https://github.com/CGA1123/slackerdut
86
86
 
87
87
  ## Contributing
88
88
 
89
- Bug reports and pull requests are welcome on GitHub at https://github.com/CGA1123/slack_block_kit-ruby
89
+ Bug reports and pull requests are welcome on GitHub at https://github.com/CGA1123/slack-ruby-block-kit
90
90
 
91
91
  See [issues](https://github.com/CGA1123/slack-ruby-block-kit/issues) if you want any inspiration as to what to help with!
92
92
 
data/bin/console ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ lib = File.expand_path('../lib', __dir__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+
7
+ require 'bundler/setup'
8
+ require 'dotenv/load'
9
+ require 'slack-ruby-block-kit'
10
+ require 'faraday'
11
+ require 'pry'
12
+
13
+ Pry.start
@@ -6,7 +6,7 @@ module Slack
6
6
  module Element; end
7
7
  module Layout; end
8
8
 
9
- VERSION = '0.5.0'
9
+ VERSION = '0.6.0'
10
10
 
11
11
  Dir[File.join(__dir__, 'block_kit', 'composition', '*.rb')].each { |file| require file }
12
12
  Dir[File.join(__dir__, 'block_kit', 'element', '*.rb')].each { |file| require file }
@@ -33,6 +33,12 @@ module Slack
33
33
  self
34
34
  end
35
35
 
36
+ def style(value)
37
+ @style = value
38
+
39
+ self
40
+ end
41
+
36
42
  def mrkdwn(text:, verbatim: nil)
37
43
  @text = Mrkdwn.new(text: text, verbatim: verbatim)
38
44
 
@@ -44,8 +50,9 @@ module Slack
44
50
  title: @title.as_json,
45
51
  text: @text.as_json,
46
52
  confirm: @confirm.as_json,
47
- deny: @deny.as_json
48
- }
53
+ deny: @deny.as_json,
54
+ style: @style
55
+ }.compact
49
56
  end
50
57
  end
51
58
  end
@@ -8,16 +8,20 @@ module Slack
8
8
  # https://api.slack.com/reference/messaging/composition-objects#option
9
9
  # https://api.slack.com/reference/messaging/block-elements#select
10
10
  class Option
11
- def initialize(value:, text:, emoji: nil)
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
15
+ @url = url
14
16
  end
15
17
 
16
18
  def as_json(*)
17
19
  {
18
20
  text: @text.as_json,
19
- value: @value
20
- }
21
+ value: @value,
22
+ description: @description&.as_json,
23
+ url: @url
24
+ }.compact
21
25
  end
22
26
  end
23
27
  end
@@ -26,11 +26,12 @@ module Slack
26
26
  yield(self) if block_given?
27
27
  end
28
28
 
29
- def option(value:, text:, emoji: nil)
29
+ def option(value:, text:, emoji: nil, url: nil)
30
30
  @options << Composition::Option.new(
31
31
  value: value,
32
32
  text: text,
33
- emoji: emoji
33
+ emoji: emoji,
34
+ url: url
34
35
  )
35
36
 
36
37
  self
@@ -29,6 +29,9 @@ Gem::Specification.new do |spec|
29
29
  spec.required_ruby_version = '>= 2.5'
30
30
 
31
31
  spec.add_development_dependency 'bundler', '< 2.0'
32
+ spec.add_development_dependency 'dotenv'
33
+ spec.add_development_dependency 'faraday'
34
+ spec.add_development_dependency 'pry'
32
35
  spec.add_development_dependency 'rake'
33
36
  spec.add_development_dependency 'rspec'
34
37
  spec.add_development_dependency 'rspec_junit_formatter'
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.5.0
4
+ version: 0.6.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-04-05 00:00:00.000000000 Z
11
+ date: 2020-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,48 @@ dependencies:
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.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'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: rake
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -111,6 +153,7 @@ files:
111
153
  - LICENSE.txt
112
154
  - README.md
113
155
  - Rakefile
156
+ - bin/console
114
157
  - lib/slack-ruby-block-kit.rb
115
158
  - lib/slack/block_kit.rb
116
159
  - lib/slack/block_kit/blocks.rb