promethee 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
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