class CKEditor5::Rails::PresetsManager

def [](name)

def [](name)
  @presets[name] || {}
end

def default

def default
  @presets[:default] || {}
end

def define(name, &block)

def define(name, &block)
  preset = PresetBuilder.new
  preset.instance_eval(&block)
  @presets[name] = preset
end

def define_default_preset

def define_default_preset
  define :default do
    shape :classic
    menubar
    toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|,
            :link, :insertImage, :ckbox, :mediaEmbed, :insertTable, :blockQuote, :|,
            :bulletedList, :numberedList, :todoList, :outdent, :indent
    plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave,
            :BlockQuote, :Bold, :CKBox, :CKBoxImageEdit, :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
  end
end

def initialize

def initialize
  @presets = {}
  define_default_preset
end

def override(name, &block)

def override(name, &block)
  @presets[name].instance_eval(&block)
end