promethee 1.2.3 → 1.2.4

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
  SHA1:
3
- metadata.gz: a0dc296374c813a4bcc4a553fc5db6b8dfbb0713
4
- data.tar.gz: f1a82615609bc4c13c08405838b331aaceb455f4
3
+ metadata.gz: 44d867fcd71fae583eb50ba8eb6593eaa1162c7e
4
+ data.tar.gz: 324128142799a00e45d000b25967c3edc01722c4
5
5
  SHA512:
6
- metadata.gz: f8044bfca87fef65222f683a39ae6cb843c90c270ac3c9b8532b6b9e47070c3b043b386f107ec33edcc1e4ec754a67b84f11f4344a34543a0300aef6562f32ef
7
- data.tar.gz: 20a8b093c8f55c820f465be847d73030aa587e4111e0f983ced8eb93a8ba5564a1a20aa403761bffe334190d0844ed15e22e96e9a7111056050f0abd5e7e8358
6
+ metadata.gz: 1c73fe2e2d4d7b37b52195ca9d57147b5a059fbf9dbc5d5a245640deb098340fe87d20081af53bcbc59217e96d823bf047e3f3224cb5e895bcb8ec06315fd5c1
7
+ data.tar.gz: 0db18fd16d4ff3d2fed9cd413aff093c4393afddce21e602d21a25cac8241843e607a1a499d93b30d8d3222cf56b76c77ecb36a219a65b37cdc494b1969ba745
data/README.md CHANGED
@@ -132,8 +132,6 @@ With javascript set:
132
132
  //= require angular-animate
133
133
  //= require angular-ui-bootstrap
134
134
  //= require angular-summernote
135
- //= require promethee
136
- //= require promethee-edit
137
135
  ```
138
136
 
139
137
  With stylesheets set:
@@ -248,6 +246,45 @@ This would do quite the same thing:
248
246
  <input type="submit">
249
247
  </form>
250
248
  ```
249
+
250
+ ## Database
251
+
252
+ ### PostgreSQL
253
+
254
+ To generate the standard models, you might use this:
255
+ ```
256
+ rails g scaffold Page title:string data:jsonb
257
+ rails g scaffold Localization page:references data:jsonb
258
+ ```
259
+ Usually, the Localization will reference a language or a locale, or maybe use a locale stored as a String ("fr-FR").
260
+
261
+ Add the null false, default '{}' like this:
262
+ ```
263
+ class CreatePages < ActiveRecord::Migration[5.1]
264
+ def change
265
+ create_table :pages do |t|
266
+ t.string :title
267
+ t.jsonb :data, null: false, default: {}
268
+
269
+ t.timestamps
270
+ end
271
+ end
272
+ end
273
+ ```
274
+ and this:
275
+ ```
276
+ class CreateLocalizations < ActiveRecord::Migration[5.1]
277
+ def change
278
+ create_table :localizations do |t|
279
+ t.references :page, foreign_key: true
280
+ t.jsonb :data, null: false, default: {}
281
+
282
+ t.timestamps
283
+ end
284
+ end
285
+ end
286
+ ```
287
+
251
288
  ### SQLite (or other not native json storage)
252
289
 
253
290
  Prométhée takes a ruby hash.
@@ -276,6 +313,10 @@ JSON.parse(data, symbolize_names: true)
276
313
  - ~~Preview in iframe~~
277
314
  - ~~Preview~~
278
315
  - ~~Fullscreen~~
316
+ - ~~Cover~~
317
+ - ~~Chapter (or maybe it's a cover too? *Yes it is, but see next line*)~~
318
+ - ~~Grid background helper~
319
+ - Section (in order to organize page contents within distincts parts which can be referenced. eg: scrollspy, hyperlink, tabs, ...)
279
320
  - Hooks (needed for image and video)
280
321
  - promethee-i18n
281
322
  - Component versioning
@@ -285,11 +326,7 @@ JSON.parse(data, symbolize_names: true)
285
326
  - Menu
286
327
  - Tab
287
328
  - Better col sizing/positioning UX
288
- - Grid background helper
289
329
  - File upload?
290
- - ~~Cover~~
291
- - ~~Chapter (or maybe it's a cover too? *Yes it is, but see next line*)~~
292
- - Section (in order to organize page contents within distincts parts which can be referenced. eg: scrollspy, hyperlink, tabs, ...)
293
330
  - Utils rake tasks (generate, destroy, override, ...)
294
331
  - Doc (to be updated in terms of the new component concept and structure)
295
332
 
@@ -26,7 +26,7 @@
26
26
  </script>
27
27
 
28
28
  <script>
29
- promethee.controller('CoverController', ['$scope', function($scopen) {
29
+ promethee.controller('CoverController', ['$scope', function($scope) {
30
30
  $scope.options = {
31
31
  toolbar: [
32
32
  ['headline', ['style']],
@@ -3,7 +3,8 @@ module Promethee
3
3
  class Data
4
4
  def initialize(data, options = {})
5
5
  @master_data = hashify data
6
- @localization_data_raw = hashify options[:localization_data] if options.include? :localization_data
6
+ @localization_data_raw = hashify(options[:localization_data]) if options.include? :localization_data
7
+ check_master_integrity
7
8
  prepare_localization_data
8
9
  localize_master_data
9
10
  end
@@ -23,8 +24,21 @@ module Promethee
23
24
 
24
25
  protected
25
26
 
26
- def hashify(string_or_hash)
27
- string_or_hash.is_a?(String) ? JSON.parse(string_or_hash, symbolize_names: true) : string_or_hash
27
+ def hashify(data)
28
+ case data.class.to_s
29
+ when 'Hash'
30
+ h = data
31
+ when 'String'
32
+ h = JSON.parse data
33
+ when 'NilClass'
34
+ h = {}
35
+ end
36
+ h.deep_symbolize_keys
37
+ end
38
+
39
+ def check_master_integrity
40
+ @master_data[:version] = 1 unless @master_data.include? :version
41
+ @master_data[:children] = [] unless @master_data.include? :children
28
42
  end
29
43
 
30
44
  # We merge the localization data in the components from the master data.
@@ -1,5 +1,5 @@
1
1
  module Promethee
2
2
  module Rails
3
- VERSION = '1.2.3'
3
+ VERSION = '1.2.4'
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.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Dargelos
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2018-01-18 00:00:00.000000000 Z
14
+ date: 2018-01-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -167,20 +167,6 @@ dependencies:
167
167
  - - ">="
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
- - !ruby/object:Gem::Dependency
171
- name: sqlite3
172
- requirement: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - ">="
175
- - !ruby/object:Gem::Version
176
- version: '0'
177
- type: :development
178
- prerelease: false
179
- version_requirements: !ruby/object:Gem::Requirement
180
- requirements:
181
- - - ">="
182
- - !ruby/object:Gem::Version
183
- version: '0'
184
170
  - !ruby/object:Gem::Dependency
185
171
  name: byebug
186
172
  requirement: !ruby/object:Gem::Requirement
@@ -195,20 +181,6 @@ dependencies:
195
181
  - - ">="
196
182
  - !ruby/object:Gem::Version
197
183
  version: '0'
198
- - !ruby/object:Gem::Dependency
199
- name: annotate
200
- requirement: !ruby/object:Gem::Requirement
201
- requirements:
202
- - - ">="
203
- - !ruby/object:Gem::Version
204
- version: '0'
205
- type: :development
206
- prerelease: false
207
- version_requirements: !ruby/object:Gem::Requirement
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
211
- version: '0'
212
184
  description:
213
185
  email:
214
186
  - contact@juliendargelos.com