Sha256: 6bedb5b7435894dcc64bb003aa871a3214bf992d6968550b060167e48e220175

Contents?: true

Size: 748 Bytes

Versions: 6

Compression:

Stored size: 748 Bytes

Contents

# frozen_string_literal: true

module CKEditor5::Rails
  module Presets
    module Concerns
      module PluginMethods
        def inline_plugin(name, code)
          config[:plugins] << Editor::PropsInlinePlugin.new(name, code)
        end

        def plugin(name, **kwargs)
          plugin_obj = PluginsBuilder.create_plugin(name, **kwargs)
          config[:plugins] << plugin_obj
          plugin_obj
        end

        def plugins(*names, **kwargs, &block)
          config[:plugins] ||= []

          names.each { |name| plugin(name, **kwargs) } unless names.empty?

          builder = PluginsBuilder.new(config[:plugins])
          builder.instance_eval(&block) if block_given?
          builder
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ckeditor5-1.17.4 lib/ckeditor5/rails/presets/concerns/plugin_methods.rb
ckeditor5-1.17.3 lib/ckeditor5/rails/presets/concerns/plugin_methods.rb
ckeditor5-1.17.2 lib/ckeditor5/rails/presets/concerns/plugin_methods.rb
ckeditor5-1.17.1 lib/ckeditor5/rails/presets/concerns/plugin_methods.rb
ckeditor5-1.17.0 lib/ckeditor5/rails/presets/concerns/plugin_methods.rb
ckeditor5-1.16.2 lib/ckeditor5/rails/presets/concerns/plugin_methods.rb