decidim-generators 0.11.2 → 0.12.0.pre

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
  SHA256:
3
- metadata.gz: 4bb4e892f88e5d7fc49ebb04f21cfe1722498342ab8a2797c96d1afc7fb172d3
4
- data.tar.gz: 96c63919b403cc7cd972384b9878df93677148a32dcccf87477a8b768b8453f6
3
+ metadata.gz: 9effb7aafdec02ac555522182684ea85952c427eabf1bf71102b44d1a2183038
4
+ data.tar.gz: f9cb22fe9baa093f45ae85597675ef83a3e24df4b3f4fdfe35cab2c66163a68d
5
5
  SHA512:
6
- metadata.gz: a4d51e77ceb4b59717af0183817eb01806e5fd1ea73cc5092ccf1075621234bf602c0108ac02a940f2cd975b92a015bbe8b9fdbfcd5167569cc00a091e220ce3
7
- data.tar.gz: d325e9033ea033c6429f27ecfa3ba5d886d41396cf14d22f07ed00c7f900a6d60a21afc96568ec2b85c3ad15a38ca8d3d7a2ff5d35ec148dda91bc04434cf49e
6
+ metadata.gz: 519c0a62e34b11fcc2276af2d5f0e446acafa7117bd65d6bc6ab107d7aea8e2642f074c3fcd54407d86e00e698b9b96249dfadf67dfc04f54260ffaaadb5c5fc
7
+ data.tar.gz: '070562268415c160b5f85d8073ff2bfc8c6f808316f3d588cce82948ec3334996efca395e5ce6e7af64c01998c676444adba3a78f319f2140083ee712441f7c3'
data/Gemfile.lock CHANGED
@@ -1,69 +1,68 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- decidim (0.11.2)
5
- decidim-accountability (= 0.11.2)
6
- decidim-admin (= 0.11.2)
7
- decidim-api (= 0.11.2)
8
- decidim-assemblies (= 0.11.2)
9
- decidim-blogs (= 0.11.2)
10
- decidim-budgets (= 0.11.2)
11
- decidim-comments (= 0.11.2)
12
- decidim-core (= 0.11.2)
13
- decidim-debates (= 0.11.2)
14
- decidim-generators (= 0.11.2)
15
- decidim-meetings (= 0.11.2)
16
- decidim-pages (= 0.11.2)
17
- decidim-participatory_processes (= 0.11.2)
18
- decidim-proposals (= 0.11.2)
19
- decidim-sortitions (= 0.11.2)
20
- decidim-surveys (= 0.11.2)
21
- decidim-system (= 0.11.2)
22
- decidim-verifications (= 0.11.2)
23
- decidim-accountability (0.11.2)
24
- decidim-comments (= 0.11.2)
25
- decidim-core (= 0.11.2)
4
+ decidim (0.12.0.pre)
5
+ decidim-accountability (= 0.12.0.pre)
6
+ decidim-admin (= 0.12.0.pre)
7
+ decidim-api (= 0.12.0.pre)
8
+ decidim-assemblies (= 0.12.0.pre)
9
+ decidim-blogs (= 0.12.0.pre)
10
+ decidim-budgets (= 0.12.0.pre)
11
+ decidim-comments (= 0.12.0.pre)
12
+ decidim-core (= 0.12.0.pre)
13
+ decidim-debates (= 0.12.0.pre)
14
+ decidim-generators (= 0.12.0.pre)
15
+ decidim-meetings (= 0.12.0.pre)
16
+ decidim-pages (= 0.12.0.pre)
17
+ decidim-participatory_processes (= 0.12.0.pre)
18
+ decidim-proposals (= 0.12.0.pre)
19
+ decidim-sortitions (= 0.12.0.pre)
20
+ decidim-surveys (= 0.12.0.pre)
21
+ decidim-system (= 0.12.0.pre)
22
+ decidim-verifications (= 0.12.0.pre)
23
+ decidim-accountability (0.12.0.pre)
24
+ decidim-comments (= 0.12.0.pre)
25
+ decidim-core (= 0.12.0.pre)
26
26
  kaminari (~> 1.0)
27
27
  searchlight (~> 4.1)
28
- decidim-admin (0.11.2)
28
+ decidim-admin (0.12.0.pre)
29
29
  active_link_to (~> 1.0)
30
- decidim-core (= 0.11.2)
30
+ decidim-core (= 0.12.0.pre)
31
31
  devise (~> 4.2)
32
32
  devise-i18n (~> 1.2)
33
33
  devise_invitable (~> 1.7)
34
34
  jquery-rails (~> 4.3)
35
35
  sassc-rails (~> 1.3)
36
- decidim-api (0.11.2)
36
+ decidim-api (0.12.0.pre)
37
37
  graphiql-rails (~> 1.4)
38
38
  graphql (~> 1.6)
39
39
  rack-cors (~> 1.0)
40
40
  sprockets-es6 (~> 0.9.2)
41
- decidim-assemblies (0.11.2)
42
- decidim-core (= 0.11.2)
43
- decidim-blogs (0.11.2)
44
- decidim-admin (= 0.11.2)
45
- decidim-comments (= 0.11.2)
46
- decidim-core (= 0.11.2)
41
+ decidim-assemblies (0.12.0.pre)
42
+ decidim-core (= 0.12.0.pre)
43
+ decidim-blogs (0.12.0.pre)
44
+ decidim-admin (= 0.12.0.pre)
45
+ decidim-comments (= 0.12.0.pre)
46
+ decidim-core (= 0.12.0.pre)
47
47
  httparty (~> 0.16.0)
48
48
  jquery-tmpl-rails (~> 1.1)
