class Slack::BlockKit::Block
Attributes
block_id[R]
Public Class Methods
[](hash)
click to toggle source
# File lib/slack/block_kit/block.rb, line 13 def self.[](hash) new.tap { |obj| populate(hash, obj) } end
populate(hash, object)
click to toggle source
# File lib/slack/block_kit/block.rb, line 8 def self.populate(hash, object) object.block_id = hash[:block_id] if hash.key?(:block_id) raise ArgumentError, "invalid #{name}" unless object.valid? end
Public Instance Methods
block_id=(obj)
click to toggle source
# File lib/slack/block_kit/block.rb, line 17 def block_id=(obj) raise TypeError, 'block_id must be a string' unless obj.respond_to?(:to_str) raise RangeError, 'block_id must be max 255 characters' unless obj.size <= 255 @block_id = obj.to_s end
to_h()
click to toggle source
# File lib/slack/block_kit/block.rb, line 35 def to_h { type: type, block_id: block_id } end
type()
click to toggle source
# File lib/slack/block_kit/block.rb, line 24 def type @type ||= self.class.name .split('::') .last.chomp('Block') .gsub(/([a-z])([A-Z])/, '\1_\2').downcase end
valid?()
click to toggle source
# File lib/slack/block_kit/block.rb, line 31 def valid? true end