Sha256: 8eae763882834e6f89e57f191bde9ace69ed81ac62fd94ece4efbe61f41f95d2

Contents?: true

Size: 580 Bytes

Versions: 3

Compression:

Stored size: 580 Bytes

Contents

# frozen_string_literal: true

module CKEditor5::Rails::Editor
  class PropsBasePlugin
    attr_reader :name, :assets_bundle

    def initialize(name)
      @name = name
    end

    def preload_assets_urls
      []
    end

    def to_h
      raise NotImplementedError, 'Method #to_h must be implemented in a subclass'
    end

    def self.normalize(plugin, **kwargs)
      case plugin
      when String, Symbol then PropsPlugin.new(plugin, **kwargs)
      when PropsBasePlugin then plugin
      else raise ArgumentError, "Invalid plugin: #{plugin}"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ckeditor5-1.18.3 lib/ckeditor5/rails/editor/props_base_plugin.rb
ckeditor5-1.18.1 lib/ckeditor5/rails/editor/props_base_plugin.rb
ckeditor5-1.18.0 lib/ckeditor5/rails/editor/props_base_plugin.rb