common_core_js 0.3.3 → 0.3.8
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 +4 -4
- data/FUNDING.yml +4 -0
- data/README.md +12 -5
- data/app/helpers/{common_core_js/application_helper.rb → common_core_helper.rb} +16 -18
- data/app/helpers/common_core_js/controller_helper.rb +21 -0
- data/app/views/common/_common_edit_form.haml +4 -0
- data/app/views/common/_common_update.js.erb +2 -1
- data/lib/common_core_js/version.rb +1 -1
- data/lib/generators/common_core/scaffold_generator.rb +67 -22
- data/lib/generators/common_core/templates/_line.haml +5 -1
- data/lib/generators/common_core/templates/_list.haml +2 -2
- data/lib/generators/common_core/templates/all.haml +2 -1
- data/lib/generators/common_core/templates/base_controller.rb +3 -0
- data/lib/generators/common_core/templates/common_core.js +3 -3
- data/lib/generators/common_core/templates/common_core.scss +5 -0
- data/lib/generators/common_core/templates/controller.rb +19 -10
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69b48d2b11f7087d3a842266d1c08df9da022bc7191dbc71f286431ac02112f0
|
4
|
+
data.tar.gz: cdc77c41c2dff7e393837fb1954fc0bd599083c2ce305e98416c097866d6c4a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bceefae2fd396020f7225df73e9f74a4f6ea7d06b94250880c872e68c921b43ac1eb0b0f34805098fbab5ca877fe26d54dc152230d2990a9b58428ccf9f6e6ea
|
7
|
+
data.tar.gz: d40870c3538adc2a9d687d583e7b3821544eff497425bf00f712d6426945477d7ac0bc191072ef5befbe0f38b9b0eb1b28b81298719d6eec38a427c458299509
|
data/FUNDING.yml
ADDED
data/README.md
CHANGED
@@ -8,25 +8,32 @@ Yes, it's opinionated. Yes, it's metaprogramming. A lot of metaprogramming. Ruby
|
|
8
8
|
No, I would not use this to build an intricate app. Yes, it's a great tool for prototyping. Yes, I think prototyping is a lost art.
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
## THE SALES PITCH:
|
12
12
|
* Build plug-and-play scaffolding mixing HAML with jQuery-based Javascript
|
13
13
|
* Automatically Reads Your Models (make them before building your scaffolding!)
|
14
|
-
* Excellent for CRUD, lists with pagination, searching, sorting
|
14
|
+
* Excellent for CRUD, lists with pagination, searching, ~~sorting.~~
|
15
15
|
* Wonderful for prototyping.
|
16
16
|
* Plays nicely with Devise, Kaminari, Haml-Rails, Rspec.
|
17
|
-
* Create specs
|
17
|
+
* Create specs automatically along with the controllers.
|
18
18
|
* Nest your routes model-by-model for built-in poor man's authentication
|
19
19
|
* Throw the scaffolding away when your app is ready to graduate to its next phase.
|
20
20
|
|
21
|
+
## THE BLOG POST
|
21
22
|
|
22
|
-
|
23
|
+
It's really easy to get started by following along with this blog post that creates three simple tables (User, Event, and Format).
|
24
|
+
|
25
|
+
Feel free to build your own tables when you get to the sections for building the 'Event' scaffold:
|
26
|
+
|
27
|
+
https://blog.jasonfleetwoodboldt.com/common-core-js
|
28
|
+
|
29
|
+
## HOW EASY?
|
23
30
|
|
24
31
|
|
25
32
|
```
|
26
33
|
rails generate common_core:scaffold Thing
|
27
34
|
```
|
28
35
|
|
29
|
-
|
36
|
+
## TO INSTALL
|
30
37
|
|
31
38
|
- Add common_core_js to your Gemfile
|
32
39
|
|
@@ -1,5 +1,10 @@
|
|
1
|
-
module
|
2
|
-
|
1
|
+
module CommonCoreHelper
|
2
|
+
|
3
|
+
def timezonize(tz)
|
4
|
+
tz = tz.to_i
|
5
|
+
(tz >= 0 ? "+" : "-") + sprintf('%02d',tz.abs) + ":00"
|
6
|
+
end
|
7
|
+
|
3
8
|
|
4
9
|
def datetime_field_localized(form_object, field_name, value, label, timezone = nil )
|
5
10
|
res = form_object.label(label,
|
@@ -10,19 +15,20 @@ module CommonCoreJs
|
|
10
15
|
type: 'datetime-local',
|
11
16
|
value: date_to_current_timezone(value, timezone))
|
12
17
|
|
13
|
-
res <<
|
18
|
+
res << timezonize(timezone)
|
14
19
|
res
|
15
20
|
end
|
16
21
|
|
17
22
|
|
18
23
|
def date_field_localized(form_object, field_name, value, label, timezone = nil )
|
24
|
+
|
19
25
|
res = form_object.label(label,
|
20
26
|
field_name,
|
21
27
|
class: 'small form-text text-muted')
|
22
28
|
|
23
29
|
res << form_object.text_field(field_name, class: 'form-control',
|
24
30
|
type: 'date',
|
25
|
-
value:
|
31
|
+
value: value )
|
26
32
|
|
27
33
|
res
|
28
34
|
end
|
@@ -36,31 +42,24 @@ module CommonCoreJs
|
|
36
42
|
type: 'time',
|
37
43
|
value: date_to_current_timezone(value, timezone))
|
38
44
|
|
39
|
-
res <<
|
45
|
+
res << timezonize(tz)
|
40
46
|
res
|
41
47
|
end
|
42
48
|
|
43
49
|
def current_timezone
|
44
|
-
if
|
50
|
+
if controller.try(:current_timezone)
|
51
|
+
controller.current_timezone
|
52
|
+
elsif defined?(current_user)
|
45
53
|
if current_user.try(:timezone)
|
46
|
-
Time.now.in_time_zone(current_user.timezone).strftime("%z").to_i/100
|
54
|
+
Time.now.in_time_zone(current_user.timezone.to_i).strftime("%z").to_i/100
|
47
55
|
else
|
48
56
|
Time.now.strftime("%z").to_i/100
|
49
57
|
end
|
50
58
|
else
|
51
|
-
raise "no method current_user is available or it does not implement timezone; please implement/override the method current_timezone"
|
59
|
+
raise "no method current_user is available or it does not implement timezone; please implement/override the method current_timezone IN YOUR CONTROLLER"
|
52
60
|
end
|
53
61
|
end
|
54
62
|
|
55
|
-
def human_timezone(time_string, timezone)
|
56
|
-
time = time_string.in_time_zone(timezone)
|
57
|
-
|
58
|
-
if time.zone.match?(/^\w/)
|
59
|
-
time.zone
|
60
|
-
else
|
61
|
-
time.formatted_offset
|
62
|
-
end
|
63
|
-
end
|
64
63
|
|
65
64
|
def date_to_current_timezone(date, timezone = nil)
|
66
65
|
# if the timezone is nil, use the server date'
|
@@ -76,5 +75,4 @@ module CommonCoreJs
|
|
76
75
|
return nil
|
77
76
|
end
|
78
77
|
end
|
79
|
-
end
|
80
78
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module CommonCoreJs
|
2
|
+
module ControllerHelper
|
3
|
+
def modify_date_inputs_on_params(modified_params)
|
4
|
+
use_timezone = current_account.timezone || Time.now.strftime("%z")
|
5
|
+
|
6
|
+
modified_params = modified_params.tap do |params|
|
7
|
+
params.keys.each{|k|
|
8
|
+
if k.ends_with?("_at") || k.ends_with?("_date")
|
9
|
+
|
10
|
+
begin
|
11
|
+
params[k] = DateTime.strptime("#{params[k]} #{use_timezone}", '%Y-%m-%dT%H:%M %z')
|
12
|
+
rescue StandardError
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
}
|
17
|
+
end
|
18
|
+
modified_params
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<% if object.errors.any? %>
|
2
2
|
<% pass_through_locals ||= {} %>
|
3
|
-
$(".<%= singular %>-table tr[data-id=<%= object.id %>][data-edit='true']").html("<%= j render
|
3
|
+
$(".<%= singular %>-table tr[data-id=<%= object.id %>][data-edit='true']").html("<%= j render partial: 'edit', locals: {singular.to_sym => object, url: url, colspan: controller.default_colspan}.merge(pass_through_locals || {}) %>")
|
4
|
+
|
4
5
|
$(".flash-notices").html("<%= j render 'layouts/flash_notices' %>");
|
5
6
|
<% else %>
|
6
7
|
$(".<%= singular %>-table tr[data-id=<%= object.id %>]:not([data-edit='true'])").replaceWith("<%= j render partial: 'line', locals: {singular.to_sym => object } %>").fadeIn()
|
@@ -13,7 +13,7 @@ module CommonCore
|
|
13
13
|
end
|
14
14
|
|
15
15
|
".row
|
16
|
-
|
16
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{col.to_s})}\"}
|
17
17
|
= f.text_area :#{col.to_s}, class: 'form-control', cols: 40, rows: '#{lines}'
|
18
18
|
%label.form-text
|
19
19
|
#{col.to_s.humanize}\n"
|
@@ -23,7 +23,7 @@ module CommonCore
|
|
23
23
|
|
24
24
|
def field_output(col, type = nil, width)
|
25
25
|
".row
|
26
|
-
|
26
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{col.to_s})}\"}
|
27
27
|
= f.text_field :#{col.to_s}, value: @#{singular}.#{col.to_s}, size: #{width}, class: 'form-control', type: '#{type}'
|
28
28
|
%label.form-text
|
29
29
|
#{col.to_s.humanize}\n"
|
@@ -86,15 +86,19 @@ module CommonCore
|
|
86
86
|
auth_assoc = @auth.gsub("current_","")
|
87
87
|
auth_assoc_field = auth_assoc + "_id"
|
88
88
|
|
89
|
-
|
89
|
+
exclude_fields = [auth_assoc_field.to_sym, :id, :created_at, :updated_at, :encrypted_password, :reset_password_token,
|
90
|
+
:reset_password_sent_at, :remember_created_at, :confirmation_token, :confirmed_at,
|
91
|
+
:confirmation_sent_at, :unconfirmed_email]
|
90
92
|
begin
|
91
|
-
@columns = object.columns.map(&:name).map(&:to_sym).reject{|field| field
|
92
|
-
field==:created_at || field==:id || field == auth_assoc_field.to_sym }
|
93
|
+
@columns = object.columns.map(&:name).map(&:to_sym).reject{|field| exclude_fields.include?(field) }
|
93
94
|
rescue StandardError => e
|
94
95
|
puts "Ooops... it looks like is an object for #{class_name}. Please create the database table with fields first. "
|
95
96
|
exit
|
96
97
|
end
|
97
98
|
|
99
|
+
@no_delete = false
|
100
|
+
@no_create = false
|
101
|
+
|
98
102
|
flags = meta_args[1]
|
99
103
|
flags.each do |f|
|
100
104
|
case (f)
|
@@ -106,6 +110,10 @@ module CommonCore
|
|
106
110
|
@specs_only = true
|
107
111
|
when "--no-specs"
|
108
112
|
@no_specs = true
|
113
|
+
when "--no-delete"
|
114
|
+
@no_delete = true
|
115
|
+
when "--no-create"
|
116
|
+
@no_create = true
|
109
117
|
end
|
110
118
|
end
|
111
119
|
|
@@ -118,6 +126,11 @@ module CommonCore
|
|
118
126
|
@auth_identifier = @auth.gsub("current_", "")
|
119
127
|
end
|
120
128
|
|
129
|
+
|
130
|
+
if @auth && auth_identifier == @singular
|
131
|
+
@self_auth = true
|
132
|
+
end
|
133
|
+
|
121
134
|
if !@nest.nil?
|
122
135
|
@nested_args = @nest.split("/")
|
123
136
|
|
@@ -141,6 +154,9 @@ module CommonCore
|
|
141
154
|
|
142
155
|
unless @specs_only
|
143
156
|
template "controller.rb", File.join("app/controllers#{namespace_with_dash}", "#{plural}_controller.rb")
|
157
|
+
if @namespace && defined?(controller_descends_from) == nil
|
158
|
+
template "base_controller.rb", File.join("app/controllers#{namespace_with_dash}", "base_controller.rb")
|
159
|
+
end
|
144
160
|
end
|
145
161
|
|
146
162
|
unless @no_specs
|
@@ -270,7 +286,9 @@ module CommonCore
|
|
270
286
|
|
271
287
|
def all_objects_root
|
272
288
|
if @auth
|
273
|
-
if @
|
289
|
+
if @self_auth
|
290
|
+
@singular_class + ".where(id: #{@auth}.id)"
|
291
|
+
elsif @nested_args.none?
|
274
292
|
@auth + ".#{plural}"
|
275
293
|
else
|
276
294
|
"@" + @nested_args.last + ".#{plural}"
|
@@ -285,8 +303,12 @@ module CommonCore
|
|
285
303
|
end
|
286
304
|
|
287
305
|
def all_objects_variable
|
306
|
+
|
288
307
|
# needs the authenticated root user
|
289
|
-
"#{@auth}.#{ @nested_args.map{|a| "#{@nested_args_plural[a]}.find(@#{a})"}.join('.') + "." if @nested_args.any?}#{plural}"
|
308
|
+
# "#{@auth}.#{ @nested_args.map{|a| "#{@nested_args_plural[a]}.find(@#{a})"}.join('.') + "." if @nested_args.any?}#{plural}"
|
309
|
+
|
310
|
+
all_objects_root + ".page(params[:page])"
|
311
|
+
|
290
312
|
end
|
291
313
|
|
292
314
|
def auth_object
|
@@ -346,7 +368,7 @@ module CommonCore
|
|
346
368
|
|
347
369
|
|
348
370
|
def create_merge_params
|
349
|
-
if @auth
|
371
|
+
if @auth && ! @self_auth
|
350
372
|
"#{@auth_identifier}: #{@auth}"
|
351
373
|
else
|
352
374
|
""
|
@@ -394,32 +416,34 @@ module CommonCore
|
|
394
416
|
display_column = "display_name"
|
395
417
|
elsif assoc.active_record.column_names.include?("email")
|
396
418
|
display_column = "email"
|
419
|
+
else
|
420
|
+
puts "Can't find a display_column on {singular_class} object"
|
397
421
|
end
|
398
422
|
|
399
423
|
".row
|
400
|
-
|
424
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{assoc_name.to_s})}\"}
|
401
425
|
= f.collection_select(:#{col.to_s}, #{assoc_name.titleize}.all, :id, :#{display_column}, {prompt: true, selected: @#{singular}.#{col.to_s} }, class: 'form-control')
|
402
426
|
%label.small.form-text.text-muted
|
403
427
|
#{col.to_s.humanize}"
|
404
428
|
|
405
429
|
else
|
406
430
|
".row
|
407
|
-
|
431
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{col.to_s})}\"}
|
408
432
|
= f.text_field :#{col.to_s}, value: @#{singular}.#{col.to_s}, class: 'form-control', size: 4, type: 'number'
|
409
433
|
%label.form-text
|
410
434
|
#{col.to_s.humanize}\n"
|
411
435
|
end
|
412
436
|
when :string
|
413
|
-
limit ||=
|
414
|
-
if limit
|
437
|
+
limit ||= 256
|
438
|
+
if limit <= 256
|
415
439
|
field_output(col, nil, limit)
|
416
440
|
else
|
417
441
|
text_area_output(col, limit)
|
418
442
|
end
|
419
443
|
|
420
444
|
when :text
|
421
|
-
limit ||=
|
422
|
-
if limit
|
445
|
+
limit ||= 256
|
446
|
+
if limit <= 256
|
423
447
|
field_output(col, nil, limit)
|
424
448
|
else
|
425
449
|
text_area_output(col, limit)
|
@@ -427,16 +451,16 @@ module CommonCore
|
|
427
451
|
|
428
452
|
when :datetime
|
429
453
|
".row
|
430
|
-
|
431
|
-
= datetime_field_localized(f, :#{col.to_s}, @#{singular}.#{col.to_s}, '#{col.to_s.humanize}', #{@auth
|
454
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{col.to_s})}\"}
|
455
|
+
= datetime_field_localized(f, :#{col.to_s}, @#{singular}.#{col.to_s}, '#{col.to_s.humanize}', #{@auth ? @auth+'.timezone' : 'nil'})"
|
432
456
|
when :date
|
433
457
|
".row
|
434
|
-
|
435
|
-
= date_field_localized(f, :#{col.to_s}, @#{singular}.#{col.to_s}, '#{col.to_s.humanize}', #{@auth
|
458
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{col.to_s})}\"}
|
459
|
+
= date_field_localized(f, :#{col.to_s}, @#{singular}.#{col.to_s}, '#{col.to_s.humanize}', #{@auth ? @auth+'.timezone' : 'nil'})"
|
436
460
|
when :time
|
437
461
|
".row
|
438
|
-
|
439
|
-
= time_field_localized(f, :#{col.to_s}, @#{singular}.#{col.to_s}, '#{col.to_s.humanize}', #{@auth
|
462
|
+
%div{class: \"form-group col-md-4 \#{'alert-danger' if #{singular}.errors.details.keys.include?(:#{col.to_s})}\"}
|
463
|
+
= time_field_localized(f, :#{col.to_s}, @#{singular}.#{col.to_s}, '#{col.to_s.humanize}', #{@auth ? @auth+'.timezone' : 'nil'})"
|
440
464
|
|
441
465
|
end
|
442
466
|
|
@@ -499,7 +523,7 @@ module CommonCore
|
|
499
523
|
when :datetime
|
500
524
|
" %td
|
501
525
|
- unless #{singular}.#{col}.nil?
|
502
|
-
= #{singular}.#{col}.in_time_zone(current_timezone).strftime('%m/%d/%Y @ %l:%M %p ') +
|
526
|
+
= #{singular}.#{col}.in_time_zone(current_timezone).strftime('%m/%d/%Y @ %l:%M %p ') + timezonize(current_timezone)
|
503
527
|
- else
|
504
528
|
%span.alert-danger
|
505
529
|
MISSING
|
@@ -510,13 +534,15 @@ module CommonCore
|
|
510
534
|
= #{singular}.#{col}
|
511
535
|
- else
|
512
536
|
%span.alert-danger
|
537
|
+
MISSING
|
513
538
|
"
|
514
539
|
when :time
|
515
540
|
" %td
|
516
541
|
- unless #{singular}.#{col}.nil?
|
517
|
-
= #{singular}.#{col}.in_time_zone(current_timezone).strftime('%l:%M %p ') +
|
542
|
+
= #{singular}.#{col}.in_time_zone(current_timezone).strftime('%l:%M %p ') + timezonize(current_timezone)
|
518
543
|
- else
|
519
544
|
%span.alert-danger
|
545
|
+
MISSING
|
520
546
|
"
|
521
547
|
|
522
548
|
end
|
@@ -525,6 +551,25 @@ module CommonCore
|
|
525
551
|
end
|
526
552
|
|
527
553
|
|
554
|
+
def controller_descends_from
|
555
|
+
if defined?(@namespace.titlecase + "::BaseController")
|
556
|
+
@namespace.titlecase + "::BaseController"
|
557
|
+
else
|
558
|
+
"ApplicationController"
|
559
|
+
end
|
560
|
+
end
|
561
|
+
|
562
|
+
|
563
|
+
def destroy_action
|
564
|
+
return false if @self_auth
|
565
|
+
return !@no_delete
|
566
|
+
end
|
567
|
+
|
568
|
+
def create_action
|
569
|
+
return false if @self_auth
|
570
|
+
return !@no_create
|
571
|
+
end
|
572
|
+
|
528
573
|
|
529
574
|
private # thor does something fancy like sending the class all of its own methods during some strange run sequence
|
530
575
|
# does not like public methods
|
@@ -1,3 +1,7 @@
|
|
1
1
|
<%= all_line_fields %>
|
2
2
|
%td
|
3
|
-
|
3
|
+
<% if destroy_action %>
|
4
|
+
= link_to "Delete <i class='fa fa-1x fa-remove'></i>".html_safe, <%= path_helper_singular %>(<%= singular %>), remote: true, method: :delete, data: {confirm: 'Are you sure?'}, disable_with: "Loading...", class: "delete-<%= singular %>-button btn btn-primary "
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
= link_to "Edit <i class='fa fa-1x fa-list-alt'></i>".html_safe, edit_<%= path_helper_singular %>(<%= singular %>), remote: true , disable_with: "Loading...", class: "edit-<%= singular %>-button btn btn-primary "
|
@@ -1,9 +1,9 @@
|
|
1
1
|
|
2
|
+
<% if create_action %>
|
2
3
|
= link_to "New <%= singular.gsub('_',' ') %>", new_<%= path_helper_singular %>(<%= nested_arity_for_path %>), disable_with: "Loading...", remote: true, class: "new-<%= singular %>-button btn btn-primary pull-right"
|
3
|
-
|
4
4
|
.clearfix
|
5
5
|
.new-<%= singular %>-form{style: "display: none; position: relative;"}
|
6
|
-
|
6
|
+
<% end %>
|
7
7
|
|
8
8
|
|
9
9
|
%table.table.table-striped.<%= singular %>-table
|
@@ -1,4 +1,5 @@
|
|
1
1
|
.container-fluid
|
2
2
|
.row
|
3
3
|
.col-md-12
|
4
|
-
|
4
|
+
.<%= singular %>-list
|
5
|
+
= render partial: "<%= namespace_with_trailing_dash %><%= plural %>/list", locals: {<%= plural %>: <%= all_objects_root %>.order("created_at DESC").page(1)}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
|
2
2
|
require("jquery")
|
3
|
-
console.log("loading common core...")
|
3
|
+
// console.log("loading common core...")
|
4
4
|
|
5
|
-
require("jstimezonedetect/dist/jstz.min")
|
6
|
-
var JSTZ = require('jstimezonedetect');
|
5
|
+
// require("jstimezonedetect/dist/jstz.min")
|
6
|
+
// var JSTZ = require('jstimezonedetect');
|
7
7
|
|
8
8
|
|
9
9
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class <%= controller_class_name %> <
|
1
|
+
class <%= controller_class_name %> < <%= controller_descends_from %>
|
2
2
|
<% unless @auth_identifier.nil? %>
|
3
3
|
before_action :authenticate_<%= auth_identifier %>!
|
4
4
|
|
@@ -6,7 +6,8 @@ class <%= controller_class_name %> < ApplicationController
|
|
6
6
|
<% if any_nested? %> <% @nested_args.each do |arg| %>
|
7
7
|
before_action :load_<%= arg %><% end %> <% end %>
|
8
8
|
before_action :load_<%= singular_name %>, only: [:show, :edit, :update, :destroy]
|
9
|
-
|
9
|
+
helper :common_core
|
10
|
+
include CommonCoreJs::ControllerHelpers
|
10
11
|
|
11
12
|
<% if any_nested? %><% nest_chain = [] %> <% @nested_args.each do |arg| %>
|
12
13
|
<% if nest_chain.empty?
|
@@ -19,21 +20,29 @@ class <%= controller_class_name %> < ApplicationController
|
|
19
20
|
@<%= arg %> = <%= this_scope %>.find(params[:<%= arg %>_id])
|
20
21
|
end<% end %> <% end %>
|
21
22
|
|
23
|
+
|
24
|
+
<% if !@self_auth %>
|
22
25
|
def load_<%= singular_name %>
|
23
26
|
@<%= singular_name %> = <%= object_scope %>.find(params[:id])
|
24
27
|
end
|
25
|
-
|
28
|
+
<% else %>
|
29
|
+
def load_<%= singular_name %>
|
30
|
+
@<%= singular_name %> = <%= auth_object %>
|
31
|
+
end<% end %>
|
26
32
|
|
27
33
|
def index
|
34
|
+
<% if !@self_auth %>
|
28
35
|
@<%= plural_name %> = <%= object_scope %><% if model_has_strings? %>.where(<%=class_name %>.arel_table[:email].matches("%#{@__general_string}%"))<% end %>.page(params[:page])
|
29
|
-
|
36
|
+
<% else %>
|
37
|
+
@<%= plural_name %> = [<%= auth_object %>]
|
38
|
+
<% end %>
|
30
39
|
respond_to do |format|
|
31
40
|
format.js<% if @with_index %>
|
32
41
|
format.html {render 'all.haml'}<% end %>
|
33
42
|
end
|
34
43
|
end
|
35
44
|
|
36
|
-
def new
|
45
|
+
<% if create_action %> def new
|
37
46
|
@<%= singular_name %> = <%= class_name %>.new(<%= create_merge_params %>)
|
38
47
|
respond_to do |format|
|
39
48
|
format.js
|
@@ -41,7 +50,7 @@ class <%= controller_class_name %> < ApplicationController
|
|
41
50
|
end
|
42
51
|
|
43
52
|
def create
|
44
|
-
modified_params = modify_date_inputs_on_params(<%=singular_name %>_params.dup<% if !create_merge_params.empty? %>.merge!(<%= create_merge_params
|
53
|
+
modified_params = modify_date_inputs_on_params(<%=singular_name %>_params.dup<% if !create_merge_params.empty? %>.merge!(<%= create_merge_params %>)<% end %> <%= @auth ? ",#{@auth}" : "" %>)
|
45
54
|
@<%=singular_name %> = <%=class_name %>.create(modified_params)
|
46
55
|
respond_to do |format|
|
47
56
|
if @<%= singular_name %>.save
|
@@ -50,7 +59,7 @@ class <%= controller_class_name %> < ApplicationController
|
|
50
59
|
end
|
51
60
|
format.js
|
52
61
|
end
|
53
|
-
end
|
62
|
+
end<% end %>
|
54
63
|
|
55
64
|
def show
|
56
65
|
respond_to do |format|
|
@@ -66,14 +75,14 @@ class <%= controller_class_name %> < ApplicationController
|
|
66
75
|
|
67
76
|
def update
|
68
77
|
respond_to do |format|
|
69
|
-
if !@<%=singular_name %>.update(modify_date_inputs_on_params(<%= singular %>_params,
|
78
|
+
if !@<%=singular_name %>.update(modify_date_inputs_on_params(<%= singular %>_params, <%= @auth ? @auth : "nil" %> ))
|
70
79
|
flash[:alert] = "<%=singular_name.titlecase %> could not be saved"
|
71
80
|
end
|
72
81
|
format.js {}
|
73
82
|
end
|
74
83
|
end
|
75
84
|
|
76
|
-
|
85
|
+
<% if destroy_action %>def destroy
|
77
86
|
respond_to do |format|
|
78
87
|
begin
|
79
88
|
@<%=singular_name%>.destroy
|
@@ -82,7 +91,7 @@ class <%= controller_class_name %> < ApplicationController
|
|
82
91
|
end
|
83
92
|
format.js {}
|
84
93
|
end
|
85
|
-
end
|
94
|
+
end<% end %>
|
86
95
|
|
87
96
|
def <%=singular_name%>_params
|
88
97
|
params.require(:<%=singular_name%>).permit( <%= @columns %> )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: common_core_js
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Fleetwood-Boldt
|
@@ -131,6 +131,7 @@ files:
|
|
131
131
|
- ".generators"
|
132
132
|
- ".gitignore"
|
133
133
|
- ".rakeTasks"
|
134
|
+
- FUNDING.yml
|
134
135
|
- Gemfile
|
135
136
|
- Gemfile.lock
|
136
137
|
- LICENSE
|
@@ -142,7 +143,8 @@ files:
|
|
142
143
|
- app/assets/stylesheets/common_core_js/application.css
|
143
144
|
- app/assets/stylesheets/common_core_js/common_core.scss
|
144
145
|
- app/controllers/common_core_js/application_controller.rb
|
145
|
-
- app/helpers/
|
146
|
+
- app/helpers/common_core_helper.rb
|
147
|
+
- app/helpers/common_core_js/controller_helper.rb
|
146
148
|
- app/jobs/common_core_js/application_job.rb
|
147
149
|
- app/mailers/common_core_js/application_mailer.rb
|
148
150
|
- app/models/common_core_js/application_record.rb
|
@@ -176,6 +178,7 @@ files:
|
|
176
178
|
- lib/generators/common_core/templates/_list.haml
|
177
179
|
- lib/generators/common_core/templates/_new.haml
|
178
180
|
- lib/generators/common_core/templates/all.haml
|
181
|
+
- lib/generators/common_core/templates/base_controller.rb
|
179
182
|
- lib/generators/common_core/templates/common_core.js
|
180
183
|
- lib/generators/common_core/templates/common_core.scss
|
181
184
|
- lib/generators/common_core/templates/controller.rb
|