ckeditor5 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b95ee184f10909e8acc238dcc5650a4bcbd828cb8cb32719cb98465223c7bc6c
4
- data.tar.gz: 31364b050c64792a5561b4a9fd9de3dfe86a8a338f6a8f8075ca334c1558758d
3
+ metadata.gz: a512b289e611ca5d7480b5088b14f83ed459481b6f99f0c15b4467e627c464e7
4
+ data.tar.gz: dc3969b71fd184b7e9bc39a95fc7d0702280203c940197925d8e8f8d17d22a50
5
5
  SHA512:
6
- metadata.gz: 916eee6c8da16ad1b6d5ed9c7cd4358724e2a07d64b08b1ba77fdb03e2164a9633d3ce5403a6af70d938f0e1ef73e3a725549b83d93689b43c6225b0700456ea
7
- data.tar.gz: c19f382d14e66e8fc8a0f0b49dfa18687cad2697de005700a39532bd6a19928b7f1093ec1aea4fc5d067e36b4edb20ce0476b67946b0700d77045af38d1545e8
6
+ metadata.gz: d3491c052e7e736f1ed484a67eaf7fae034fd73874977c4bcfd671295e5fe5d9673d7c27845df6877fb527a4a29763ad3529c58e30fcee893f8a174fe066ac84
7
+ data.tar.gz: e579d1032b12e79d265da252ad74af5b090922aeb0eb4d68ab12c252d9ed173ec9b1f5e4cc904f4fcc62c4dbc0cb20b4b79ae87ee9cfff40afc33b1497caf464
@@ -2,16 +2,13 @@
2
2
 
3
3
  require 'rails/engine'
4
4
 
5
- require_relative 'toolbar_builder'
6
- require_relative 'preset_builder'
7
- require_relative 'presets_manager'
8
-
5
+ require_relative 'presets/manager'
9
6
  require_relative 'hooks/form'
10
7
 
11
8
  module CKEditor5::Rails
12
9
  class Engine < ::Rails::Engine
13
10
  config.ckeditor5 = ActiveSupport::OrderedOptions.new
14
- config.ckeditor5.presets = PresetsManager.new
11
+ config.ckeditor5.presets = Presets::Manager.new
15
12
 
16
13
  initializer 'helper' do
17
14
  ActiveSupport.on_load(:action_view) { include Helpers }
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module CKEditor5::Rails
4
- class PresetsManager
3
+ require_relative 'preset_builder'
4
+ require_relative 'toolbar_builder'
5
+
6
+ module CKEditor5::Rails::Presets
7
+ class Manager
5
8
  attr_reader :presets
6
9
 
7
10
  def initialize
@@ -0,0 +1,127 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CKEditor5::Rails
4
+ module Presets
5
+ class PresetBuilder
6
+ attr_reader :config
7
+
8
+ def initialize
9
+ @version = nil
10
+ @premium = false
11
+ @cdn = :jsdelivr
12
+ @translations = []
13
+ @license_key = nil
14
+ @type = :classic
15
+ @ckbox = nil
16
+ @config = {
17
+ plugins: [],
18
+ toolbar: []
19
+ }
20
+ end
21
+
22
+ def to_h_with_overrides(**overrides)
23
+ {
24
+ version: overrides.fetch(:version, version),
25
+ premium: overrides.fetch(:premium, premium),
26
+ cdn: overrides.fetch(:cdn, cdn),
27
+ translations: overrides.fetch(:translations, translations),
28
+ license_key: overrides.fetch(:license_key, license_key),
29
+ type: overrides.fetch(:type, type),
30
+ ckbox: overrides.fetch(:ckbox, ckbox),
31
+ config: config.merge(overrides.fetch(:config, {}))
32
+ }
33
+ end
34
+
35
+ def ckbox(version = nil, theme: :lark)
36
+ return @ckbox if version.nil?
37
+
38
+ @ckbox = { version: version, theme: theme }
39
+ end
40
+
41
+ def license_key(license_key = nil)
42
+ return @license_key if license_key.nil?
43
+
44
+ @license_key = license_key
45
+ end
46
+
47
+ def gpl
48
+ license_key('GPL')
49
+ premium(false)
50
+ end
51
+
52
+ def premium(premium = nil)
53
+ return @premium if premium.nil?
54
+
55
+ @premium = premium
56
+ end
57
+
58
+ def translations(*translations)
59
+ return @translations if translations.empty?
60
+
61
+ @translations = translations
62
+ end
63
+
64
+ def version(version = nil)
65
+ return @version.to_s if version.nil?
66
+
67
+ @version = Semver.new(version)
68
+ end
69
+
70
+ def cdn(cdn = nil)
71
+ return @cdn if cdn.nil?
72
+
73
+ @cdn = cdn
74
+ end
75
+
76
+ def type(type = nil)
77
+ return @type if type.nil?
78
+ raise ArgumentError, "Invalid editor type: #{type}" unless Editor::Props.valid_editor_type?(type)
79
+
80
+ @type = type
81
+ end
82
+
83
+ def configure(key, value)
84
+ @config[key] = value
85
+ end
86
+
87
+ def menubar(visible: true)
88
+ @config[:menuBar] = {
89
+ isVisible: visible
90
+ }
91
+ end
92
+
93
+ def toolbar(*items, should_group_when_full: true, &block)
94
+ if @config[:toolbar].blank? || !items.empty?
95
+ @config[:toolbar] = {
96
+ items: items,
97
+ shouldNotGroupWhenFull: !should_group_when_full
98
+ }
99
+ end
100
+
101
+ return unless block
102
+
103
+ builder = ToolbarBuilder.new(@config[:toolbar])
104
+ builder.instance_eval(&block)
105
+ end
106
+
107
+ def inline_plugin(name, code)
108
+ @config[:plugins] << Editor::PropsInlinePlugin.new(name, code)
109
+ end
110
+
111
+ def plugin(name, **kwargs)
112
+ @config[:plugins] << Editor::PropsPlugin.new(name, **kwargs)
113
+ end
114
+
115
+ def plugins(*names, **kwargs)
116
+ names.each { |name| plugin(name, **kwargs) }
117
+ end
118
+
119
+ def language(ui, content: ui) # rubocop:disable Naming/MethodParameterName
120
+ @config[:language] = {
121
+ ui: ui,
122
+ content: content
123
+ }
124
+ end
125
+ end
126
+ end
127
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module CKEditor5::Rails
3
+ module CKEditor5::Rails::Presets
4
4
  class ToolbarBuilder