49
49
  kaminari (~> 1.0)
50
- decidim-budgets (0.11.2)
51
- decidim-comments (= 0.11.2)
52
- decidim-core (= 0.11.2)
50
+ decidim-budgets (0.12.0.pre)
51
+ decidim-comments (= 0.12.0.pre)
52
+ decidim-core (= 0.12.0.pre)
53
53
  kaminari (~> 1.0)
54
54
  searchlight (~> 4.1)
55
- decidim-comments (0.11.2)
56
- decidim-core (= 0.11.2)
55
+ decidim-comments (0.12.0.pre)
56
+ decidim-core (= 0.12.0.pre)
57
57
  jquery-rails (~> 4.0)
58
- decidim-core (0.11.2)
58
+ decidim-core (0.12.0.pre)
59
59
  active_link_to (~> 1.0)
60
60
  autoprefixer-rails (~> 8.0)
61
- cancancan (~> 2.0)
62
61
  carrierwave (~> 1.1)
63
62
  cells-erb (~> 0.1.0)
64
- cells-rails (~> 0.0.8)
63
+ cells-rails (~> 0.0.9)
65
64
  date_validator (~> 0.9.0)
66
- decidim-api (= 0.11.2)
65
+ decidim-api (= 0.12.0.pre)
67
66
  devise (~> 4.3)
68
67
  devise-i18n (~> 1.2)
69
68
  doorkeeper (~> 4.3)
@@ -72,7 +71,6 @@ PATH
72
71
  foundation-rails (~> 6.4, < 6.5)
73
72
  foundation_rails_helper (~> 3.0)
74
73
  geocoder (~> 1.4)
75
- high_voltage (~> 3.0.0)
76
74
  invisible_captcha (~> 0.10.0)
77
75
  jquery-rails (~> 4.3)
78
76
  loofah (~> 2.0, >= 2.2.1)
@@ -81,10 +79,12 @@ PATH
81
79
  omniauth-facebook (~> 4.0)
82
80
  omniauth-google-oauth2 (~> 0.5.0)
83
81
  omniauth-twitter (~> 1.4)
84
- paper_trail (~> 8.0)
82
+ paper_trail (~> 9.0)
85
83
  pg (>= 0.18, < 2)
84
+ pg_search (~> 2.1, >= 2.1.0)
86
85
  premailer-rails (~> 1.9)
87
- rails (~> 5.1, < 5.2.x)
86
+ rack-attack (~> 5.2.0)
87
+ rails (>= 5.2, < 6.0.x)
88
88
  rails-i18n (~> 5.0)
89
89
  rectify (~> 0.11.0)
90
90
  redis (~> 4.0)
@@ -96,20 +96,22 @@ PATH
96
96
  uglifier (~> 4.0)
97
97
  valid_email2 (~> 2.1)
98
98
  wisper (~> 2.0)
99
- decidim-debates (0.11.2)
100
- decidim-comments (= 0.11.2)
101
- decidim-core (= 0.11.2)
99
+ decidim-debates (0.12.0.pre)
100
+ decidim-comments (= 0.12.0.pre)
101
+ decidim-core (= 0.12.0.pre)
102
102
  kaminari (~> 1.0)
103
103
  searchlight (~> 4.1)
104
- decidim-dev (0.11.2)
104
+ decidim-dev (0.12.0.pre)
105
105
  byebug (~> 10.0)
106
- capybara (~> 2.15)
106
+ capybara (~> 3.0)
107
107
  db-query-matchers (~> 0.9.0)
108
- decidim (= 0.11.2)
108
+ decidim (= 0.12.0.pre)
109
109
  erb_lint (~> 0.0.22)
110
110
  factory_bot_rails (~> 4.8)
111
111
  i18n-tasks (~> 0.9.18)
112
+ mdl (~> 0.4.0)
112
113
  nokogiri (~> 1.8, >= 1.8.2)
114
+ puma (~> 3.11)
113
115
  rails-controller-testing (~> 1.0)
114
116
  rspec-cells (~> 0.3.4)
115
117
  rspec-html-matchers (~> 0.9.1)
@@ -121,68 +123,70 @@ PATH
121
123
  simplecov (~> 0.13)
122
124
  webmock (~> 3.0)
123
125
  wisper-rspec (~> 1.0)
124
- decidim-generators (0.11.2)
125
- decidim-core (= 0.11.2)
126
- decidim-meetings (0.11.2)
126
+ decidim-generators (0.12.0.pre)
127
+ decidim-core (= 0.12.0.pre)
128
+ decidim-meetings (0.12.0.pre)
127
129
  cells-erb (~> 0.1.0)
128
- cells-rails (~> 0.0.8)
129
- decidim-core (= 0.11.2)
130
+ cells-rails (~> 0.0.9)
131
+ decidim-core (= 0.12.0.pre)
130
132
  httparty (~> 0.16.0)
131
133
  icalendar (~> 2.4)
132
134
  jquery-tmpl-rails (~> 1.1)
133
135
  kaminari (~> 1.0)
134
136
  searchlight (~> 4.1)
135
- decidim-pages (0.11.2)
136
- decidim-core (= 0.11.2)
137
- decidim-participatory_processes (0.11.2)
138
- decidim-core (= 0.11.2)
139
- decidim-proposals (0.11.2)
140
- decidim-comments (= 0.11.2)
141
- decidim-core (= 0.11.2)
137
+ decidim-pages (0.12.0.pre)
138
+ decidim-core (= 0.12.0.pre)
139
+ decidim-participatory_processes (0.12.0.pre)
140
+ decidim-core (= 0.12.0.pre)
141
+ decidim-proposals (0.12.0.pre)
142
+ cells-erb (~> 0.1.0)
143
+ cells-rails (~> 0.0.9)
144
+ decidim-comments (= 0.12.0.pre)
145
+ decidim-core (= 0.12.0.pre)
142
146
  kaminari (~> 1.0)
