Class: BlockKit::Layout::Base

Inherits:
Base
  • Object
show all
Defined in:
lib/block_kit/layout/base.rb

Direct Known Subclasses

Actions, Context, Divider, File, Header, Image, Input, Markdown, RichText, Section, Video

Constant Summary collapse

MAX_BLOCK_ID_LENGTH =
255

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#==, fix, #fix_validation_errors, #fix_validation_errors!, fixes, #inspect, inspect, #pretty_print, #to_json

Constructor Details

#initialize(attributes = {}) ⇒ Base

Returns a new instance of Base.

Raises:

  • (NotImplementedError)


16
17
18
19
20
# File 'lib/block_kit/layout/base.rb', line 16

def initialize(attributes = {})
  raise NotImplementedError, "#{self.class} is an abstract class and can't be instantiated." if instance_of?(Base)

  super
end

Class Method Details

.inherited(subclass) ⇒ Object



12
13
14
# File 'lib/block_kit/layout/base.rb', line 12

def self.inherited(subclass)
  subclass.attribute_fixers = attribute_fixers.deep_dup
end

Instance Method Details

#as_jsonObject



22
23
24
# File 'lib/block_kit/layout/base.rb', line 22

def as_json(*)
  super.merge(block_id: block_id).compact
end