5
5
  def initialize(toolbar_config)
6
6
  @toolbar_config = toolbar_config
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CKEditor5::Rails
4
- VERSION = '1.1.6'
4
+ VERSION = '1.1.7'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ckeditor5
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Bagiński
@@ -59,10 +59,10 @@ files:
59
59
  - lib/ckeditor5/rails/helpers.rb
60
60
  - lib/ckeditor5/rails/hooks/form.rb
61
61
  - lib/ckeditor5/rails/hooks/simple_form.rb
62
- - lib/ckeditor5/rails/preset_builder.rb
63
- - lib/ckeditor5/rails/presets_manager.rb
62
+ - lib/ckeditor5/rails/presets/manager.rb
63
+ - lib/ckeditor5/rails/presets/preset_builder.rb
64
+ - lib/ckeditor5/rails/presets/toolbar_builder.rb
64
65
  - lib/ckeditor5/rails/semver.rb
65
- - lib/ckeditor5/rails/toolbar_builder.rb
66
66
  - lib/ckeditor5/rails/version.rb
67
67
  homepage: https://github.com/Mati365/ckeditor5-rails
68
68
  licenses:
@@ -1,125 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module CKEditor5::Rails
4
- class PresetBuilder
5
- attr_reader :config
6
-
7
- def initialize
8
- @version = nil
9
- @premium = false
10
- @cdn = :jsdelivr
11
- @translations = []
12
- @license_key = nil
13
- @type = :classic
14
- @ckbox = nil
15
- @config = {
16
- plugins: [],
17
- toolbar: []
18
- }
19
- end
20
-
21
- def to_h_with_overrides(**overrides)
22
- {
23
- version: overrides.fetch(:version, version),
24
- premium: overrides.fetch(:premium, premium),
25
- cdn: overrides.fetch(:cdn, cdn),
26
- translations: overrides.fetch(:translations, translations),
27
- license_key: overrides.fetch(:license_key, license_key),
28
- type: overrides.fetch(:type, type),
29
- ckbox: overrides.fetch(:ckbox, ckbox),
30
- config: config.merge(overrides.fetch(:config, {}))
31
- }
32
- end
33
-
34
- def ckbox(version = nil, theme: :lark)
35
- return @ckbox if version.nil?
36
-
37
- @ckbox = { version: version, theme: theme }
38
- end
39
-
40
- def license_key(license_key = nil)
41
- return @license_key if license_key.nil?
42
-
43
- @license_key = license_key
44
- end
45
-
46
- def gpl
47
- license_key('GPL')
48
- premium(false)
49
- end
50
-
51
- def premium(premium = nil)
52
- return @premium if premium.nil?
53
-
54
- @premium = premium
55
- end
56
-
57
- def translations(*translations)
58
- return @translations if translations.empty?
59
-
60
- @translations = translations
61
- end
62
-
63
- def version(version = nil)
64
- return @version.to_s if version.nil?
65
-
66
- @version = Semver.new(version)
67
- end
68
-
69
- def cdn(cdn = nil)
70
- return @cdn if cdn.nil?
71
-
72
- @cdn = cdn
73
- end
74
-
75
- def type(type = nil)
76
- return @type if type.nil?
77
- raise ArgumentError, "Invalid editor type: #{type}" unless Editor::Props.valid_editor_type?(type)
78
-
79
- @type = type
80
- end
81
-
82
- def configure(key, value)
83
- @config[key] = value
84
- end
85
-
86
- def menubar(visible: true)
87
- @config[:menuBar] = {
88
- isVisible: visible
89
- }
90
- end
91
-
92
- def toolbar(*items, should_group_when_full: true, &block)
93
- if @config[:toolbar].blank? || !items.empty?
94
- @config[:toolbar] = {
95
- items: items,
96
- shouldNotGroupWhenFull: !should_group_when_full
97
- }
98
- end
99
-
100
- return unless block
101
-
102
- builder = ToolbarBuilder.new(@config[:toolbar])
103
- builder.instance_eval(&block)
104
- end
105
-
106
- def inline_plugin(name, code)
107
- @config[:plugins] << Editor::PropsInlinePlugin.new(name, code)
108
- end
109
-
110
- def plugin(name, **kwargs)
111
- @config[:plugins] << Editor::PropsPlugin.new(name, **kwargs)
112
- end
113
-
114
- def plugins(*names, **kwargs)
115
- names.each { |name| plugin(name, **kwargs) }
116
- end
117
-
118
- def language(ui, content: ui) # rubocop:disable Naming/MethodParameterName
119
- @config[:language] = {
120
- ui: ui,
121
- content: content
122
- }
123
- end
124
- end
125
- end