Sha256: 65329c369602c134ce6056c24739587fe45ce91acdf1949378a22a8318bb212b

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

require 'rails/engine'
require_relative 'presets'
require_relative 'hooks/form'

module CKEditor5::Rails
  class Engine < ::Rails::Engine
    config.ckeditor5 = ActiveSupport::OrderedOptions.new

    # Specifies configuration of editors generated by gem.
    config.ckeditor5.presets = PresetsManager.new

    initializer 'helper' do
      ActiveSupport.on_load(:action_view) do
        include Helpers
      end
    end

    initializer 'ckeditor5.simple_form' do
      next unless defined?(::SimpleForm)

      require_relative 'hooks/simple_form'

      ::SimpleForm::FormBuilder.map_type :ckeditor5, to: Hooks::SimpleForm::CKEditor5Input
    end

    initializer 'ckeditor5.form_builder' do
      require_relative 'hooks/form'

      ActionView::Helpers::FormBuilder.include(
        Hooks::Form::FormBuilderExtension
      )
    end

    def self.base
      config.ckeditor5
    end

    def self.default_preset
      config.ckeditor5.presets.default
    end

    def self.configure
      yield config.ckeditor5
    end
  end

  def configure(&block)
    Engine.configure(&block)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ckeditor5-1.1.5 lib/ckeditor5/rails/engine.rb