Module: SlackValidBlockKit
- Defined in:
- lib/slack_valid_block_kit.rb,
lib/slack_valid_block_kit/config.rb,
lib/slack_valid_block_kit/builder.rb,
lib/slack_valid_block_kit/version.rb,
lib/slack_valid_block_kit/validator.rb,
lib/slack_valid_block_kit/builder/layouts.rb,
lib/slack_valid_block_kit/builder/elements.rb,
lib/slack_valid_block_kit/builder/surfaces.rb,
lib/slack_valid_block_kit/builder/compositions.rb,
lib/slack_valid_block_kit/builder/method_generator.rb
Defined Under Namespace
Modules: Builder, Validator
Classes: Config
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.blocks(validate: nil) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/slack_valid_block_kit.rb', line 23
def self.blocks(validate: nil)
blocks = yield(::SlackValidBlockKit::Builder::Runner.new)
raise "SlackValidBlockKit.blocks must return an Array object." unless blocks.is_a?(Array)
if validate.nil?
if SlackValidBlockKit::Config.skip_validation.nil? || !SlackValidBlockKit::Config.skip_validation
validate_blocks!(blocks)
end
elsif validate
validate_blocks!(blocks)
end
blocks
end
|
.build(validate: nil) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/slack_valid_block_kit.rb', line 9
def self.build(validate: nil)
hash = yield(::SlackValidBlockKit::Builder::Runner.new)
raise "SlackValidBlockKit.build must return a Hash object." unless hash.is_a?(Hash)
if validate.nil?
if SlackValidBlockKit::Config.skip_validation.nil? || !SlackValidBlockKit::Config.skip_validation
validate!(hash)
end
elsif validate
validate!(hash)
end
hash
end
|
.validate(obj) ⇒ Object
37
38
39
40
41
42
43
44
|
# File 'lib/slack_valid_block_kit.rb', line 37
def self.validate(obj)
this = ::SlackValidBlockKit::Validator::Runner.new
this.validate(obj, "root", :top)
this.validate_block_id
this.validate_action_id
this.validate_focus_on_load
this.errors_by_path
end
|
.validate!(obj) ⇒ Object
46
47
48
49
50
51
52
|
# File 'lib/slack_valid_block_kit.rb', line 46
def self.validate!(obj)
errors_by_path = validate(obj)
if errors_by_path.size > 0
raise "invalid json.\n#{::SlackValidBlockKit::Validator::Error.messages(errors_by_path).join("\n")}"
end
true
end
|
.validate_blocks(obj) ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/slack_valid_block_kit.rb', line 54
def self.validate_blocks(obj)
if obj.is_a?(Array)
obj = { blocks: obj }
end
this = ::SlackValidBlockKit::Validator::Runner.new
this.validate_blocks(obj, "root", :top)
this.validate_block_id
this.validate_action_id
this.validate_focus_on_load
this.errors_by_path
end
|
.validate_blocks!(blocks) ⇒ Object
66
67
68
69
70
71
72
|
# File 'lib/slack_valid_block_kit.rb', line 66
def self.validate_blocks!(blocks)
errors_by_path = validate_blocks(blocks)
if errors_by_path.size > 0
raise "invalid json.\n#{::SlackValidBlockKit::Validator::Error.messages(errors_by_path).join("\n")}"
end
true
end
|