143
147
  ransack (~> 1.8)
144
148
  social-share-button (~> 1.0)
145
- decidim-sortitions (0.11.2)
146
- decidim-admin (= 0.11.2)
147
- decidim-comments (= 0.11.2)
148
- decidim-core (= 0.11.2)
149
- decidim-proposals (= 0.11.2)
149
+ decidim-sortitions (0.12.0.pre)
150
+ decidim-admin (= 0.12.0.pre)
151
+ decidim-comments (= 0.12.0.pre)
152
+ decidim-core (= 0.12.0.pre)
153
+ decidim-proposals (= 0.12.0.pre)
150
154
  social-share-button (~> 1.0)
151
- decidim-surveys (0.11.2)
152
- decidim-core (= 0.11.2)
153
- decidim-system (0.11.2)
155
+ decidim-surveys (0.12.0.pre)
156
+ decidim-core (= 0.12.0.pre)
157
+ decidim-system (0.12.0.pre)
154
158
  active_link_to (~> 1.0)
155
- decidim-core (= 0.11.2)
159
+ decidim-core (= 0.12.0.pre)
156
160
  devise (~> 4.2)
157
161
  devise-i18n (~> 1.2)
158
162
  devise_invitable (~> 1.7)
159
163
  jquery-rails (~> 4.3)
160
164
  sassc-rails (~> 1.3)
161
- decidim-verifications (0.11.2)
162
- decidim-core (= 0.11.2)
165
+ decidim-verifications (0.12.0.pre)
166
+ decidim-core (= 0.12.0.pre)
163
167
 
164
168
  GEM
165
169
  remote: https://rubygems.org/
166
170
  specs:
167
- actioncable (5.1.6)
168
- actionpack (= 5.1.6)
171
+ actioncable (5.2.0)
172
+ actionpack (= 5.2.0)
169
173
  nio4r (~> 2.0)
170
- websocket-driver (~> 0.6.1)
171
- actionmailer (5.1.6)
172
- actionpack (= 5.1.6)
173
- actionview (= 5.1.6)
174
- activejob (= 5.1.6)
174
+ websocket-driver (>= 0.6.1)
175
+ actionmailer (5.2.0)
176
+ actionpack (= 5.2.0)
177
+ actionview (= 5.2.0)
178
+ activejob (= 5.2.0)
175
179
  mail (~> 2.5, >= 2.5.4)
176
180
  rails-dom-testing (~> 2.0)
177
- actionpack (5.1.6)
178
- actionview (= 5.1.6)
179
- activesupport (= 5.1.6)
181
+ actionpack (5.2.0)
182
+ actionview (= 5.2.0)
183
+ activesupport (= 5.2.0)
180
184
  rack (~> 2.0)
181
185
  rack-test (>= 0.6.3)
182
186
  rails-dom-testing (~> 2.0)
183
187
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
184
- actionview (5.1.6)
185
- activesupport (= 5.1.6)
188
+ actionview (5.2.0)
189
+ activesupport (= 5.2.0)
186
190
  builder (~> 3.1)
187
191
  erubi (~> 1.4)
188
192
  rails-dom-testing (~> 2.0)
@@ -190,25 +194,29 @@ GEM
190
194
  active_link_to (1.0.5)
191
195
  actionpack
192
196
  addressable
193
- activejob (5.1.6)
194
- activesupport (= 5.1.6)
197
+ activejob (5.2.0)
198
+ activesupport (= 5.2.0)
195
199
  globalid (>= 0.3.6)
196
- activemodel (5.1.6)
197
- activesupport (= 5.1.6)
198
- activerecord (5.1.6)
199
- activemodel (= 5.1.6)
200
- activesupport (= 5.1.6)
201
- arel (~> 8.0)
202
- activesupport (5.1.6)
200
+ activemodel (5.2.0)
201
+ activesupport (= 5.2.0)
202
+ activerecord (5.2.0)
203
+ activemodel (= 5.2.0)
204
+ activesupport (= 5.2.0)
205
+ arel (>= 9.0)
206
+ activestorage (5.2.0)
207
+ actionpack (= 5.2.0)
208
+ activerecord (= 5.2.0)
209
+ marcel (~> 0.3.1)
210
+ activesupport (5.2.0)
203
211
  concurrent-ruby (~> 1.0, >= 1.0.2)
204
212
  i18n (>= 0.7, < 2)
205
213
  minitest (~> 5.1)
206
214
  tzinfo (~> 1.1)
207
215
  addressable (2.5.2)
208
216
  public_suffix (>= 2.0.2, < 4.0)
209
- arel (8.0.0)
217
+ arel (9.0.0)
210
218
  ast (2.4.0)
211
- autoprefixer-rails (8.6.2)
219
+ autoprefixer-rails (8.6.0)
212
220
  execjs
213
221
  axiom-types (0.1.1)
214
222
  descendants_tracker (~> 0.0.4)
@@ -230,14 +238,13 @@ GEM
230
238
  bindex (0.5.0)
231
239
  builder (3.2.3)
232
240
  byebug (10.0.0)
233
- cancancan (2.2.0)
234
- capybara (2.18.0)
241
+ capybara (3.2.1)
235
242
  addressable
236
243
  mini_mime (>= 0.1.3)
