Module: Line::Message::Builder

Defined in:
lib/line/message/builder.rb,
lib/line/message/builder/base.rb,
lib/line/message/builder/flex.rb,
lib/line/message/builder/text.rb,
lib/line/message/builder/actions.rb,
lib/line/message/builder/context.rb,
lib/line/message/builder/version.rb,
lib/line/message/builder/flex/box.rb,
lib/line/message/builder/container.rb,
lib/line/message/builder/flex/icon.rb,
lib/line/message/builder/flex/size.rb,
lib/line/message/builder/flex/span.rb,
lib/line/message/builder/flex/text.rb,
lib/line/message/builder/flex/image.rb,
lib/line/message/builder/validators.rb,
lib/line/message/builder/actions/uri.rb,
lib/line/message/builder/flex/bubble.rb,
lib/line/message/builder/flex/button.rb,
lib/line/message/builder/quick_reply.rb,
lib/line/message/builder/flex/builder.rb,
lib/line/message/builder/flex/partial.rb,
lib/line/message/builder/flex/carousel.rb,
lib/line/message/builder/flex/position.rb,
lib/line/message/builder/flex/separator.rb,
lib/line/message/builder/actions/message.rb,
lib/line/message/builder/flex/actionable.rb,
lib/line/message/builder/validators/enum.rb,
lib/line/message/builder/validators/size.rb,
lib/line/message/builder/actions/postback.rb

Overview

The Builder module provides a Domain Specific Language (DSL) for constructing and validating LINE messages. It offers a structured and intuitive way to define various message types, such as text, flex messages, and quick replies, ensuring they adhere to the LINE Messaging API specifications.

This module simplifies the process of creating complex message structures by providing a set of builder classes and helper methods.

Defined Under Namespace

Modules: Actions, Flex, Validators Classes: Base, Container, Context, Error, QuickReply, RequiredError, Text, ValidationError

Constant Summary collapse

VERSION =
"0.10.0"

Class Method Summary collapse

Class Method Details

.with(context = nil, mode: :api) ⇒ Object

Entry point for building a message container. This method initializes a new message Container and evaluates the provided block within the context of that container.

[context] An optional context object that can be made available within the builder block. This can be useful for accessing helper methods or data within the block. [mode] The mode to use for building messages. Can be either :api (default) for direct LINE Messaging API format or :sdkv2 for LINE Bot SDK v2 compatible format.

:yields: container

Example

message = Line::Message::Builder.with do
text "Hello, world!"
end


57
58
59
# File 'lib/line/message/builder.rb', line 57

def with(context = nil, mode: :api, &)
  Container.new(context: context, mode: mode, &)
end