Class: Slack::BlockKit::Block

Inherits:
Object
  • Object
show all
Defined in:
lib/slack/block_kit/block.rb,
lib/slack/block_kit/block/image_block.rb,
lib/slack/block_kit/block/actions_block.rb,
lib/slack/block_kit/block/context_block.rb,
lib/slack/block_kit/block/divider_block.rb,
lib/slack/block_kit/block/section_block.rb

Defined Under Namespace

Classes: ActionsBlock, ContextBlock, DividerBlock, ImageBlock, SectionBlock

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#block_idObject

Returns the value of attribute block_id.



6
7
8
# File 'lib/slack/block_kit/block.rb', line 6

def block_id
  @block_id
end

Class Method Details

.[](hash) ⇒ Object



13
14
15
# File 'lib/slack/block_kit/block.rb', line 13

def self.[](hash)
  new.tap { |obj| populate(hash, obj) }
end

.populate(hash, object) ⇒ Object

Raises:

  • (ArgumentError)


8
9
10
11
# 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

Instance Method Details

#to_hObject



35
36
37
38
# File 'lib/slack/block_kit/block.rb', line 35

def to_h
  { type: type,
    block_id: block_id }
end

#typeObject



24
25
26
27
28
29
# 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?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/slack/block_kit/block.rb', line 31

def valid?
  true
end