237
- nokogiri (>= 1.3.3)
238
- rack (>= 1.0.0)
239
- rack-test (>= 0.5.4)
240
- xpath (>= 2.0, < 4.0)
244
+ nokogiri (~> 1.8)
245
+ rack (>= 1.6.0)
246
+ rack-test (>= 0.6.3)
247
+ xpath (~> 3.1)
241
248
  carrierwave (1.2.2)
242
249
  activemodel (>= 4.0.0)
243
250
  activesupport (>= 4.0.0)
@@ -342,16 +349,15 @@ GEM
342
349
  graphiql-rails (1.4.10)
343
350
  railties
344
351
  sprockets-rails
345
- graphql (1.8.2)
352
+ graphql (1.8.1)
346
353
  hashdiff (0.3.7)
347
354
  hashie (3.5.7)
348
- high_voltage (3.0.0)
349
- highline (2.0.0)
355
+ highline (1.7.10)
350
356
  html_tokenizer (0.0.7)
351
357
  htmlentities (4.3.4)
352
358
  httparty (0.16.2)
353
359
  multi_xml (>= 0.5.2)
354
- i18n (1.0.0)
360
+ i18n (1.0.1)
355
361
  concurrent-ruby (~> 1.0)
356
362
  i18n-tasks (0.9.21)
357
363
  activesupport (>= 4.0.2)
@@ -387,6 +393,7 @@ GEM
387
393
  activerecord
388
394
  kaminari-core (= 1.1.1)
389
395
  kaminari-core (1.1.1)
396
+ kramdown (1.17.0)
390
397
  launchy (2.4.3)
391
398
  addressable (~> 2.3)
392
399
  letter_opener (1.6.0)
@@ -404,14 +411,24 @@ GEM
404
411
  nokogiri (>= 1.5.9)
405
412
  mail (2.7.0)
406
413
  mini_mime (>= 0.1.1)
414
+ marcel (0.3.2)
415
+ mimemagic (~> 0.3.2)
416
+ mdl (0.4.0)
417
+ kramdown (~> 1.12, >= 1.12.0)
418
+ mixlib-cli (~> 1.7, >= 1.7.0)
419
+ mixlib-config (~> 2.2, >= 2.2.1)
407
420
  method_source (0.9.0)
408
421
  mime-types (3.1)
409
422
  mime-types-data (~> 3.2015)
410
423
  mime-types-data (3.2016.0521)
424
+ mimemagic (0.3.2)
411
425
  mini_magick (4.8.0)
412
426
  mini_mime (1.0.0)
413
427
  mini_portile2 (2.3.0)
414
428
  minitest (5.11.3)
429
+ mixlib-cli (1.7.0)
430
+ mixlib-config (2.2.6)
431
+ tomlrb
415
432
  multi_json (1.13.1)
416
433
  multi_xml (0.6.0)
417
434
  multipart-post (2.0.0)
@@ -444,16 +461,20 @@ GEM
444
461
  omniauth-oauth (~> 1.1)
445
462
  rack
446
463
  orm_adapter (0.5.0)
447
- paper_trail (8.1.2)
448
- activerecord (>= 4.2, < 5.2)
464
+ paper_trail (9.1.1)
465
+ activerecord (>= 4.2, < 5.3)
449
466
  request_store (~> 1.1)
450
467
  parallel (1.12.1)
451
468
  parser (2.5.1.0)
452
469
  ast (~> 2.4.0)
453
470
  pg (1.0.0)
471
+ pg_search (2.1.2)
472
+ activerecord (>= 4.2)
473
+ activesupport (>= 4.2)
474
+ arel (>= 6)
454
475
  polyamorous (1.3.3)
455
476
  activerecord (>= 3.0)
456
- powerpack (0.1.2)
477
+ powerpack (0.1.1)
457
478
  premailer (1.11.1)
458
479
  addressable
459
480
  css_parser (>= 1.6.0)
@@ -463,21 +484,24 @@ GEM
463
484
  premailer (~> 1.7, >= 1.7.9)
464
485
  public_suffix (3.0.2)
465
486
  puma (3.11.3)
466
- rack (2.0.4)
487
+ rack (2.0.5)
488
+ rack-attack (5.2.0)
489
+ rack
467
490
  rack-cors (1.0.2)
468
491
  rack-test (1.0.0)
469
492
  rack (>= 1.0, < 3)
470
- rails (5.1.6)
471
- actioncable (= 5.1.6)
472
- actionmailer (= 5.1.6)
473
- actionpack (= 5.1.6)
474
- actionview (= 5.1.6)
475
- activejob (= 5.1.6)
476
- activemodel (= 5.1.6)
477
- activerecord (= 5.1.6)
478
- activesupport (= 5.1.6)
493
+ rails (5.2.0)
494
+ actioncable (= 5.2.0)
495
+ actionmailer (= 5.2.0)
496
+ actionpack (= 5.2.0)
497
+ actionview (= 5.2.0)
498
+ activejob (= 5.2.0)
499
+ activemodel (= 5.2.0)
500
+ activerecord (= 5.2.0)
501
+ activestorage (= 5.2.0)
502
+ activesupport (= 5.2.0)
479
503
  bundler (>= 1.3.0)
480
- railties (= 5.1.6)
504
+ railties (= 5.2.0)
481
505
  sprockets-rails (>= 2.0.0)
482
506
  rails-controller-testing (1.0.2)
483
507
  actionpack (~> 5.x, >= 5.0.1)
@@ -491,9 +515,9 @@ GEM
491
515
  rails-i18n (5.1.1)
492
516
  i18n (>= 0.7, < 2)
493
517
  railties (>= 5.0, < 6)
