promethee 1.5.4 → 1.6.0

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
- SHA1:
3
- metadata.gz: 344cfab642c4920d60f0c4f01ebc2c458d8c4315
4
- data.tar.gz: c318a24462dad5f1d862d67da7eed55993619179
2
+ SHA256:
3
+ metadata.gz: 3f3343da331244a830c57574312d5182f16b7f7d2329096250a4eec41f091e50
4
+ data.tar.gz: 34226a84dc47694fcce5e4738c0a2ef2fa6261e486f3048fd40570b134bad428
5
5
  SHA512:
6
- metadata.gz: 3915d82040366a905af0e492163dfd4e383345dd652863ac6c83052208ddf029a6c1310085f21099851a136c5a6230d02ff4f8f6406043a9bc78c935a1946981
7
- data.tar.gz: 064c728027dfd29262cda10402799cabb1db98de24dc3df8e1b28555f81b05a3dc92207393277671394200179a1f96b62337b4a6aaf32b30c536d6296a3d4f67
6
+ metadata.gz: 74df3572cd23faf57a5257891238828623944e5c5a5f5af3027f4ac05128264d2bd6bd928992b62774104b4feea17230fc0cc2313c1066e452cfbbddd74fa227
7
+ data.tar.gz: 0ddcbaf0a569b29a6f432713348260b6030eac55300b02d49ff9fbc6793111e623557703a062c4efbf32bc7863fa410395ac34e912faaf59ac1f0df39f91b24c
data/README.md CHANGED
@@ -129,6 +129,19 @@ You can specify a back link url to go to when closing the editor without saving:
129
129
  <% end %>
130
130
  ```
131
131
 
132
+ > In these examples, the `Page` model would need a migration adding a `data` column:
133
+ >
134
+ > ```ruby
135
+ > class AddDataToPages < ActiveRecord::Migration[5.2]
136
+ > def change
137
+ > add_column :pages, :data, :jsonb
138
+ >
139
+ > # Or, if jsonb isn't supported by your storage strategy:
140
+ > # add_column :pages, :data, :string
141
+ > end
142
+ > end
143
+ > ```
144
+
132
145
  With javascript set:
133
146
  ```
134
147
  //= require jquery
@@ -150,6 +163,8 @@ With stylesheets set:
150
163
  @import 'promethee-edit'
151
164
  ```
152
165
 
166
+ > These require/import statements are quite flexible: if you already use gems or packages which include bootstrap, jquery, summernote... you're likely to be able to use them in place of those included in Prométhée.
167
+
153
168
  #### The editor has components
154
169
 
155
170
  The component is made of a show and and edit.
@@ -183,6 +198,42 @@ To register a component, the code is:
183
198
  });
184
199
  ```
185
200
 
201
+ #### The editor needs routes to be defined
202
+
203
+ To provide preview and active storage management features, **Prométhée use a controller which have to be targeted by routes**. The gem provide a shortcut helper to achieve that:
204
+
205
+ ```ruby
206
+ # config/routes.rb
207
+
208
+ Rails.application.routes.draw do
209
+ promethee
210
+ # Equivalent to:
211
+ # namespace :promethee do
212
+ # post 'preview' => 'promethee#preview', as: :preview
213
+ # post 'blob' => 'promethee#blob_create'
214
+ # get 'blob/:id' => 'promethee#blob_show'
215
+ # end
216
+ end
217
+ ```
218
+
219
+ Since it's just a shortcut calling Rails native methods, this helper consider the route priority order (higher priority at the top, lower at the bottom).
220
+
221
+ You can specify the namespace path by providing a value to the `path` option:
222
+
223
+ ```ruby
224
+ # config/routes.rb
225
+
226
+ Rails.application.routes.draw do
227
+ promethee path: 'admin/promethee'
228
+ # Equivalent to:
229
+ # namespace :promethee, path: 'admin/promethee', module: nil do
230
+ # post 'preview' => 'promethee#preview', as: :preview
231
+ # post 'blob' => 'promethee#blob_create'
232
+ # get 'blob/:id' => 'promethee#blob_show'
233
+ # end
234
+ end
235
+ ```
236
+
186
237
  #### The editor previews in an iframe
187
238
 
188
239
  To be able to preview responsivity, there is a POST "promethee/preview" route.
data/lib/promethee.rb CHANGED
@@ -16,10 +16,10 @@ module Promethee
16
16
  require 'promethee/rails/version'
17
17
  end
18
18
 
19
- require 'promethee/core_ext/tags'
20
19
  require 'promethee/core_ext/form_helper'
21
20
  require 'promethee/core_ext/form_builder'
21
+ require 'promethee/core_ext/mapper'
22
+ require 'promethee/core_ext/tags'
22
23
 
23
- require 'promethee/configuration'
24
24
  require 'promethee/data'
25
25
  end
@@ -0,0 +1,9 @@
1
+ ActionDispatch::Routing::Mapper.class_eval do
2
+ def promethee path: :promethee
3
+ namespace :promethee, path: path.to_s, module: nil do
4
+ post 'preview' => 'promethee#preview', as: :preview
5
+ post 'blob' => 'promethee#blob_create'
6
+ get 'blob/:id' => 'promethee#blob_show'
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  module Promethee
2
2
  module Rails
3
- VERSION = '1.5.4'
3
+ VERSION = '1.6.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promethee
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Dargelos
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-05-25 00:00:00.000000000 Z
16
+ date: 2018-05-28 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rails
@@ -259,11 +259,10 @@ files:
259
259
  - app/views/promethee/utils/_text-content-from-html.html.erb
260
260
  - app/views/promethee/utils/_url-safe.html.erb
261
261
  - config/initializers/assets.rb
262
- - config/routes.rb
263
262
  - lib/promethee.rb
264
- - lib/promethee/configuration.rb
265
263
  - lib/promethee/core_ext/form_builder.rb
266
264
  - lib/promethee/core_ext/form_helper.rb
265
+ - lib/promethee/core_ext/mapper.rb
267
266
  - lib/promethee/core_ext/tags.rb
268
267
  - lib/promethee/data.rb
269
268
  - lib/promethee/rails/engine.rb
@@ -359,7 +358,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
359
358
  version: '0'
360
359
  requirements: []
361
360
  rubyforge_project:
362
- rubygems_version: 2.6.13
361
+ rubygems_version: 2.7.6
363
362
  signing_key:
364
363
  specification_version: 4
365
364
  summary: Bring fire to your page
data/config/routes.rb DELETED
@@ -1,7 +0,0 @@
1
- Rails.application.routes.draw do
2
- namespace :promethee, path: Promethee.configuration.route_scope, module: nil do
3
- post 'preview' => 'promethee#preview', as: :preview
4
- post 'blob' => 'promethee#blob_create'
5
- get 'blob/:id' => 'promethee#blob_show'
6
- end
7
- end
@@ -1,17 +0,0 @@
1
- module Promethee
2
- def self.configuration
3
- @configuration ||= Configuration.new
4
- end
5
-
6
- def self.configure
7
- yield configuration
8
- end
9
-
10
- class Configuration
11
- attr_accessor :route_scope
12
-
13
- def initialize
14
- @route_scope = 'promethee'
15
- end
16
- end
17
- end