scaffold_plus 1.4.2 → 1.4.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fbd259fcac0298c908522ca9cc07e94e86d343c
|
4
|
+
data.tar.gz: b57179a63c9d9995d93eefd98c53690f020efceb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b94932cb072134121cca35beaaf469f5faa2d336a84ece04c0ae4da2d1fcfd17684dfd96cd1aa88f9d63b9d845fb8783a9cfab90a641919cf720d03850f89ca
|
7
|
+
data.tar.gz: 44af175f14fcdb1d051beb72e1b44c5a1e4d9b94976600e7bc68745a71d3d1b76fd002f75811bdbfd7cbe16a84e030eaf50680b6c4be4087129164f8db8e2f1d
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'rails/generators/active_record'
|
2
|
+
|
3
|
+
module ScaffoldPlus
|
4
|
+
module Generators
|
5
|
+
class CreatedByGenerator < ActiveRecord::Generators::Base
|
6
|
+
desc "Add created_by and updated_by to resource"
|
7
|
+
argument :name, type: :string,
|
8
|
+
desc: "The resource to be updated"
|
9
|
+
argument :user, type: :string, default: "user",
|
10
|
+
banner: "user model (default 'user')"
|
11
|
+
class_option :migration, type: :boolean, default: true,
|
12
|
+
desc: 'Create a migration for added attributes'
|
13
|
+
class_option :before, type: :boolean, default: false,
|
14
|
+
desc: 'Add a line before generated text in model'
|
15
|
+
class_option :after, type: :boolean, default: false,
|
16
|
+
desc: 'Add a line after generated text in model'
|
17
|
+
source_root File.expand_path('../templates', __FILE__)
|
18
|
+
|
19
|
+
def add_migration
|
20
|
+
return unless options.migration?
|
21
|
+
migration_template 'created_by_migration.rb', "db/migrate/#{migration_name}.rb"
|
22
|
+
end
|
23
|
+
|
24
|
+
def add_to_model
|
25
|
+
[ "created", "updated" ].each do |action|
|
26
|
+
lines = options.before? ? [ "" ] : []
|
27
|
+
lines << [
|
28
|
+
" def #{action}_by_name",
|
29
|
+
" #{user.camelize}.find(#{action}_by).try('name')",
|
30
|
+
" end"
|
31
|
+
""
|
32
|
+
]
|
33
|
+
lines << [ "" ] if options.after?
|
34
|
+
inject_into_class "app/models/#{name}.rb", class_name, lines.join("\n")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def add_to_controller
|
39
|
+
file = "app/controllers/#{table_name}_controller.rb"
|
40
|
+
inject_into_file file, after: /@#{name} = #{class_name}\.new\(#{name}_params\)$/ do
|
41
|
+
" @#{name}.created_by = current_#{user}.id if current_#{user}\n" +
|
42
|
+
" @#{name}.updated_by = current_#{user}.id if current_#{user}\n"
|
43
|
+
end
|
44
|
+
inject_into_file file, after: /def update$/ do
|
45
|
+
" @#{name}.updated_by = current_#{user}.id if current_#{user}\n"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
protected
|
50
|
+
|
51
|
+
def migration_name
|
52
|
+
"add_created_by_to_#{name}"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scaffold_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Volker Wiegand
|
@@ -84,6 +84,8 @@ files:
|
|
84
84
|
- lib/generators/scaffold_plus/autofocus/autofocus_generator.rb
|
85
85
|
- lib/generators/scaffold_plus/collection/collection_generator.rb
|
86
86
|
- lib/generators/scaffold_plus/collection/templates/view.html.erb
|
87
|
+
- lib/generators/scaffold_plus/created_by/created_by_generator.rb
|
88
|
+
- lib/generators/scaffold_plus/created_by/templates/created_by_migration.rb
|
87
89
|
- lib/generators/scaffold_plus/habtm/habtm_generator.rb
|
88
90
|
- lib/generators/scaffold_plus/habtm/templates/habtm_migration.rb
|
89
91
|
- lib/generators/scaffold_plus/has_many/has_many_generator.rb
|