494
- railties (5.1.6)
495
- actionpack (= 5.1.6)
496
- activesupport (= 5.1.6)
518
+ railties (5.2.0)
519
+ actionpack (= 5.2.0)
520
+ activesupport (= 5.2.0)
497
521
  method_source
498
522
  rake (>= 0.8.7)
499
523
  thor (>= 0.18.1, < 2.0)
@@ -556,7 +580,7 @@ GEM
556
580
  rainbow (>= 2.2.2, < 4.0)
557
581
  ruby-progressbar (~> 1.7)
558
582
  unicode-display_width (~> 1.0, >= 1.0.1)
559
- rubocop-rspec (1.26.0)
583
+ rubocop-rspec (1.25.1)
560
584
  rubocop (>= 0.53.0)
561
585
  ruby-ole (1.2.12.1)
562
586
  ruby-progressbar (1.9.0)
@@ -612,6 +636,7 @@ GEM
612
636
  thread (0.2.2)
613
637
  thread_safe (0.3.6)
614
638
  tilt (2.0.8)
639
+ tomlrb (1.2.6)
615
640
  truncato (0.7.10)
616
641
  htmlentities (~> 4.3.1)
617
642
  nokogiri (~> 1.8.0, >= 1.7.0)
@@ -640,7 +665,7 @@ GEM
640
665
  addressable (>= 2.3.6)
641
666
  crack (>= 0.3.2)
642
667
  hashdiff
643
- websocket-driver (0.6.5)
668
+ websocket-driver (0.7.0)
644
669
  websocket-extensions (>= 0.1.0)
645
670
  websocket-extensions (0.1.3)
646
671
  wisper (2.0.0)
data/Rakefile CHANGED
@@ -1,32 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
- require_relative "../lib/decidim/gem_manager"
6
-
7
- RSpec::Core::RakeTask.new(:spec)
8
-
9
- task default: :spec
10
-
11
- desc "Installs all gems locally."
12
- task :install_all do
13
- Decidim::GemManager.run_all(
14
- "gem build %name && mv %name-%version.gem ..",
15
- include_root: false
16
- )
17
-
18
- Decidim::GemManager.new(File.expand_path("..", __dir__)).run(
19
- "gem build %name && gem install *.gem"
20
- )
21
- end
22
-
23
- desc "Uninstalls all gems locally."
24
- task :uninstall_all do
25
- Decidim::GemManager.run_all(
26
- "gem uninstall %name -v %version --executables --force"
27
- )
28
-
29
- Decidim::GemManager.new(File.expand_path("..", __dir__)).run(
30
- "rm decidim-*.gem"
31
- )
32
- end
3
+ require "decidim/dev/common_rake"
data/exe/decidim CHANGED
@@ -1,6 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ if File.exist?(File.expand_path("../../.git", __dir__))
5
+ ENV["RUBYOPT"] = ENV["RUBYOPT"].sub("-rsimplecov ", "")
6
+
7
+ gem "decidim-core"
8
+ end
9
+
4
10
  if ARGV[0] == "--component"
5
11
  ARGV.replace(["component", *ARGV[1..-1]])
6
12
 
@@ -59,7 +59,7 @@ module Decidim
59
59
 
60
60
  class_option :demo, type: :boolean,
61
61
  default: false,
62
- desc: "Generate a demo authorization handler"
62
+ desc: "Generate demo authorization handlers"
63
63
 
64
64
  def database_yml
65
65
  template "database.yml.erb", "config/database.yml", force: true
@@ -115,6 +115,24 @@ module Decidim
115
115
  Bundler.with_original_env { run "bundle install" }
116
116
  end
117
117
 
118
+ def tweak_bootsnap
119
+ gsub_file "config/boot.rb", %r{require 'bootsnap/setup'.*$}, <<~RUBY.rstrip
120
+ require "bootsnap"
121
+
122
+ env = ENV["RAILS_ENV"] || "development"
123
+
124
+ Bootsnap.setup(
125
+ cache_dir: File.expand_path(File.join("..", "tmp", "cache"), __dir__),
126
+ development_mode: env == "development",
127
+ load_path_cache: true,
128
+ autoload_paths_cache: true,
129
+ disable_trace: true,
130
+ compile_cache_iseq: false,
131
+ compile_cache_yaml: true
132
+ )
133
+ RUBY
134
+ end
135
+
118
136
  def add_ignore_uploads
119
137
  append_file ".gitignore", "\n# Ignore public uploads\npublic/uploads" unless options["skip_git"]
120
138
  end
@@ -127,7 +145,11 @@ module Decidim
127
145
  def authorization_handler
128
146
  copy_file "initializer.rb", "config/initializers/decidim.rb"
129
147
 
130
- copy_file "example_authorization_handler.rb", "app/services/example_authorization_handler.rb" if options[:demo]
148
+ if options[:demo]
149
+ copy_file "dummy_authorization_handler.rb", "app/services/dummy_authorization_handler.rb"
150
+ copy_file "another_dummy_authorization_handler.rb", "app/services/another_dummy_authorization_handler.rb"
151
+ copy_file "verifications_initializer.rb", "config/initializers/decidim_verifications.rb"
152
+ end
131
153
  end
132
154
 
133
155
  def install
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # An example implementation of an AuthorizationHandler to be used in tests.
4
+ class AnotherDummyAuthorizationHandler < Decidim::AuthorizationHandler
5
+ attribute :passport_number, String
6
+ attribute :postal_code, String
7
+
8
+ validates :passport_number, presence: true
9
+ validate :valid_passport_number
10
+
11
+ def metadata
12
+ super.merge(passport_number: passport_number, postal_code: postal_code)
13
+ end
14
+
15
+ def unique_id
16
+ passport_number
17
+ end
18
+
19
+ private
20
+
21
+ def valid_passport_number
22
+ errors.add(:passport_number, :invalid) unless passport_number.to_s.start_with?("A")
23
+ end
24
+ end
@@ -24,5 +24,8 @@ end
24
24
  # }
