scaffold_plus 1.4.2 → 1.4.3
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:
|
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
|