class CKEditor5::Rails::Presets::Manager

def [](name)

Returns:
  • (PresetBuilder, nil) - Found preset or nil if not found

Parameters:
  • name (Symbol) -- Name of the preset
def [](name)
  @presets[name]
end

def default

Returns:
  • (PresetBuilder, nil) - Default preset or nil if not defined
def default
  @presets[:default]
end

def define(name, inherit: true, &block)

Returns:
  • (PresetBuilder) - Created preset instance

Other tags:
    Example: Define preset from scratch -
    Example: Define custom preset inheriting from default -

Parameters:
  • inherit (Boolean) -- Whether to inherit from default preset
  • name (Symbol) -- Name of the preset
def define(name, inherit: true, &block)
  preset = if inherit && default.present?
             default.clone
           else
             PresetBuilder.new
           end
  preset.instance_eval(&block)
  @presets[name] = preset
end

def define_default_preset

Other tags:
    Example: Basic configuration -
def define_default_preset
  define :default do
    # Set default version from gem constant
    version CKEditor5::Rails::DEFAULT_CKEDITOR_VERSION
    # Enable automatic version upgrades for security patches
    automatic_upgrades
    # Use GPL license and classic editor type
    gpl
    type :classic
    menubar
    # Configure default toolbar items
    toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|,
            :link, :insertImage, :mediaEmbed, :insertTable, :blockQuote, :|,
            :bulletedList, :numberedList, :todoList, :outdent, :indent
    # Configure default plugins
    plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave,
            :BlockQuote, :Bold, :CloudServices,
            :Essentials, :Heading, :ImageBlock, :ImageCaption, :ImageInline,
            :ImageInsert, :ImageInsertViaUrl, :ImageResize, :ImageStyle,
            :ImageTextAlternative, :ImageToolbar, :ImageUpload, :Indent,
            :IndentBlock, :Italic, :Link, :LinkImage, :List, :ListProperties,
            :MediaEmbed, :Paragraph, :PasteFromOffice, :PictureEditing,
            :SelectAll, :Table, :TableCaption, :TableCellProperties,
            :TableColumnResize, :TableProperties, :TableToolbar,
            :TextTransformation, :TodoList, :Underline, :Undo, :Base64UploadAdapter
    # Configure default image toolbar
    configure :image, {
      toolbar: ['imageTextAlternative', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side']
    }
  end
end

def initialize

Initializes a new Manager instance and sets up the default preset
def initialize
  @presets = {}
  define_default_preset
end

def override(name, &block)

Other tags:
    Example: Override existing preset -

Parameters:
  • name (Symbol) -- Name of the preset to override
def override(name, &block)
  @presets[name].instance_eval(&block)
end