25
25
  # config.fog_directory = 'name_of_directory' # required
26
26
  # config.fog_public = false # optional, defaults to true
27
- # config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } # optional, defaults to {}
27
+ # config.fog_attributes = {
28
+ # 'Cache-Control' => "max-age=#{365.day.to_i}",
29
+ # 'X-Content-Type-Options' => "nosniff"
30
+ # }
28
31
  # end
@@ -1,4 +1,4 @@
1
- # PostgreSQL. Versions 9.1 and up are supported.
1
+ # PostgreSQL. Versions 9.5 and up are supported.
2
2
  #
3
3
  # Install the pg driver:
4
4
  # gem install pg
@@ -28,7 +28,7 @@ default: &default
28
28
 
29
29
  development:
30
30
  <<: *default
31
- database: <%%= ENV.fetch("DEV_DATABASE_NAME") { "<%= app_name %>_development" } %>
31
+ database: <%= app_name %>_development
32
32
 
33
33
  # The specified database role being used to connect to postgres.
34
34
  # To create additional roles in postgres see `$ createuser --help`.
@@ -62,7 +62,7 @@ development:
62
62
  # Do not set this db to the same as development or production.
63
63
  test:
64
64
  <<: *default
65
- database: <%%= ENV.fetch("TEST_DATABASE_NAME") { "<%= app_name %>_test" } %>
65
+ database: <%= app_name %>_test
66
66
 
67
67
  # As with config/secrets.yml, you never want to store sensitive information,
68
68
  # like your database password, in your source code. If your source code is
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ # An example authorization handler used so that users can be verified against
4
+ # third party systems.
5
+ #
6
+ # You should probably rename this class and file to match your needs.
7
+ #
8
+ # If you need a custom form to be rendered, you can create a file matching the
9
+ # class name named "_form".
10
+ #
11
+ # Example:
12
+ #
13
+ # A handler named Decidim::CensusHandler would look for its partial in:
14
+ # decidim/census/form
15
+ #
16
+ # When testing your authorization handler, add this line to be sure it has a
17
+ # valid public api:
18
+ #
19
+ # it_behaves_like "an authorization handler"
20
+ #
21
+ # See Decidim::AuthorizationHandler for more documentation.
22
+ class DummyAuthorizationHandler < Decidim::AuthorizationHandler
23
+ # Define the attributes you need for this authorization handler. Attributes
24
+ # are defined using Virtus.
25
+ #
26
+ attribute :document_number, String
27
+ attribute :postal_code, String
28
+ attribute :birthday, Date
29
+
30
+ # You can (and should) also define validations on each attribute:
31
+ #
32
+ validates :document_number, presence: true
33
+
34
+ # You can also define custom validations:
35
+ #
36
+ validate :valid_document_number
37
+
38
+ # The only method that needs to be implemented for an authorization handler.
39
+ # Here you can add your business logic to check if the authorization should
40
+ # be created or not, you should return a Boolean value.
41
+ #
42
+ # Note that if you set some validations and overwrite this method, then the
43
+ # validations will not run, so it's easier to remove this method and rewrite
44
+ # your logic using ActiveModel validations.
45
+ #
46
+ # def valid?
47
+ # raise NotImplementedError
48
+ # end
49
+
50
+ # If set, enforces the handler to validate the uniqueness of the field
51
+ #
52
+ def unique_id
53
+ document_number
54
+ end
55
+
56
+ # If you need to store any of the defined attributes in the authorization you
57
+ # can do it here.
58
+ #
59
+ # You must return a Hash that will be serialized to the authorization when
60
+ # it's created, and available though authorization.metadata
61
+ #
62
+ def metadata
63
+ super.merge(document_number: document_number, postal_code: postal_code)
64
+ end
65
+
66
+ private
67
+
68
+ def valid_document_number
69
+ errors.add(:document_number, :invalid) unless document_number.to_s.end_with?("X")
70
+ end
71
+
72
+ # If you need custom authorization logic, you can implement your own action
73
+ # authorizer. In this case, it allows to set a list of valid postal codes for
74
+ # an authorization.
75
+ class ActionAuthorizer < Decidim::Verifications::DefaultActionAuthorizer
76
+ attr_reader :allowed_postal_codes
77
+
78
+ # Overrides the parent class method, but it still uses it to keep the base behavior
79
+ def authorize
80
+ # Remove the additional setting from the options hash to avoid to be considered missing.
81
+ @allowed_postal_codes ||= options.delete("allowed_postal_codes")
82
+
83
+ status_code, data = *super
84
+
85
+ if allowed_postal_codes.present?
86
+ # Does not authorize users with different postal codes
87
+ if status_code == :ok && !allowed_postal_codes.member?(authorization.metadata["postal_code"])
88
+ status_code = :unauthorized
89
+ data[:fields] = { "postal_code" => authorization.metadata["postal_code"] }
90
+ end
91
+
92
+ # Adds an extra message for inform the user the additional restriction for this authorization
93
+ data[:extra_explanation] = { key: "extra_explanation",
94
+ params: { scope: "decidim.verifications.dummy_authorization",
95
+ count: allowed_postal_codes.count,
96
+ postal_codes: allowed_postal_codes.join(", ") } }
97
+ end
98
+
99
+ [status_code, data]
100
+ end
101
+
102
+ # Adds the list of allowed postal codes to the redirect URL, to allow forms to inform about it
103
+ def redirect_params
104
+ { "postal_codes" => allowed_postal_codes&.join("-") }
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ Decidim::Verifications.register_workflow(:dummy_authorization_handler) do |workflow|
4
+ workflow.form = "DummyAuthorizationHandler"
5
+ workflow.action_authorizer = "DummyAuthorizationHandler::ActionAuthorizer"
6
+ workflow.expires_in = 1.hour
7
+
8
+ workflow.options do |options|
9
+ options.attribute :postal_code, type: :string, default: "08001", required: false
10
+ end
11
+ end
12
+
13
+ Decidim::Verifications.register_workflow(:another_dummy_authorization_handler) do |workflow|
14
+ workflow.form = "AnotherDummyAuthorizationHandler"
15
+ workflow.expires_in = 1.hour
16
+
17
+ workflow.options do |options|
18
+ options.attribute :passport_number, type: :string, required: false
19
+ end
20
+ end
@@ -39,8 +39,6 @@ module Decidim
39
39
  template "app/controllers/decidim/component/admin/application_controller.rb.erb", "#{app_folder}/controllers/decidim/#{component_name}/admin/application_controller.rb"
40
40
  template "app/helpers/decidim/component/application_helper.rb.erb", "#{app_folder}/helpers/decidim/#{component_name}/application_helper.rb"
41
41
  template "app/models/decidim/component/application_record.rb.erb", "#{app_folder}/models/decidim/#{component_name}/application_record.rb"
42
- template "app/models/decidim/component/abilities/admin/admin_ability.rb.erb", "#{app_folder}/models/decidim/#{component_name}/abilities/admin/admin_ability.rb"
43
- template "app/models/decidim/component/abilities/current_user_ability.rb.erb", "#{app_folder}/models/decidim/#{component_name}/abilities/current_user_ability.rb"
44
42
 
45
43
  bin_folder = "#{component_folder}/bin"
46
44
  template "bin/rails.erb", "#{bin_folder}/rails"
@@ -18,12 +18,6 @@ module Decidim
18
18
  # root to: "<%= component_name %>#index"
19
19
  end
20
20
 
21
- initializer "decidim_<%= component_name %>.inject_abilities_to_user" do |_app|
22
- Decidim.configure do |config|
23
- config.admin_abilities += ["Decidim::<%= component_module_name %>::Abilities::Admin::AdminAbility"]
24
- end
25
- end
26
-
27
21
  def load_seed
28
22
  nil
29
23
  end
@@ -24,7 +24,7 @@ Decidim.register_component(:<%= component_name %>) do |component|
24
24
  # # Add your settings per step
25
25
  # end
26
26
 
27
- # component.register_resource do |resource|
27
+ # component.register_resource(:some_resource) do |resource|
28
28
  # # Register a optional resource that can be references from other resources.
29
29
  # resource.model_class_name = "Decidim::<%= component_module_name %>::SomeResource"
30
30
  # resource.template = "decidim/<%= component_name %>/some_resources/linked_some_resources"
@@ -18,12 +18,6 @@ module Decidim
18
18
  initializer "decidim_<%= component_name %>.assets" do |app|
19
19
  app.config.assets.precompile += %w[decidim_<%= component_name %>_manifest.js decidim_<%= component_name %>_manifest.css]
20
20
  end
21
-
22
- initializer "decidim_<%= component_name %>.inject_abilities_to_user" do |_app|
23
- Decidim.configure do |config|
24
- config.abilities += ["Decidim::<%= component_module_name %>::Abilities::CurrentUserAbility"]
25
- end
26
- end
27
21
  end
28
22
  end
29
23
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "decidim/dev"
4
4
 
5
- ENV["ENGINE_NAME"] = File.dirname(__dir__).split("/").last
5
+ ENV["ENGINE_ROOT"] = File.dirname(__dir__)
6
6
 
7
7
  <%- if options[:external] -%>
8
8
  Decidim::Dev.dummy_app_path = File.expand_path(File.join("spec", "decidim_dummy_app"))
@@ -103,19 +103,17 @@ module Decidim
103
103
  end
104
104
 
105
105
  def copy_migrations
106
- rails "railties:install:migrations"
106
+ rails "decidim:upgrade"
107
107
  recreate_db if options[:recreate_db]
108
108
  end
109
109
 
110
110
  def letter_opener_web
111
- letter_opener_route = cut <<~RUBY
112
- |
113
- | if Rails.env.development?
114
- | mount LetterOpenerWeb::Engine, at: "/letter_opener"
115
- | end
116
- RUBY
111
+ route <<~RUBY
112
+ if Rails.env.development?
113
+ mount LetterOpenerWeb::Engine, at: "/letter_opener"
114
+ end
117
115
 
118
- route letter_opener_route
116
+ RUBY
119
117
 
120
118
  inject_into_file "config/environments/development.rb",
121
119
  after: "config.action_mailer.raise_delivery_errors = false" do
@@ -4,7 +4,7 @@
4
4
  module Decidim
5
5
  module Generators
6
6
  def self.version
7
- "0.11.2"
7
+ "0.12.0.pre"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-generators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.2
4
+ version: 0.12.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2018-06-13 00:00:00.000000000 Z
13
+ date: 2018-06-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.11.2
21
+ version: 0.12.0.pre
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.11.2
28
+ version: 0.12.0.pre
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: bundler
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -58,16 +58,18 @@ files:
58
58
  - lib/decidim/generators/app_generator.rb
59
59
  - lib/decidim/generators/app_templates/Dockerfile.erb
60
60
  - lib/decidim/generators/app_templates/README.md.erb
61
+ - lib/decidim/generators/app_templates/another_dummy_authorization_handler.rb
61
62
  - lib/decidim/generators/app_templates/cable.yml.erb
62
63
  - lib/decidim/generators/app_templates/carrierwave.rb
63
64
  - lib/decidim/generators/app_templates/database.yml.erb
64
65
  - lib/decidim/generators/app_templates/decidim.scss.erb
65
66
  - lib/decidim/generators/app_templates/decidim_controller.rb.erb
66
67
  - lib/decidim/generators/app_templates/docker-compose.yml.erb
67
- - lib/decidim/generators/app_templates/example_authorization_handler.rb
68
+ - lib/decidim/generators/app_templates/dummy_authorization_handler.rb
68
69
  - lib/decidim/generators/app_templates/initializer.rb
69
70
  - lib/decidim/generators/app_templates/secrets.yml.erb
70
71
  - lib/decidim/generators/app_templates/social_share_button.rb
72
+ - lib/decidim/generators/app_templates/verifications_initializer.rb
71
73
  - lib/decidim/generators/component_generator.rb
72
74
  - lib/decidim/generators/component_templates/Gemfile.erb
73
75
  - lib/decidim/generators/component_templates/LICENSE-AGPLv3.txt
@@ -78,8 +80,6 @@ files:
78
80
  - lib/decidim/generators/component_templates/app/controllers/decidim/component/admin/application_controller.rb.erb
79
81
  - lib/decidim/generators/component_templates/app/controllers/decidim/component/application_controller.rb.erb
80
82
  - lib/decidim/generators/component_templates/app/helpers/decidim/component/application_helper.rb.erb
81
- - lib/decidim/generators/component_templates/app/models/decidim/component/abilities/admin/admin_ability.rb.erb
82
- - lib/decidim/generators/component_templates/app/models/decidim/component/abilities/current_user_ability.rb.erb
83
83
  - lib/decidim/generators/component_templates/app/models/decidim/component/application_record.rb.erb
84
84
  - lib/decidim/generators/component_templates/bin/rails.erb
85
85
  - lib/decidim/generators/component_templates/config/i18n-tasks.yml.erb
@@ -111,9 +111,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
111
  version: '2.3'
112
112
  required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - ">="
114
+ - - ">"
115
115
  - !ruby/object:Gem::Version
116
- version: '0'
116
+ version: 1.3.1
117
117
  requirements: []
118
118
  rubyforge_project:
119
119
  rubygems_version: 2.7.6
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # An example authorization handler used so that users can be verified against
4
- # third party systems.
5
- #
6
- # You should probably rename this class and file to match your needs.
7
- #
8
- # If you need a custom form to be rendered, you can create a file matching the
9
- # class name named "_form".
10
- #
11
- # Example:
12
- #
13
- # A handler named Decidim::CensusHandler would look for its partial in:
14
- # decidim/census/form
15
- #
16
- # When testing your authorization handler, add this line to be sure it has a
17
- # valid public api:
18
- #
19
- # it_behaves_like "an authorization handler"
20
- #
21
- # See Decidim::AuthorizationHandler for more documentation.
22
- class ExampleAuthorizationHandler < Decidim::AuthorizationHandler
23
- # Define the attributes you need for this authorization handler. Attributes
24
- # are defined using Virtus.
25
- #
26
- # Example:
27
- # attribute :document_number, String
28
- # attribute :birthday, Date
29
- #
30
- # You can (and should) also define validations on each attribute:
31
- #
32
- # validates :document_number, presence: true
33
- # validate :custom_method_to_validate_an_attribute
34
-
35
- # The only method that needs to be implemented for an authorization handler.
36
- # Here you can add your business logic to check if the authorization should
37
- # be created or not, you should return a Boolean value.
38
- #
39
- # Note that if you set some validations and overwrite this method, then the
40
- # validations will not run, so it's easier to remove this method and rewrite
41
- # your logic using ActiveModel validations.
42
- def valid?
43
- raise NotImplementedError
44
- end
45
-
46
- # If you need to store any of the defined attributes in the authorization you
47
- # can do it here.
48
- #
49
- # You must return a Hash that will be serialized to the authorization when
50
- # it's created, and available though authorization.metadata
51
- #
52
- # def metadata
53
- # {}
54
- # end
55
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module <%= component_module_name %>
5
- module Abilities
6
- module Admin
7
- # Defines the abilities related to <%= component_name %> for a logged in admin user.
8
- # Intended to be used with `cancancan`.
9
- class AdminAbility < Decidim::Abilities::AdminAbility
10
- def define_abilities
11
- # can :manage, SomeResource
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module <%= component_module_name %>
5
- module Abilities
6
- # Defines the abilities related to <%= component_name %> for a logged in user.
7
- # Intended to be used with `cancancan`.
8
- class CurrentUserAbility
9
- include CanCan::Ability
10
-
11
- attr_reader :user, :context
12
-
13
- def initialize(user, context)
14
- return unless user
15
-
16
- @user = user
17
- @context = context
18
-
19
- # can :manage, SomeResource if authorized?(:some_action)
20
- end
21
-
22
- private
23
-
24
- def authorized?(action)
25
- return unless component
26
-
27
- ActionAuthorizer.new(user, component, action).authorize.ok?
28
- end
29
-
30
- def current_settings
31
- context.fetch(:current_settings, nil)
32
- end
33
-
34
- def component_settings
35
- context.fetch(:component_settings, nil)
36
- end
37
-
38
- def component
39
- component = context.fetch(:current_component, nil)
40
- return nil unless component && component.manifest.name == :<%= component_name %>
41
-
42
- component
43
- end
44
- end
45
- end
46
- end
47
- end